Thread 1 "Test_URSplashSc" received signal SIGSEGV, Segmentation fault. CoreTask__OnStart (_this=0x55560154 , aQueue=0x5555ffc8 ) at /root/UniversalRegister/uregworkspace/urgui/Test_URSplashScreen/Linux/Core.c:7150 7150 ((CoreTask)_this)->_VMT->OnStart((CoreTask)_this, aQueue ); (gdb) [Show splash screen] this->_VMT becomes 0 after running for some time (~10 minutes) and it is causing the crash see: (gdb) p *(CoreTask)_this $8 = {_ = {VMT = 0x0, XObject = {_ = {VMT = 0x0, Mark = 0x0, Link = 0x0, GCT = 0x55550678 <__vmt_CoreSystemEventTask>}}, Super = {_ = { VMT = 0x0, Mark = 0x0, Link = 0x0, GCT = 0x55550678 <__vmt_CoreSystemEventTask>}}}, queue = 0x5555ffc8 , prev = 0x0, next = 0x0} I put a breakpoint on line 7150 and code would stop there all the time with non 0 _VMT see: p *(CoreTask)_this $10 = {_ = {VMT = 0x55555054 <__vmt_EffectsFaderTask>, XObject = {_ = { VMT = 0x55555054 <__vmt_EffectsFaderTask>, Mark = 0x0, Link = 0x0, GCT = 0x55555054 <__vmt_EffectsFaderTask>}}, Super = {_ = { VMT = 0x55555054 <__vmt_EffectsFaderTask>, Mark = 0x0, Link = 0x0, GCT = 0x55555054 <__vmt_EffectsFaderTask>}}}, queue = 0x5556073c , prev = 0x0, next = 0x0} (gdb) c Continuing. (gdb) p *(CoreTask)_this $13 = {_ = {VMT = 0x55550678 <__vmt_CoreSystemEventTask>, XObject = {_ = { VMT = 0x55550678 <__vmt_CoreSystemEventTask>, Mark = 0x0, Link = 0x0, GCT = 0x55550678 <__vmt_CoreSystemEventTask>}}, Super = {_ = { VMT = 0x55550678 <__vmt_CoreSystemEventTask>, Mark = 0x0, Link = 0x0, GCT = 0x55550678 <__vmt_CoreSystemEventTask>}}}, queue = 0x5555ffc8 , prev = 0x0, next = 0x0} (gdb) [Show Delivery screen] c Continuing. BTW when code is running VMT and GCT change from 0x55555054 to 0x55550678 and then back to 0x55555054. When crash happens VMT is 0 but GCT is 0x55550678.