Opened 10 years ago
Last modified 3 months ago
#45321 reopened defect
port:phonon_backend_gstreamer causes digikam 4.3.0 to abort when $DISPLAY is set
Reported by: | RJVB (René Bertin) | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | High | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | mkae (Marko Käning), cooljeanius (Eric Gallager) |
Port: | phonon-backend-gstreamer |
Description
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?
Attachments (2)
Change History (8)
comment:1 Changed 10 years ago by mf2k (Frank Schima)
Cc: | michaelld@… removed |
---|---|
Owner: | changed from macports-tickets@… to michaelld@… |
Port: | phonon-backend-gstreamer added; phonon_backend_gstreamer removed |
Changed 10 years ago by RJVB (René Bertin)
Attachment: | phononBGSTr-avoid-x11renderer.patch added |
---|
comment:3 Changed 10 years ago by mkae (Marko Käning)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Done in r129223
comment:4 Changed 4 months ago by barracuda156
Replying to RJVB:
Oh wow, this is again broken, apparently, and that is why digikam
crashed for me. Deactivating phonon-backend-gstreamer
fixed it.
comment:5 Changed 4 months ago by RJVB (René Bertin)
Keywords: | haspatch added |
---|---|
Priority: | Normal → High |
Resolution: | fixed |
Status: | closed → reopened |
Version: | 2.3.1 |
The patch that was included turned out to be pointless (modifying the default of a CMake variable that was going to be set to that same value a few lines later), and upstream missed a code path that needs to be excluded too when not building the "X11 renderer".
I'm attaching a new patch that fixes the port.
Changed 4 months ago by RJVB (René Bertin)
Attachment: | PBGS-repatch.diff added |
---|
Fix port:phonon-backend-gstreamer (#8142ad6b5bc52b1f55903c48fc947f901244d55c)
comment:6 Changed 3 months ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
This patch resolves the issue by excluding the code that would pick an X11 renderer