Flat decorator cause app server crash after updating to hrev54775
|Reported by:||Starcrasher||Owned by:||axeld|
For info, after updating to hrev54775 x64, I rebooted and app server crashed leaving me with this in syslog:
KERN: vm_soft_fault: va 0x41400000 not covered by area in address space KERN: vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0x41400008, ip 0x1a23a7ffa15, write 1, user 1, thread 0x41b KERN: debug_server: Thread 1051 entered the debugger: Segment violation KERN: stack trace, current PC 0x1a23a7ffa15 _ZN14BReferenceable16AcquireReferenceEv + 0x5: KERN: (0x7fccea6a8990) 0x163a0255d67 ZN10ServerFontaSERKS + 0x77 KERN: (0x7fccea6a89b0) 0x163a02f299e _ZN15AGGTextRenderer7SetFontERK10ServerFont + 0x2e KERN: (0x7fccea6a8a00) 0x163a02af979 _ZN7Painter7SetFontERK10ServerFont + 0x19 KERN: (0x7fccea6a8a20) 0x12166b5937f _ZN13FlatDecorator10_DrawTitleEPN9Decorator3TabE5BRect + 0x5f KERN: (0x7fccea6a8a90) 0x12166b59157 _ZN13FlatDecorator8_DrawTabEPN9Decorator3TabE5BRect + 0x497 KERN: (0x7fccea6a8ba0) 0x163a027b62c _ZN9Decorator9_DrawTabsE5BRect + 0xac KERN: (0x7fccea6a8c00) 0x163a0282c3f _ZN12TabDecorator4DrawE5BRect + 0x9f KERN: (0x7fccea6a8c60) 0x163a0274fda _ZN6Window11_DrawBorderEv + 0xea KERN: (0x7fccea6a8cd0) 0x163a027797b _ZN6Window17RedrawDirtyRegionEv + 0x5b KERN: (0x7fccea6a8d00) 0x163a0268aa1 _ZN12ServerWindow14_MessageLooperEv + 0x2a1 KERN: (0x7fccea6a8d70) 0x163a024698a _ZN13MessageLooper15_message_threadEPv + 0xa KERN: (0x7fccea6a8d80) 0x18acd91b2e9 thread_entry + 0x19
Switching back to default decorator (booting from an old state) allows to boot on hrev54775 without error.
Deleting /boot/home/config/settings/system/app_server/decorator_settings (booting from a CD) allows it too.
Bug reported here https://github.com/unarix/haiku_darkstyle/issues/8
I guess that it is due to changes in deleter and the decorator needs a rebuild.
Even with good will, it is impossible to provide an updated decorator (if this one is external) in same time than Haiku changes. Main reasons are that the developper has to be aware of changes and anyway that Haikuports packages are built against beta...
There are a lot of people using nightlies, maybe it would be safer to not allow use of external decorators in nightlies to avoid such crashes. Betas don't have those changes and there external decorators could be used.