Opened 21 months ago

Last modified 21 months ago

#18282 new bug

Preview window of setdecor crashes app_server with extra decorators

Reported by: zdykstra Owned by: axeld
Priority: normal Milestone: Unscheduled
Component: Servers/app_server Version:
Keywords: Cc:
Blocked By: Blocking:
Platform: x86-64

Description

Installing haiku_extras and then using setdecor -p to preview either BeDecorator or FlatDecorator results in an app_server crash.

Syslog snippet:

KERN: unknown: [3722687652:  1202] package "haiku_extras-r1~beta4_hrev56792-1-x86_64.hpkg" activated
KERN: package_daemon: [3723185750:  1202] Volume::_PackagesEntryCreated("haiku_extras-r1~beta4_hrev56792-1-x86_64.hpkg")
KERN: vm_soft_fault: va 0x7911d2d000 not covered by area in address space
KERN: vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0x7911d2d380, ip 0x1a3f1f5a1fa, write 0, user 1, exec 0, thread 0x7a8
KERN: debug_server: Thread 1960 entered the debugger: Segment violation
KERN: stack trace, current PC 0x1a3f1f5a1fa  </boot/system/servers/app_server> _ZN11WindowStackD1Ev + 0x6a:
KERN:   (0x7ffca2c74bb0)  0x1a3f1f5a242  </boot/system/servers/app_server> _ZN11WindowStackD0Ev.localalias + 0x12
KERN:   (0x7ffca2c74bd0)  0x113d61ee78a  </boot/system/lib/libbe.so> _ZN14BReferenceable16ReleaseReferenceEv + 0x7a
KERN:   (0x7ffca2c74c00)  0x1a3f1f59ef8  </boot/system/servers/app_server> _ZN6WindowD2Ev + 0x58
KERN:   (0x7ffca2c74c30)  0x1a3f1f5a042  </boot/system/servers/app_server> _ZN6WindowD0Ev.localalias + 0x12
KERN:   (0x7ffca2c74c50)  0x1a3f1f48cac  </boot/system/servers/app_server> _ZN12ServerWindowD2Ev + 0x6c
KERN:   (0x7ffca2c74c70)  0x1a3f1f48dc2  </boot/system/servers/app_server> _ZN12ServerWindowD0Ev + 0x12
KERN:   (0x7ffca2c74c90)  0x1a3f1f2e5a4  </boot/system/servers/app_server> _ZN13MessageLooper4QuitEv + 0x44
KERN:   (0x7ffca2c74cb0)  0x1a3f1f4bef0  </boot/system/servers/app_server> _ZN12ServerWindow14_MessageLooperEv + 0x2e0
KERN:   (0x7ffca2c74d20)  0x1a3f1f2e16a  </boot/system/servers/app_server> _ZN13MessageLooper15_message_threadEPv + 0xa
KERN:   (0x7ffca2c74d30)  0x1e7d4a73b99  </boot/system/lib/libroot.so> thread_entry + 0x19

Attachments (2)

app_server-1761-debug-28-02-2023-23-43-15.report (39.1 KB ) - added by waddlesplash 21 months ago.
test_app_server-20999-debug-04-03-2023-12-50-26.report (171.0 KB ) - added by madmax 21 months ago.
Report running on test_app_server with DEBUG=1.

Download all attachments as: .zip

Change History (4)

comment:1 by waddlesplash, 21 months ago

Reproducible for me. Debug report attached.

by madmax, 21 months ago

Report running on test_app_server with DEBUG=1.

comment:2 by madmax, 21 months ago

Looks like it's the vtable in the decorator destructor, it seems the addon is deleted before the decorator:

  1. Window destructor calls decorator manager's CleanupForWindow.
  2. Hey, a decorator preview window is being deleted: cleanup our vars and unload the addon.
  3. The WindowStack is deleted.
  4. Its decorator is deleted.
Note: See TracTickets for help on using tickets.