Summary: | Knotify always crashes when showing notifications [@ Phonon::Gstreamer::MediaNode::linkMediaNodeList] | ||
---|---|---|---|
Product: | [Unmaintained] phonon-backend-gstreamer | Reporter: | Claes <claes.v.fransson> |
Component: | general | Assignee: | Harald Sitter <sitter> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | ahuhtal4, andreas.davour, anptwe, cfeck, cupido17, freekdekruijf, gustavo, jaxt0r1029, julius8774, justin.zobel, kcb_pdx, lplotkin, muyi.taiwo, myriam, psmammoth, rdieter, romain.perier, tdfischer, vision1983 |
Priority: | NOR | Keywords: | regression |
Version: | 4.7.2 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | New crash information added by DrKonqi |
Description
Claes
2012-02-13 17:06:02 UTC
This is a rather curious crash, due to this bit: #25 0x00007f0604bedcaa in Phonon::Gstreamer::Pipeline::setState(this=0x1d005a0, state=GST_STATE_PLAYING) at /usr/src/debug/phonon-backend-gstreamer-4.5.90/gstreamer/pipeline.cpp:223 #26 0x000000000040e80b in play (file=..., this=0x1831010) at /usr/src/debug/kde-runtime-4.8.0/knotify/notifybysound.cpp:63 Somehow, KNotify is jumping directly into pgst itself. Have you updated packages immediately prior to this crash? If so, please try logging in/out and see if the problem persists. Otherwise, please generate a debug log for us: http://techbase.kde.org/Development/Tutorials/Debugging/Phonon Thanks! No, I have had the same behavior for a month or more. Is this the debug log you want?: [claes@Claes-laptop-Samsung ~]$ export PHONON_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_PULSEAUDIO_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_VLC_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_GST_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_XINE_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ okular okular(12879)/kdeui (KNotification) KNotification::slotReceivedIdError: Error while contacting notify daemon "Message did not receive a reply (timeout by message bus)" okular(12879)/kdeui (kdelibs) KXMLGUIClient::~KXMLGUIClient: 0x1d436f0 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes. [claes@Claes-laptop-Samsung ~]$ Thank you for the fast feedback. notifybysound.cpp:63 inline void play(const QString &file) { media->setCurrentSource(file); media->enqueue(Phonon::MediaSource()); media->play(); } KNotify doesn't directly "jump" into pgst, it simply calls Phonon. It is possible the backtrace looks different, because stack got corrupted prior to the crash. Setting status correctly (confusion happened due to comment collision :) Might be worth testing this update, https://admin.fedoraproject.org/updates/FEDORA-2012-1931/phonon-backend-gstreamer-4.6.0-1.fc16 wait a day or 2 (not pushed yet), then try (as root): yum --enablerepo=updates-testing update phonon-backend-gstreamer oh, ignore my comment about waiting, the infrastructure hero's pushed it yesterday without me even noticing yet. Setting status correctly. Still the same behaviour (Knotify always crashes) Installed Packages phonon-backend-gstreamer.x86_64 2:4.6.0-1.fc16 @updates-testing Available Packages phonon-backend-gstreamer.i686 2:4.5.90-3.fc16 updates [claes@Claes-laptop-Samsung ~]$ export PHONON_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_PULSEAUDIO_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_VLC_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_GST_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ export PHONON_XINE_DEBUG=5 [claes@Claes-laptop-Samsung ~]$ okular okular(10723)/kdeui (KNotification) KNotification::slotReceivedIdError: Error while contacting notify daemon "Message did not receive a reply (timeout by message bus)" okular(10723)/kdeui (kdelibs) KXMLGUIClient::~KXMLGUIClient: 0x2241710 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes. [claes@Claes-laptop-Samsung ~]$ Thank you for the feedback. I have the same behaviour - KNotify crashes every time when showing notifications. This started happening after I updated from Fedora 15 to 16 using yum. Below is the crash output: Application: KNotify (knotify4), signal: Segmentation fault Using host libthread_db library "/lib/libthread_db.so.1". [Current thread is 1 (Thread 0xb76f4780 (LWP 2310))] Thread 2 (Thread 0xb607ab40 (LWP 2311)): #0 g_main_context_prepare (context=0xb57004e0, priority=0xb607a0c8) at gmain.c:2711 #1 0x41d93a08 in g_main_context_iterate (context=0xb57004e0, block=1, dispatch=1, self=0xb5700d70) at gmain.c:3069 #2 0x41d9401f in g_main_context_iteration (context=0xb57004e0, may_block=1) at gmain.c:3152 #3 0x447b0317 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x4477c4ee in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x4477c799 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x44664b2c in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x4475935e in ?? () from /usr/lib/libQtCore.so.4 #8 0x446680b1 in ?? () from /usr/lib/libQtCore.so.4 #9 0x41a52cd3 in start_thread (arg=0xb607ab40) at pthread_create.c:309 #10 0x4195ba2e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133 Thread 1 (Thread 0xb76f4780 (LWP 2310)): [KCrash Handler] #7 elf_machine_rela_relative (reloc_addr_arg=0x7287f315, l_addr=1897177088, reloc=<optimized out>) at ../sysdeps/i386/dl-machine.h:644 #8 elf_dynamic_do_Rela (skip_ifunc=0, nrelative=558093, relsize=6782952, reladdr=<optimized out>, map=0x9ce3fd0, lazy=<optimized out>) at do-rel.h:121 #9 _dl_relocate_object (scope=0x9ce4188, reloc_mode=1, consider_profiling=0) at dl-reloc.c:265 #10 0x418533ab in dl_open_worker (a=0xbf9000a0) at dl-open.c:338 #11 0x4184ed0f in _dl_catch_error (objname=0xbf9000c4, errstring=0xbf9000c8, mallocedp=0xbf9000cf, operate=0x41853100 <dl_open_worker>, args=0xbf9000a0) at dl-error.c:178 #12 0x41852d06 in _dl_open (file=0x9cda780 "/usr/lib/kde4/plugins/phonon_backend/phonon_gstreamer.so", mode=-2147483647, caller_dlopen=0x4476e913, nsid=-2, argc=1, argv=0xbf901834, env=0x9c9b0d8) at dl-open.c:575 #13 0x41a45c09 in dlopen_doit (a=0xbf900270) at dlopen.c:67 #14 0x4184ed0f in _dl_catch_error (objname=0x9b40ed4, errstring=0x9b40ed8, mallocedp=0x9b40ed0, operate=0x41a45b70 <dlopen_doit>, args=0xbf900270) at dl-error.c:178 #15 0x41a463ba in _dlerror_run (operate=0x41a45b70 <dlopen_doit>, args=0xbf900270) at dlerror.c:164 #16 0x41a45cb7 in __dlopen (file=0x9cda780 "/usr/lib/kde4/plugins/phonon_backend/phonon_gstreamer.so", mode=1) at dlopen.c:88 #17 0x4476e913 in ?? () from /usr/lib/libQtCore.so.4 #18 0x4476ad84 in ?? () from /usr/lib/libQtCore.so.4 #19 0x4476b14e in ?? () from /usr/lib/libQtCore.so.4 #20 0x4475f8e3 in QPluginLoader::load() () from /usr/lib/libQtCore.so.4 #21 0x4475f91b in QPluginLoader::instance() () from /usr/lib/libQtCore.so.4 #22 0xb640cf8c in ?? () from /usr/lib/kde4/plugins/phonon_platform/kde.so #23 0xb640db18 in ?? () from /usr/lib/kde4/plugins/phonon_platform/kde.so #24 0xb7752358 in ?? () from /usr/lib/libphonon.so.4 #25 0xb7753e2b in Phonon::Factory::backend(bool) () from /usr/lib/libphonon.so.4 #26 0xb7754687 in ?? () from /usr/lib/libphonon.so.4 #27 0xb7748339 in ?? () from /usr/lib/libphonon.so.4 #28 0xb77440c4 in ?? () from /usr/lib/libphonon.so.4 #29 0x08054694 in _start () This last backtrace in comment #11 is our favorite "glibc dlopen'ing nvidia libGL" crash, unrelated to this report. (In reply to comment #12) > This last backtrace in comment #11 is our favorite "glibc dlopen'ing nvidia > libGL" crash, unrelated to this report. Sorry but your comment is not very helpful. Is this a libGL issue or a a nvidia issue? I've used the nouveau driver and the behaviour is the same. you *sure* you don't have nvidia's libGL.so on your system at all? Anyway, here's at least the downstream report, https://bugzilla.redhat.com/show_bug.cgi?id=737223 there's one in bugs.kde.org too, but I can't find it atm. (Regardless, your crash is not related to this one, really) See bug 286388. (In reply to comment #14) > you *sure* you don't have nvidia's libGL.so on your system at all? > > Anyway, here's at least the downstream report, > https://bugzilla.redhat.com/show_bug.cgi?id=737223 > > there's one in bugs.kde.org too, but I can't find it atm. > > (Regardless, your crash is not related to this one, really) Thanks for the pointers. *** Bug 299697 has been marked as a duplicate of this bug. *** *** Bug 299834 has been marked as a duplicate of this bug. *** *** Bug 299874 has been marked as a duplicate of this bug. *** *** Bug 300223 has been marked as a duplicate of this bug. *** *** Bug 300630 has been marked as a duplicate of this bug. *** *** Bug 303324 has been marked as a duplicate of this bug. *** Is this still valid with version 4.6.1 of the phonon-backend-gstreamer? I don't have 4.6.1 installed anywhere, but it's still a 100% reproduce problem with any notification with ubuntu-proposed phonon-backend-gstreamer 4.7.0 and kde 4.8.4 Good grief that is spooky code. Trever, MediaNode needs to be redone and/or documented, it makes me go :O Incidentally enough the crash is straight forward: #6 Phonon::Gstreamer::MediaNode::linkMediaNodeList (this=0x1d3cdc0, list=..., bin=0x1b4c170, tee=0x0, fakesink=0x0, src=0x0) at /usr/src/debug/phonon-backend-gstreamer-4.5.90/gstreamer/medianode.cpp:352 tee=0x0 line 352: if (!GST_ELEMENT_PARENT(tee)) { fix: must check for tee == NULL. additional considerations: - what to do when it is null - why is it null to begin with? earlier assert needed perhaps? *** Bug 305193 has been marked as a duplicate of this bug. *** *** Bug 306093 has been marked as a duplicate of this bug. *** While the crash is straightforward, the reasons for it are a bit mysterious. m_audioTee is set to non-null in the constructor when the MediaNode is an AudioSource. linkMediaNodeList() is also only called with m_audioTee when the MediaNode is an AudioSource, where it is safe to assume that m_audioTee was previously setup in the constructor. Somewhere, the stack is getting corrupted and things are jumping around. *** Bug 307816 has been marked as a duplicate of this bug. *** *** Bug 307362 has been marked as a duplicate of this bug. *** Created attachment 74785 [details]
New crash information added by DrKonqi
knotify4 (4.0) on KDE Platform 4.9.2 using Qt 4.8.2
- What I was doing when the application crashed:
Whatever. As soon as knotify pops up, it crashes. It's totally hosed.
-- Backtrace (Reduced):
#6 Phonon::Gstreamer::MediaNode::linkMediaNodeList (this=this@entry=0x1c96080, list=..., bin=0x1aa8170 [GstBin], tee=tee@entry=0x0, fakesink=fakesink@entry=0x0, src=src@entry=0x0) at /usr/src/debug/phonon-backend-gstreamer-4.6.2/gstreamer/medianode.cpp:352
#7 0x00007f1694364341 in Phonon::Gstreamer::MediaNode::link (this=0x1c96080) at /usr/src/debug/phonon-backend-gstreamer-4.6.2/gstreamer/medianode.cpp:382
#8 0x00007f1694366162 in Phonon::Gstreamer::MediaObject::loadingComplete (this=this@entry=0x1c96060) at /usr/src/debug/phonon-backend-gstreamer-4.6.2/gstreamer/mediaobject.cpp:404
#9 0x00007f1694367c18 in Phonon::Gstreamer::MediaObject::handleStateChange (this=this@entry=0x1c96060, oldState=GST_STATE_NULL, newState=GST_STATE_READY) at /usr/src/debug/phonon-backend-gstreamer-4.6.2/gstreamer/mediaobject.cpp:549
#10 0x00007f169436a14d in qt_static_metacall (_a=0x7fffab624e60, _id=29, _o=<optimized out>, _c=<optimized out>) at /usr/src/debug/phonon-backend-gstreamer-4.6.2/x86_64-redhat-linux-gnu/gstreamer/moc_mediaobject.cpp:141
Anything happening on this bug? It crashes roughly 12 times an hour for me, which makes the whole of KDE unusable. I have switched to GNOME but it's painful and I'd like to switch back. (In reply to comment #32) > Anything happening on this bug? It crashes roughly 12 times an hour for me, > which makes the whole of KDE unusable. I have switched to GNOME but it's > painful and I'd like to switch back. Use the vlc backend before this problem is solved. Personally, I have configured knotify4 to use an external player (mplayer) to play notification sounds. This way, I avoid all phonon, gstreamer, pulseaudio, alsa, etc. issues. See System Settings > Notifications > Player Settings tab. (In reply to comment #33) > (In reply to comment #32) > > Anything happening on this bug? It crashes roughly 12 times an hour for me, > > which makes the whole of KDE unusable. I have switched to GNOME but it's > > painful and I'd like to switch back. > > Use the vlc backend before this problem is solved. (In reply to comment #33) > (In reply to comment #32) > > Anything happening on this bug? It crashes roughly 12 times an hour for me, > > which makes the whole of KDE unusable. I have switched to GNOME but it's > > painful and I'd like to switch back. > > Use the vlc backend before this problem is solved. Excellent! Now I'm heaven. The latest KDE is super. *** Bug 317026 has been marked as a duplicate of this bug. *** *** Bug 325143 has been marked as a duplicate of this bug. *** Git commit 45f810a4b9463bf3fb42f4de0c4bccee5379d827 by Harald Sitter. Committed on 23/09/2013 at 10:47. Pushed by sitter into branch 'master'. assert when we have no tee in an A/V medianode theory right now is that gstreamer is kaput and fails to factorize the tee, outside MN nothing accesses the tee so the only way it could become 0x0 (assuming correct construction) is destruction. however since objects are destructed through the main thread threading problems ought not be the issue here. At the very least we'll have an explicit assert so the casual code reader knows what is going wrong. M +4 -0 gstreamer/medianode.cpp http://commits.kde.org/phonon-gstreamer/45f810a4b9463bf3fb42f4de0c4bccee5379d827 Oh, FWIW, iff gstreamer in fact is broken so that it cannot construct objects from plugins phonon gstreamer master should prevent the crash in general as the Backend super class will refuse to construct any Phonon backing object when corruption was detected. *** Bug 325436 has been marked as a duplicate of this bug. *** *** Bug 332687 has been marked as a duplicate of this bug. *** *** Bug 332845 has been marked as a duplicate of this bug. *** Most recent backtrace, from bug 332845: Thread 1 (Thread 0x7f6466e5a800 (LWP 18876)): [KCrash Handler] #5 0x00007f645ff2162a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #6 0x00007f645ff21989 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007f645fbe9925 in pad_compare_name (pad1=0x27c0000, name=0x7f643e745e72 "sink") at gstelement.c:933 #8 0x00007f645fedc401 in g_list_find_custom () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007f645fbeb808 in gst_element_get_static_pad (element=0x27da190, name=0x7f643e745e72 "sink") at gstelement.c:963 #10 0x00007f643e724487 in Phonon::Gstreamer::MediaNode::addOutput (this=this@entry=0x23d8500, output=0x221ba18, tee=tee@entry=0x26c9c20) at ../../gstreamer/medianode.cpp:269 #11 0x00007f643e724756 in Phonon::Gstreamer::MediaNode::linkMediaNodeList (this=this@entry=0x23d8500, list=..., bin=<optimized out>, tee=tee@entry=0x26c9c20, src=src@entry=0x27487c0) at ../../gstreamer/medianode.cpp:310 #12 0x00007f643e72483e in Phonon::Gstreamer::MediaNode::link (this=0x23d8500) at ../../gstreamer/medianode.cpp:322 #13 0x00007f643e724901 in Phonon::Gstreamer::MediaNode::buildGraph (this=0x23d8500) at ../../gstreamer/medianode.cpp:90 #14 0x00007f643e725432 in Phonon::Gstreamer::MediaNode::connectNode (this=this@entry=0x23d8500, obj=obj@entry=0x221ba00) at ../../gstreamer/medianode.cpp:178 #15 0x00007f643e71ae53 in Phonon::Gstreamer::Backend::connectNodes (this=<optimized out>, source=0x23d84e0, sink=0x221ba00) at ../../gstreamer/backend.cpp:428 #16 0x00007f64659b0a1d in Phonon::PathPrivate::executeTransaction (this=<optimized out>, disconnections=..., connections=...) at ../../phonon/path.cpp:330 #17 0x00007f64659b119d in Phonon::Path::reconnect (this=this@entry=0x7fffbafd8f20, source=source@entry=0x27f1c60, sink=sink@entry=0x2805e10) at ../../phonon/path.cpp:195 #18 0x00007f64659b1b7d in Phonon::createPath (source=source@entry=0x27f1c60, sink=sink@entry=0x2805e10) at ../../phonon/path.cpp:434 #19 0x00007f64659a6db2 in Phonon::createPlayer (category=Phonon::NotificationCategory, source=...) at ../../phonon/mediaobject.cpp:773 #20 0x000000000041d58f in _start () *** Bug 383328 has been marked as a duplicate of this bug. *** *** Bug 392517 has been marked as a duplicate of this bug. *** Thank you for the report. As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |