Hard Fault Error when executing the function lv_timer_handler

My LVGL Project is stuck in hard fault when the function lv_timer_handler is executed

What MCU/Processor/Board and compiler are you using?

STM32F429I Discovery Board

What do you want to achieve?

Want to get started with LVGL (with IAR), and this was the first project developing using LVGL (simple text display on LCD using LVGL)

What have you tried so far?

I am using the IAR version Embedded Workbench 8.40.2 and with it, this project is not working, but when I created the same project with STM32CubeIDE it is working and I am now lost what I have done wrong, I compared both projects the STM32CubeIDE one and the IAR one, all files are same except the startup files.
So the question is there some compiler-related setting also, that I must enable or change for IAR?
I am using the below-mentioned function only for displaying one example.

On this forum, I searched for the same topic and found some links where it was advised to use static disp_drv as static but in my project, they are already static static lv_disp_drv_t disp_drv

Code to reproduce

The following line lv_timer_handler is causing the crash.

  while (1)

    /* USER CODE BEGIN 3 */

I know the code shared and information provided might not be much to help me, but still, if someone can give me some hints/pointers to check based on the information and screenshot provided it would be really helpful.
I am also uploaded my project which is not working on Google Drive and sharing the link here.
Download Not Working IAR Project

Screenshot and/or video

Check memory configs in lv_conf.h file (LV_MEM_CUSTOM) i found if configs LV_MEM_CUSTOM=1 and use malloc() sometime it make memory fault … i found in ESP32 but not sure STM32 is same

Thank you for your response, in my project LV_MEM_CUSTOM is set to 0, which means the project is using the function lv_mem_alloc() and lv_mem_free()

I am comparing both projects STM32CubeIDE and one from IAR to see what went wrong and will update here (I have only one board so checking both parallel is difficult but will manage somehow)
Another point is with IAR I received a lot of warnings (150 in total), some of them are given below, maybe IAR report more warnings then GCC compiler, and all these warning may not have much impact but still warnings and warnings.

Warning[Pa089]: enumerated type mixed with another enumerated type 
Warning[Pe550]: variable "y1_flush" was set but never used 
Warning[Pe236]: controlling expression is constant 
Warning[Pe546]: transfer of control bypasses initialization of: 

Can anyone suggest something here?
In function lv_obj_redraw, the second call to the lv_event_send function is causing this hard fault.
Any suggestions please?

lv_event_send(obj, LV_EVENT_DRAW_MAIN, draw_ctx);       // Hard-Fault??


Finally, it is working, the stack size was 1kB and it was crashing due to stack overflow.
I increased the stack size to 2kB and it is working now.

But I have a question, I checked the STM32F429 Port available on GitHub it is just using 1kB of the stack size, and the application was really complex, which means that which STM32CubeIDE or we can say that with GCC compiler 1kB stack size is working fine without any overflows with such a big example.
But with the IAR compiler, a simple HelloWorld label is not working and giving stack overflows.
Can someone explain to me why this is like this?