LVGL version
v9.5.0
Platform
Host information:
Linux 6.8.0-124-generic #124~22.04.1-Ubuntu
lv_conf.h file content:
// os
#define LV_USE_OS LV_OS_SDL2
// draw
#define LV_USE_DRAW_SDL 1
// sdl
#define LV_USE_SDL 1
#define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT
#define LV_SDL_BUF_COUNT 1
#define LV_SDL_ACCELERATED 1
#define LV_SDL_FULLSCREEN 0
#define LV_SDL_DIRECT_EXIT 1
#define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER
What happened?
When using LV_STDLIB_CLIB, error message appears:
munmap_chunk(): invalid pointer
Aborted (core dumped)
When using LV_STDLIB_BUILTIN, error message appears:
[Error] (1.846, +4) lv_tlsf_free: Asserted at expression: !block_is_free(block) && "block already marked as free" lv_tlsf.c:1163
lv_port_linux-master/lvgl/src/stdlib/builtin/lv_tlsf.c:1163: lv_tlsf_free: Assertion `0' failed.
Aborted (core dumped)
If LV_USE_DRAW_SDL is disabled separately, the above issues will not occur
How to reproduce?
lv_obj_t *obj1 = lv_obj_create(lv_screen_active());
lv_obj_set_style_clip_corner(obj1, true, LV_PART_MAIN);
lv_obj_t *obj2 = lv_obj_create(obj1);
LVGL version
v9.5.0
Platform
Host information:
Linux 6.8.0-124-generic #124~22.04.1-Ubuntu
lv_conf.h file content:
// os
#define LV_USE_OS LV_OS_SDL2
// draw
#define LV_USE_DRAW_SDL 1
// sdl
#define LV_USE_SDL 1
#define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT
#define LV_SDL_BUF_COUNT 1
#define LV_SDL_ACCELERATED 1
#define LV_SDL_FULLSCREEN 0
#define LV_SDL_DIRECT_EXIT 1
#define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER
What happened?
When using LV_STDLIB_CLIB, error message appears:
munmap_chunk(): invalid pointer
Aborted (core dumped)
When using LV_STDLIB_BUILTIN, error message appears:
[Error] (1.846, +4) lv_tlsf_free: Asserted at expression: !block_is_free(block) && "block already marked as free" lv_tlsf.c:1163
lv_port_linux-master/lvgl/src/stdlib/builtin/lv_tlsf.c:1163: lv_tlsf_free: Assertion `0' failed.
Aborted (core dumped)
If LV_USE_DRAW_SDL is disabled separately, the above issues will not occur
How to reproduce?
lv_obj_t *obj1 = lv_obj_create(lv_screen_active());
lv_obj_set_style_clip_corner(obj1, true, LV_PART_MAIN);
lv_obj_t *obj2 = lv_obj_create(obj1);