Screen Flickering random

image (2)
Issue Details : LVGL version 8.0

: Display size 800x480
: full refresh disabled
: double buffer used

static lv_disp_draw_buf_t disp_buf_1;

static PLACE_IN_SECTION_SDRAM lv_color_t buf1_1[800 68];*

static PLACE_IN_SECTION_SDRAM lv_color_t buf1_2[800 68];*

lv_disp_draw_buf_init(&disp_buf_1, buf1_1, buf1_2, 800 68);*

SDRAM 16MB used for this buffer Issue Senior Scenario : date/time, some other 3 parameters always refresh using example-> lv_label_set_text(date/time/some other parameters, buf);

  1. The issue arise duration (20-24hr) or it take more then 2 days (continuous testing the issue found some time it will occur in short time (30mins but in random found) 2. I tested the another application which is similar to this all drivers the issue is not arise in that application. 3. During this issue the top level draw image is draw in the bottom or mid in random place and it will looping in the static void lv_refr_area(const lv_area_t * area_p)

function. int32_t max_row = (uint32_t)draw_buf->size / w;-function. i took the log when the issue is arise then i found that the draw_buf->size/w which i calculate in negative value

which is typecaste into unsigned so it lead to 0 now the max_row become 0 so it will looping in the function. i attached the log details which i recivied during the issue.

Could you please give some suggestion for this issue @Gábor Kiss-Vámosi @lvgl@lvgl.io i have attached the log details (5 datas before the issue arise could you please analysis the issue why it become negative value why x1 is greater then x2 in that case) Note: The issue is arise in random period it take 2 days or 1 days.

X1- 677
X2- 75
Y1- 7
Y2- 241

int32_t row = uint32_t (-681)
which become 0