[MacPorts] #45321: port:phonon_backend_gstreamer causes digikam 4.3.0 to abort when $DISPLAY is set

MacPorts noreply at macports.org
Fri Oct 10 04:59:28 PDT 2014


#45321: port:phonon_backend_gstreamer causes digikam 4.3.0 to abort when $DISPLAY
is set
-------------------------+--------------------------------------
 Reporter:  rjvbertin@…  |      Owner:  macports-tickets@…
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:  2.3.1
 Keywords:               |       Port:  phonon_backend_gstreamer
-------------------------+--------------------------------------
 I installed phonon_backend_gstreamer in hopes to improve audio
 capabilities in Qt4/KDE. It did not make a noticeable difference (the
 relevant controls remain inactive in qtconfig), and now I did notice an
 annoying side-effect of having it installed.

 Launching digikam with $DISPLAY set, either from an xterm or through
 LaunchServices, causes it to abort due to a call to XGetWindowAttributes
 without first connecting to an X11 server:

 {{{
 (lldb) b XGetWindowAttributes
 breakpoint set --name 'XGetWindowAttributes'
 Breakpoint created: 2: name = 'XGetWindowAttributes', locations = 1
 (lldb) r
 Process 57949 launched:
 '/Applications/MacPorts/KDE4/digikam.app/Contents/MacOS/digikam' (x86_64)
 Process 57949 stopped
 * thread #1: tid = 0x2d03, 0x00000001002c1c2e digikam`main + 30 at
 main.cpp:71, stop reason = breakpoint 1.1
     frame #0: 0x00000001002c1c2e digikam`main + 30 at main.cpp:71
    68
    69   int main(int argc, char* argv[])
    70   {
 -> 71       KAboutData aboutData("digikam",
    72                            0,
    73                            ki18n("digiKam"),
    74                            digiKamVersion().toAscii(),
 (lldb) c
 Process 57949 resuming
 QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still
 in use, all queries will cease to work.
 WARNING: Disabling PulseAudio integration for lack of GLib event loop.
 StartNotification name = default
 Process 57949 stopped
 * thread #1: tid = 0x2d03, 0x000000010660249a
 libX11.6.dylib`XGetWindowAttributes, stop reason = breakpoint 2.1
     frame #0: 0x000000010660249a libX11.6.dylib`XGetWindowAttributes
 (lldb) bt
 * thread #1: tid = 0x2d03, 0x000000010660249a
 libX11.6.dylib`XGetWindowAttributes, stop reason = breakpoint 2.1
     frame #0: 0x000000010660249a libX11.6.dylib`XGetWindowAttributes
     frame #1: 0x000000012953b948
 libgstximagesink.so`gst_ximagesink_set_window_handle + 230
     frame #2: 0x00000001267c838a
 phonon_gstreamer.so`Phonon::Gstreamer::X11Renderer::setOverlay() + 122
     frame #3: 0x00000001267c89ab
 phonon_gstreamer.so`Phonon::Gstreamer::X11Renderer::X11Renderer(Phonon::Gstreamer::VideoWidget*)
 + 427
     frame #4: 0x00000001267a304b
 phonon_gstreamer.so`Phonon::Gstreamer::DeviceManager::createVideoRenderer(Phonon::Gstreamer::VideoWidget*)
 + 187
     frame #5: 0x00000001267c4198
 phonon_gstreamer.so`Phonon::Gstreamer::VideoWidget::setupVideoBin() + 40
     frame #6: 0x00000001267c45b6
 phonon_gstreamer.so`Phonon::Gstreamer::VideoWidget::VideoWidget(Phonon::Gstreamer::Backend*,
 QWidget*) + 246
     frame #7: 0x000000012679ea84
 phonon_gstreamer.so`Phonon::Gstreamer::Backend::createObject(Phonon::BackendInterface::Class,
 QObject*, QList<QVariant> const&) + 388
     frame #8: 0x0000000100b7bd5a
 libphonon.4.dylib`Phonon::Factory::createVideoWidget(QObject*) + 122
     frame #9: 0x0000000100ba96c6
 libphonon.4.dylib`Phonon::VideoWidgetPrivate::createBackendObject() + 54
     frame #10: 0x0000000100ba893a
 libphonon.4.dylib`Phonon::VideoWidget::VideoWidget(QWidget*) + 202
     frame #11: 0x0000000100ba801b
 libphonon.4.dylib`Phonon::VideoPlayerPrivate::ensureCreated() const + 123
     frame #12: 0x0000000100ba85c5
 libphonon.4.dylib`Phonon::VideoPlayer::mediaObject() const + 21
     frame #13: 0x000000010024bb15 digikam`MediaPlayerView + 1413 at
 mediaplayerview.cpp:166
     frame #14: 0x0000000100238f45 digikam`StackedView + 437 at
 stackedview.cpp:115
     frame #15: 0x00000001002430cb digikam`DigikamView + 715 at
 digikamview.cpp:262
     frame #16: 0x0000000100124b11 digikam`Digikam::DigikamApp::setupView()
 + 145 at digikamapp.cpp:551
     frame #17: 0x00000001001243d1 digikam`DigikamApp + 2017 at
 digikamapp.cpp:265
     frame #18: 0x00000001002c3204 digikam`main + 5620 at main.cpp:189
     frame #19: 0x000000010000f004 digikam`start + 52
 (lldb) f 4
 Process 57949 stopped
 * thread #1: tid = 0x2d03, 0x000000010660249a
 libX11.6.dylib`XGetWindowAttributes, stop reason = signal SIGSTOP
     frame #0: 0x000000010660249a libX11.6.dylib`XGetWindowAttributes
 }}}

 Uninstalling phonon_backend_gstreamer resolves this issue, but it might be
 useful to understand why this happens and see if one can work around it.
 Phonon being a Qt4 package there is no reason it would ever want to do
 X11-related things on OS X, or is there?

-- 
Ticket URL: <https://trac.macports.org/ticket/45321>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list