Hi,
For most part, my code appears to be running smoothly, but every once in a while, especially after screen changes, or end of spinner use, and sometimes while the screen is just displaying some data like the current time, I will get crashes.
From the logs I cannot pinpoint the cause, but appears to be related with LVGLs low level memory block freeing routines.
I’m Using an ESP32-S3, with 8MB Flash and 2 MB PSRAM. (Devkit)
I have an iliI9488 display driver based on the ESP-IDF ESP-LCD drivers.
I’m driving the display using i8080 driver, and 8 Bit Parallel.
The display is really crisp and very responsive.
I’m using LVGL 8.1 as a managed ESP-IDF component, and this is super cool.
I’m attaching the logs below from two separate occasions:
Occasion 1:
Heap summary for capabilities 0x00001000:
At 0x3de00000 len 2097151 free 2035755 allocated 58980 min_free 2032355
largest_free_block 2031616 alloc_blocks 49 free_blocks 2 total_blocks 51
At 0x3fcaace8 len 217880 free 88128 allocated 127336 min_free 78084
largest_free_block 75776 alloc_blocks 29 free_blocks 3 total_blocks 32
At 0x3Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x420daef1 PS : 0x00060b30 A0 : 0x8203d6e8 A1 : 0x3fcb4f60
0x420daef1: remove_free_block at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:592 (discriminator 2)
A2 : 0x3fc9f038 A3 : 0x3fca1644 A4 : 0x00000003 A5 : 0x00000000
A6 : 0x3fca005c A7 : 0x00000000 A8 : 0x001f001d A9 : 0x3fcb4f40
A10 : 0x00000000 A11 : 0x001b0019 A12 : 0x3fcb4f84 A13 : 0x00000168
A14 : 0x3c1351b0 A15 : 0x00000000 SAR : 0x0000001e EXCCAUSE: 0x0000001d
EXCVADDR: 0x001b0025 LBEG : 0x40056f5c LEND : 0x40056f72 LCOUNT : 0xffffffff
Backtrace:0x420daeee:0x3fcb4f600x4203d6e5:0x3fcb4f80 0x4203d831:0x3fcb4fb0 0x4203b35e:0x3fcb4fd0 0x4202b26c:0x3fcb5010 0x4202bb95:0x3fcb5070 0x4204a37a:0x3fcb5090 0x4203e3b9:0x3fcb51f0 0x4204151b:0x3fcb52c0 0x420d98b5:0x3fcb5300 0x42020343:0x3fcb5320 0x420203ee:0x3fcb5340 0x42027d89:0x3fcb5380 0x42027e1a:0x3fcb53d0 0x42027e59:0x3fcb5420 0x42028437:0x3fcb5440 0x42028617:0x3fcb54b0 0x42028702:0x3fcb54e0 0x42028780:0x3fcb5500 0x4203d0cd:0x3fcb5530 0x4203d17e:0x3fcb5550 0x42008a72:0x3fcb5570 0x40382a5d:0x3fcb5590
0x420daeee: remove_free_block at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:591 (discriminator 2)
0x4203d6e5: block_locate_free at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:776 (discriminator 2)
0x4203d831: lv_tlsf_malloc at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:1102
0x4203b35e: lv_mem_alloc at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_mem.c:132
0x4202b26c: circ_calc_aa4 at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_mask.c:1270
0x4202bb95: lv_draw_mask_radius_init at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_mask.c:524
0x4204a37a: lv_draw_arc at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_arc.c:111
0x4203e3b9: lv_arc_draw at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/widgets/lv_arc.c:574
0x4204151b: lv_arc_event at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/widgets/lv_arc.c:542
0x420d98b5: lv_obj_event_base at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_event.c:97
0x42020343: event_send_core at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_event.c:415
0x420203ee: lv_event_send at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_event.c:74
0x42027d89: lv_refr_obj at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:708
0x42027e1a: lv_refr_obj at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:745
0x42027e59: lv_refr_obj_and_children at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:643
0x42028437: lv_refr_area_part at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:578
0x42028617: lv_refr_area at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:484 (discriminator 2)
0x42028702: lv_refr_areas at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:395
0x42028780: _lv_disp_refr_timer at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:216
0x4203d0cd: lv_timer_exec at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_timer.c:313 (discriminator 2)
0x4203d17e: lv_timer_handler at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_timer.c:109
0x42008a72: lv_task_handler at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/lv_api_map.h:37
(inlined by) guiTask at C:\ESP32\Projects\loadassist-s3\build/../main/main.c:381
0x40382a5d: vPortTaskWrapper at C:/esp/esp-idf/components/freertos/port/xtensa/port.c:131
Occasion 2:
I (1116844) loadassist_gui: Battery MV from Queue = 13900, Now branch and update icon...
W (1116854) Loadassist Wifi: WIFI rssi:-23
I (1116854) loadassist_gui: Scale Battery Icon Set for corresponding mVolts: 13900
I (1116864) loadassist_gui: SetBattIconTask High Water Mark --- 2048
I (1116874) loadassist_gui: WifiStatus Queue = -23, Now branch and update icon...
I (1116884) loadassist_gui: WIFI SIGNAL Excellent -23 dBm
I (1116884) loadassist_gui: SetWifiIconTask High Water Mark --- 2036
I (1126844) loadassist_adc: Raw: 1527 Voltage: 1270mV
I (1126844) loadassist_adc: Converted Voltage: 13868mV
I (1126844) loadassist_gui: Battery MV from Queue = 13868, Now branch and update icon...
W (1126854) Loadassist Wifi: WIFI rssi:-24
I (1126854) loadassist_gui: Scale Battery Icon Set for corresponding mVolts: 13868
I (1126864) loadassist_gui: SetBattIconTask High Water Mark --- 2048
I (1126874) loadassist_gui: WifiStatus Queue = -24, Now branch and update icon...
I (1126884) loadassist_gui: WIFI SIGNAL Excellent -24 dBm
I (1126884) loadassist_gui: SetWifiIconTask High Water Mark --- 2036
I (1136844) loadassist_adc: Raw: 1558 Voltage: 1296mV
I (1136844) loadassist_adc: Converted Voltage: 14152mV
I (1136844) loadassist_gui: Battery MV from Queue = 14152, Now branch and update icon...
W (1136854) Loadassist Wifi: WIFI rssi:-25
I (1136854) loadassist_gui: Scale Battery Icon Set for corresponding mVolts: 14152
I (1136864) loadassist_gui: SetBattIconTask High Water Mark --- 2048
I (1136864) loadassist_gui: WifiStatus Queue = -25, Now branch and update icon...
I (1136884) loadassist_gui: WIFI SIGNAL Excellent -25 dBm
I (1136884) loadassist_gui: SetWifiIconTask High Water Mark --- 2036
I (1146844) loadassist_adc: Raw: 1570 Voltage: 1307mV
I (1146844) loadassist_adc: Converted Voltage: 14272mV
I (1146844) loadassist_gui: Battery MV from Queue = 14272, Now branch and update icon...
W (1146854) Loadassist Wifi: WIFI rssi:-22
I (1146854) loadassist_gui: Scale Battery Icon Set for corresponding mVolts: 14272
I (1146864) loadassist_gui: SetBattIconTask High Water Mark --- 2048
I (1146874) loadassist_gui: WifiStatus Queue = -22, Now branch and update icon...
I (1146884) loadassist_gui: WIFI SIGNAL Excellent -22 dBm
I (1146884) loadassist_gui: SetWifiIconTask High Water Mark --- 2036
Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x420daef1 PS : 0x00060e30 A0 : 0x8203d6e8 A1 : 0x3fcb4f20
0x420daef1: remove_free_block at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:592 (discriminator 2)
A2 : 0x3fc9f038 A3 : 0x3fca19e4 A4 : 0x00000000 A5 : 0x00000013
A6 : 0x00000170 A7 : 0x3fca19ec A8 : 0x3fc9f038 A9 : 0x00000000
A10 : 0x00000001 A11 : 0x0082a4ee A12 : 0x80382d0d A13 : 0x3fcf6210
A14 : 0x00060023 A15 : 0x00000003 SAR : 0x0000000f EXCCAUSE: 0x0000001d
EXCVADDR: 0x0082a4fa LBEG : 0x40056f5c LEND : 0x40056f72 LCOUNT : 0xffffffff
Backtrace:0x420daeee:0x3fcb4f200x4203d6e5:0x3fcb4f40 0x4203d831:0x3fcb4f70 0x4203b35e:0x3fcb4f90 0x4202b26c:0x3fcb4fd0 0x4202bb95:0x3fcb5030 0x4202be81:0x3fcb5050 0x4202c14e:0x3fcb50a0 0x4202e189:0x3fcb5160 0x420225db:0x3fcb5180 0x4202301a:0x3fcb5230 0x420d98b5:0x3fcb5260 0x42020343:0x3fcb5280 0x420203ee:0x3fcb52a0 0x42027d89:0x3fcb52e0 0x42027e1a:0x3fcb5330 0x42027e1a:0x3fcb5380 0x42027e1a:0x3fcb53d0 0x42027e59:0x3fcb5420 0x4202842a:0x3fcb5440 0x42028617:0x3fcb54b0 0x42028702:0x3fcb54e0 0x42028780:0x3fcb5500 0x4203d0cd:0x3fcb5530 0x4203d17e:0x3fcb5550 0x42008a72:0x3fcb5570 0x40382a5d:0x3fcb5590
0x420daeee: remove_free_block at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:591 (discriminator 2)
0x4203d6e5: block_locate_free at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:776 (discriminator 2)
0x4203d831: lv_tlsf_malloc at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_tlsf.c:1102
0x4203b35e: lv_mem_alloc at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_mem.c:132
0x4202b26c: circ_calc_aa4 at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_mask.c:1270
0x4202bb95: lv_draw_mask_radius_init at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_mask.c:524
0x4202be81: shadow_draw_corner_buf at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_rect.c:894
0x4202c14e: draw_shadow at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_rect.c:501
0x4202e189: lv_draw_rect at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/draw/lv_draw_rect.c:105
0x420225db: lv_obj_draw at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_obj.c:540
0x4202301a: lv_obj_event at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_obj.c:843
0x420d98b5: lv_obj_event_base at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_event.c:97
0x42020343: event_send_core at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_event.c:415
0x420203ee: lv_event_send at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_event.c:74
0x42027d89: lv_refr_obj at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:708
0x42027e1a: lv_refr_obj at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:745
0x42027e1a: lv_refr_obj at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:745
0x42027e1a: lv_refr_obj at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:745
0x42027e59: lv_refr_obj_and_children at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:643
0x4202842a: lv_refr_area_part at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:575
0x42028617: lv_refr_area at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:484 (discriminator 2)
0x42028702: lv_refr_areas at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:395
0x42028780: _lv_disp_refr_timer at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/core/lv_refr.c:216
0x4203d0cd: lv_timer_exec at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_timer.c:313 (discriminator 2)
0x4203d17e: lv_timer_handler at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/misc/lv_timer.c:109
0x42008a72: lv_task_handler at C:\ESP32\Projects\loadassist-s3\build/../managed_components/lvgl__lvgl/src/lv_api_map.h:37
(inlined by) guiTask at C:\ESP32\Projects\loadassist-s3\build/../main/main.c:381
0x40382a5d: vPortTaskWrapper at C:/esp/esp-idf/components/freertos/port/xtensa/port.c:131
If you need some code to help with getting to the bottom of this, please let me know.
Thx