RJVB / macstrop

RJVB's repository of alternative macports, with ports missing from or overriding those in the standard collection, including a set of KF5 ports.
20 stars 9 forks source link

quassel-client @0.13.1 crashes on launch #36

Closed Tatsh closed 5 years ago

Tatsh commented 5 years ago

A while ago this was working.

 $ lldb /Applications/MacPorts/Qt5/Quassel\ Client.app/
(lldb) target create "/Applications/MacPorts/Qt5/Quassel Client.app/"
r
Current executable set to '/Applications/MacPorts/Qt5/Quassel Client.app/' (x86_64).
(lldb) r
Process 77152 launched: '/Applications/MacPorts/Qt5/Quassel Client.app/Contents/MacOS/Quassel Client' (x86_64)
2019-02-20 15:51:36.954676-0500 Quassel Client[77152:41551673] [default] Unable to load Info.plist exceptions (eGPUOverrides)
dbus[77152]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that
org.freedesktop.dbus-session.plist is loaded!
dbus[77152]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that
org.freedesktop.dbus-session.plist is loaded!
2019-02-20 15:51:38.827360-0500 Quassel Client[77152:41551597] -[__NSMallocBlock__ item]: unrecognized selector sent to instance 0x1132c8f70
Process 77152 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
    frame #0: 0x00007fff46fb6a9b AppKit`-[NSApplication _crashOnException:] + 109
AppKit`-[NSApplication _crashOnException:]:
->  0x7fff46fb6a9b <+109>: ud2
    0x7fff46fb6a9d <+111>: mov    rdi, rax
    0x7fff46fb6aa0 <+114>: call   0x7fff4775b9d0            ; symbol stub for: objc_begin_catch
    0x7fff46fb6aa5 <+119>: xor    edi, edi
Target 0: (Quassel Client) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
  * frame #0: 0x00007fff46fb6a9b AppKit`-[NSApplication _crashOnException:] + 109
    frame #1: 0x00007fff46cad544 AppKit`__65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 849
    frame #2: 0x00007fff496b68ed CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    frame #3: 0x00007fff496b6822 CoreFoundation`__CFRunLoopDoObservers + 452
    frame #4: 0x00007fff49658345 CoreFoundation`__CFRunLoopRun + 1166
    frame #5: 0x00007fff49657c64 CoreFoundation`CFRunLoopRunSpecific + 463
    frame #6: 0x00007fff488eeab5 HIToolbox`RunCurrentEventLoopInMode + 293
    frame #7: 0x00007fff488ee6f4 HIToolbox`ReceiveNextEventCommon + 371
    frame #8: 0x00007fff488ee568 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #9: 0x00007fff46ba9363 AppKit`_DPSNextEvent + 997
    frame #10: 0x00007fff46ba8102 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
    frame #11: 0x00007fff46ba2165 AppKit`-[NSApplication run] + 699
    frame #12: 0x000000010ada304b libqaltcocoa.dylib`QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2215
    frame #13: 0x000000010426d75f QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431
    frame #14: 0x0000000104272631 QtCore`QCoreApplication::exec() + 369
    frame #15: 0x00000001000061a4 Quassel Client`main + 2340
    frame #16: 0x00007fff768a9ed9 libdyld.dylib`start + 1
    frame #17: 0x00007fff768a9ed9 libdyld.dylib`start + 1
RJVB commented 5 years ago

I must say that I haven't been using that port in ages, and not long ago I made a mental note to remove it...

Did you ever follow the instructions to let the session dbus daemon start on-demand?

How long ago did it work, and what did you update in the meantime?

Tatsh commented 5 years ago

I get a different error now, and now this is with @0.12.4_2. I guess MacPorts is picking this because the Portfile is the most new? The crash is on a call to objc_msgSend, so this should make sense:

 $ /Applications/MacPorts/Qt5/Quassel\ Client.app/Contents/MacOS/Quassel\ Client
2019-03-12 02:00:15.094 Quassel Client[83548:5925466] -[NSLayoutGuide item]: unrecognized selector sent to instance 0x7f884ed78040
Illegal instruction: 4
RJVB commented 5 years ago

On Tuesday March 12 2019 06:03:46 Tatsh wrote:

I get a different error now, and now this is with @0.12.4_2. I guess MacPorts is picking this because the Portfile is the most new?

No, the selection is purely priority-based: "base" just picks the port from the first ports tree that has an entry for that port. Fortunately, because otherwise I'd be obliged to keep my customised ports up-to-date... :)

Turns out I have quassel in my tree because at the time the mainstream port didn't accept my qt5-kde port but I also made it use some ports that weren't in the main tree. It seems qt5-kde is no longer a proble; I'll try to find a moment to evaluate whether there's any reason left to keep my copy around. Would you want to use the +kde variant, for instance?

Personally I use port:kf5-konversation-devel for IR, have you tried that.

About the crash: do you get a backtrace from the system crash reporter or else from DrKonqi? I'd be curious to know where the unrecognised selector is called (read: please tell me it's in Quassel code and not in Qt!).

RJVB commented 5 years ago

Port upgraded, tested locally with +kde+qtwebkit .

Tatsh commented 5 years ago

Back to working. Thanks