Opened 4 months ago

Last modified 4 months ago

#70375 new defect

dragon crashes on launch

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: kde Cc: RJVB (René Bertin)
Port: dragon

Description

Why this may be failing, any idea?

36-25% /Applications/MacPorts/KDE4/dragon.app/Contents/MacOS/dragon 
dragonplayer(1567) mac_set_dbus_address: set session bus address to "unix:path=/tmp/launch-E16bDj/unix_domain_listener"
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
dragonplayer(1567)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/private/var/tmp/kdecache-svacchanda/ksycoca4"
dragonplayer(1567)/phonon (KDE plugin): Can not create backend object from factory for  "VLC" ,  "phonon_vlc" :
 "Could not find plugin 'VLC' for application 'dragonplayer'" 
dragonplayer(1567)/phonon (KDE plugin): Can not create backend object from factory for  "GStreamer" ,  "phonon_gstreamer" :
 "Could not find plugin 'GStreamer' for application 'dragonplayer'" 
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  2 (X_ChangeWindowAttributes)
  Resource id in failed request:  0x17336400
  Serial number of failed request:  23
  Current serial number in output stream:  0

Change History (1)

comment:1 Changed 4 months ago by RJVB (René Bertin)

You have at least 1 problem here: phonon doesn't seem to have a backend to talk to an actual audio device. For KDE the VLC backend is preferred, but that requires libVLC (which may or may not be available anymore after your changes to the VLC port[s]).

Are you using an X11 version of Qt4, or is there another reason why X11 is getting involved? If the former: I have no idea how it handles X11 errors, but it's possible that it just does an abort() whenever one occurs 1) and the application didn't provide its own handler. I started getting crashes like that from GTk applications after a recent upgrade to GTk3 (and apparently sideways related to me running Qt5 apps under X). I patched in an error handler that just prints the message and then continues (into GTk3, so any application that provides its own should still override that). See XSetIOErrorExitHandler().

The only thing of the sort that I had to do with Qt5 was to do a regular exit() rather than an abort() when no DISPLAY is defined (and I do get my share of these "failed request" warnings), so it would surprise me a bit if that were different in Qt4.

1) EDIT: this rambling is of course relevant only if your crash was due to a SIGABRT. If not, you could try starting it with --sync and run in a debugger with a breakpoint on _XPrintDefaultError(). My guess remains that dragon is trying to do something with a window that hasn't been created properly (or has already been destroyed) because of the missing audio backend.

https://stackoverflow.com/questions/4456853/need-help-understanding-x11-protocol-errors https://stackoverflow.com/questions/20871304/what-happens-if-you-ignore-a-x11-badwindow-error

Last edited 4 months ago by RJVB (René Bertin) (previous) (diff)
Note: See TracTickets for help on using tickets.