whitecatboard / Lua-RTOS-ESP32

Lua RTOS for ESP32
Other
1.2k stars 221 forks source link

CORRUPT HEAP: multi_heap.c:165 #141

Closed lu1210 closed 6 years ago

lu1210 commented 6 years ago

Dear RTOS-LUA team,

what are the possible reason's for CORRUPT HEAP: multi_heap.c:165 error message?

Are there any tools available for the backtraces Available heapsize (87 KByte) is enough (I think so?)

The stacksize see below

12:07:49 ID-------+-Name----+-C-+-----Stack-----+--- 12:07:49 1073481296 lua_main 0 run 8480-20480 41% running 12:07:49 1073549256 Audit 1 run 4044-16384 25% running 12:07:49 1073734068 Recovery 1 run 5340-16384 33% running 12:07:49 1073603684 hCTRL 1 run 3524-16384 22% running 12:07:49 1073508652 Worker 1 run 9120-16384 56% running

11:58:23 trylock called by recov-x.lua:96 87.90625 11:58:23 unlock called by recov-x.lua:97 CORRUPT HEAP: multi_heap.c:165 detected at 0x3ffee3d8 abort() was called at PC 0x4008f5f7 on core 1

Backtrace: 0x4008fd6b:0x3ffee220 0x4008fec3:0x3ffee240 0x4008f5f7:0x3ffee260 0x4008f894:0x3ffee280 0x4008f9f1:0x3ffee2a0 0x400826d5:0x3ffee2c0 0x40082ac5:0x3ffee2e0 0x4000bec7:0x3ffee300 0x400d51df:0x3ffee320 0x4016d216:0x3ffee380 0x400e5c89:0x3ffee3a0 0x400e5d11:0x3ffee410 0x400f677d:0x3ffee430 0x400eee79:0x3ffee460 0x400f69d9:0x3ffee4b0 0x400f69f9:0x3ffee4d0 0x400f6db9:0x3ffee4f0 0x400f63ad:0x3ffee510 0x400f6b82:0x3ffee590 0x400f7c25:0x3ffee5c0 0x400e5395:0x3ffee5f0 0x400d5387:0x3ffee610

Rebooting... ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0018,len:4 load:0x3fff001c,len:3532 load:0x40078000,len:0 load:0x40078000,len:11716 entry 0x40078d34 Booting Lua RTOS...

/\ /\

/ _____/ \

/_____\

W H I T E C A T

jolivepetrus commented 6 years ago

Hi @lu1210,

Can you provide more information about your lua script?

jolivepetrus commented 6 years ago

@lu1210,

I attach the scripts I'm using to get more info about the backtraces. Put this files into your toolchain folder under the bin folder (rename to sh extension before and assign execution permission to it), and then from the Lua RTOS main folder execute:

backtrace.sh 0x4008fd6b:0x3ffee220 0x4008fec3:0x3ffee240 0x4008f5f7:0x3ffee260 0x4008f894:0x3ffee280 0x4008f9f1:0x3ffee2a0 0x400826d5:0x3ffee2c0 0x40082ac5:0x3ffee2e0 0x4000bec7:0x3ffee300 0x400d51df:0x3ffee320 0x4016d216:0x3ffee380 0x400e5c89:0x3ffee3a0 0x400e5d11:0x3ffee410 0x400f677d:0x3ffee430 0x400eee79:0x3ffee460 0x400f69d9:0x3ffee4b0 0x400f69f9:0x3ffee4d0 0x400f6db9:0x3ffee4f0 0x400f63ad:0x3ffee510 0x400f6b82:0x3ffee590 0x400f7c25:0x3ffee5c0 0x400e5395:0x3ffee5f0 0x400d5387:0x3ffee610

getline.txt backtrace.txt

lu1210 commented 6 years ago

Hi, Patch 97bf247 solves this behavior also.

Thank You very much for the fast response.

Ps.: thread.start() was the reason for the exception