Skip to content

esp_lvgl_port: Memory leakage in call lvgl_port_deinit (BSP-743) #680

@TempoTian

Description

@TempoTian

Board

esp32s3_korvo_v2

Hardware Description

No special

IDE Name

esp-idf

Operating System

ubuntu

Description

New API use _Caps to create task but not use _Caps to delete task
Code at https://github.com/espressif/esp-bsp/blob/master/components/esp_lvgl_port/src/lvgl9/esp_lvgl_port.c#L255

need call API vTaskDeleteWithCaps( NULL ); instead.

Leakage log as:

====== Heap Trace: 8 records (500 capacity) ======
   352 bytes (@ 0x3fceeba0, Internal) allocated CPU 0 ccount 0x0e7e5a90 caller 0x4037a080:0x40386ec8:0x420a4556:0x420105e1:0x4200afb1:0x4200b46e
--- 0x4037a080: heap_caps_malloc at /home/tempo/esp/idf_v55/esp-idf/components/heap/heap_caps.c:83
--- 0x40386ec8: pvPortMalloc at /home/tempo/esp/idf_v55/esp-idf/components/freertos/heap_idf.c:58
--- 0x420a4556: xTaskCreatePinnedToCoreWithCaps at /home/tempo/esp/idf_v55/esp-idf/components/freertos/esp_additions/idf_additions.c:50
--- 0x420105e1: lvgl_port_init at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../managed_components/espressif__esp_lvgl_port/src/lvgl9/esp_lvgl_port.c:86
--- 0x4200afb1: init_lvgl_display_from_board at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:56
--- 0x4200b46e: create_video_render at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:221
  7168 bytes (@ 0x3fcbfce0, Internal) allocated CPU 0 ccount 0x0e7e6358 caller 0x4037a080:0x420a4564:0x420105e1:0x4200afb1:0x4200b46e:0x4200acc4
--- 0x4037a080: heap_caps_malloc at /home/tempo/esp/idf_v55/esp-idf/components/heap/heap_caps.c:83
--- 0x420a4564: xTaskCreatePinnedToCoreWithCaps at /home/tempo/esp/idf_v55/esp-idf/components/freertos/esp_additions/idf_additions.c:52
--- 0x420105e1: lvgl_port_init at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../managed_components/espressif__esp_lvgl_port/src/lvgl9/esp_lvgl_port.c:86
--- 0x4200afb1: init_lvgl_display_from_board at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:56
--- 0x4200b46e: create_video_render at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:221
--- 0x4200acc4: video_render_play_one_video at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render.c:418

0x4037a080:0x40386ec8:0x420a4556:0x420105e1:0x4200afb1:0x4200b46e
--- 0x4037a080: heap_caps_malloc at /home/tempo/esp/idf_v55/esp-idf/components/heap/heap_caps.c:83
--- 0x40386ec8: pvPortMalloc at /home/tempo/esp/idf_v55/esp-idf/components/freertos/heap_idf.c:58
--- 0x420a4556: xTaskCreatePinnedToCoreWithCaps at /home/tempo/esp/idf_v55/esp-idf/components/freertos/esp_additions/idf_additions.c:50
--- 0x420105e1: lvgl_port_init at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../managed_components/espressif__esp_lvgl_port/src/lvgl9/esp_lvgl_port.c:86
--- 0x4200afb1: init_lvgl_display_from_board at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:56
--- 0x4200b46e: create_video_render at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:221
  7168 bytes (@ 0x3fcc1a48, Internal) allocated CPU 0 ccount 0xa0b8db64 caller 0x4037a080:0x420a4564:0x420105e1:0x4200afb1:0x4200b46e:0x4200ae21
--- 0x4037a080: heap_caps_malloc at /home/tempo/esp/idf_v55/esp-idf/components/heap/heap_caps.c:83
--- 0x420a4564: xTaskCreatePinnedToCoreWithCaps at /home/tempo/esp/idf_v55/esp-idf/components/freertos/esp_additions/idf_additions.c:52
--- 0x420105e1: lvgl_port_init at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../managed_components/espressif__esp_lvgl_port/src/lvgl9/esp_lvgl_port.c:86
--- 0x4200afb1: init_lvgl_display_from_board at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:56
--- 0x4200b46e: create_video_render at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:221
--- 0x4200ae21: video_render_play_dual_video_with_progress at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render.c:503
   352 bytes (@ 0x3fcc364c, Internal) allocated CPU 0 ccount 0x388acaf0 caller 0x4037a080:0x40386ec8:0x420a4556:0x420105e1:0x4200afb1:0x4200b46e
--- 0x4037a080: heap_caps_malloc at /home/tempo/esp/idf_v55/esp-idf/components/heap/heap_caps.c:83
--- 0x40386ec8: pvPortMalloc at /home/tempo/esp/idf_v55/esp-idf/components/freertos/heap_idf.c:58
--- 0x420a4556: xTaskCreatePinnedToCoreWithCaps at /home/tempo/esp/idf_v55/esp-idf/components/freertos/esp_additions/idf_additions.c:50
--- 0x420105e1: lvgl_port_init at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../managed_components/espressif__esp_lvgl_port/src/lvgl9/esp_lvgl_port.c:86
--- 0x4200afb1: init_lvgl_display_from_board at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:56
--- 0x4200b46e: create_video_render at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:221
  7168 bytes (@ 0x3fcc37b0, Internal) allocated CPU 0 ccount 0x388ad598 caller 0x4037a080:0x420a4564:0x420105e1:0x4200afb1:0x4200b46e:0x4200ad31
--- 0x4037a080: heap_caps_malloc at /home/tempo/esp/idf_v55/esp-idf/components/heap/heap_caps.c:83
--- 0x420a4564: xTaskCreatePinnedToCoreWithCaps at /home/tempo/esp/idf_v55/esp-idf/components/freertos/esp_additions/idf_additions.c:52
--- 0x420105e1: lvgl_port_init at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../managed_components/espressif__esp_lvgl_port/src/lvgl9/esp_lvgl_port.c:86
--- 0x4200afb1: init_lvgl_display_from_board at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:56
--- 0x4200b46e: create_video_render at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render_sys.c:221
--- 0x4200ad31: video_render_play_dual_video at /home/tempo/ttt/latest_gmf/esp-gmf/packages/esp_video_render/examples/video_render/build/../main/video_render.c:459
====== Heap Trace Summary ======
Mode: Heap Trace Leaks
23080 bytes 'leaked' in trace (8 allocations)
records: 8 (500 capacity, 183 high water mark)
total allocations: 17882
total frees: 21932
================================

Sketch

NA

Other Steps to Reproduce

No response

I have checked existing issues, README.md and ESP32 Forum

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions