Bugzilla – Bug 686461
knotify4 takes 100% CPU
Last modified: 2012-01-20 19:00:58 UTC
Created attachment 424120 [details] backtrace from "top" output: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5256 cb 20 0 590m 49m 26m R 100 1.3 122:40.62 /usr/bin/knotify4 This happened the first time to me (IIRC), and I don't know what caused it :-( A backtrace with most debuginfo installed is attached. The debuginfo for /usr/lib64/libgstreamer-0.10.so.0 (from libgstreamer-0_10-0-0.10.32-1000.pm.1002.8.x86_64) couldn't be found by zypper - probably it isn't available from packman.
Created attachment 424122 [details] backtrace with "thread apply all bt"
We can't support Packman's packages. The bt shows an error condition in gstreamer. Reopen if it happens with our gstreamer. Sorry :/.
I can't see anything that would explain an infinite loop or something like that. All the threads are waiting on mutexes, except for the main thread that's on gst_message_new_error () as part of gst_alsasink_open (asink=0x9439c0) at gstalsasink.c:699 I don't see why that would cause a CPU hog (except a massive bug in gstreamer, of course). [...] #18 0x00007f799eb67b12 in Phonon::Gstreamer::MediaObject::setError (this=0xb96970, errorString=..., error=Phonon::FatalError) Hmmm, actually seeing the errorString would have helped here :) Note that the gstreamer-0_10 package is not "from Packman": we just _link it from multimedia:libs on build.opensuse.org (obviously the -bad and -ugly packages are only on Packman, but that's not where the issue comes from). I really can't help you much further with this one, as I don't understand what is actually triggering the error and the loop from reading the backtrace. Maybe poke some people upstream ? (gstreamer)
Changed to NEEDINFO, can't do anything about it without more details. (And maintainers of multimedia:libs, feel free to chime in.) But the backtrace doesn't rule out a Phonon bug to me either.
I'm glad I found this bug, I usually kill knotify4 when it hogs cpu now maybe we can fix the problem. I've experienced this with stock KDF installed and multimedia:libs stuff with a couple of packman plugins. Sometimes I have four knotify4s, three dormant and one hogging cpu. If Will can explain exactly what knotify4's use is because my system seems to work fine when it isn't there. I've had the idea that my problem was to do with the update applet as I don't seem to have a problem when it's not running. That's as far as I've got. Unfortunately everything mozilla is crashing with various types of mouse clicks, I can't even open a new tab or click back in firefox but I'll be back. # zypper se -si gstreamer Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+-----------------------------------------+---------+------------------------+--------+----------------------- i | PackageKit-gstreamer-plugin | package | 0.6.12-1.4.1 | x86_64 | alt11.4 i | PackageKit-gstreamer-plugin | package | 0.6.12-1.4.1 | x86_64 | 11.4 i | gstreamer-0_10 | package | 0.10.32-49.1 | x86_64 | mmlibs i | gstreamer-0_10-devel | package | 0.10.32-49.1 | x86_64 | mmlibs i | gstreamer-0_10-ffmpeg | package | 0.10.11-999.pm.1000.3 | x86_64 | Packman i | gstreamer-0_10-lang | package | 0.10.32-49.1 | noarch | mmlibs i | gstreamer-0_10-libnice | package | 0.1.0-0.pm.2.5 | x86_64 | Packman i | gstreamer-0_10-plugin-gnonlin | package | 0.10.17-13.1 | x86_64 | mmlibs i | gstreamer-0_10-plugin-hal | patch | 4214 | noarch | Main Update Repository i | gstreamer-0_10-plugins-bad | package | 0.10.21-999.pm.1012.6 | x86_64 | (System Packages) i | gstreamer-0_10-plugins-bad-lang | package | 0.10.21-119.6 | noarch | (System Packages) i | gstreamer-0_10-plugins-base | package | 0.10.32-45.1 | x86_64 | mmlibs i | gstreamer-0_10-plugins-base-devel | package | 0.10.32-45.1 | x86_64 | mmlibs i | gstreamer-0_10-plugins-base-lang | package | 0.10.32-45.1 | noarch | mmlibs i | gstreamer-0_10-plugins-good | package | 0.10.27-999.pm.1002.18 | x86_64 | (System Packages) i | gstreamer-0_10-plugins-good-lang | package | 0.10.27-999.pm.1002.18 | noarch | (System Packages) i | gstreamer-0_10-plugins-ugly | package | 0.10.17-28.1 | x86_64 | mmlibs i | gstreamer-0_10-plugins-ugly-lang | package | 0.10.17-28.1 | noarch | mmlibs i | gstreamer-0_10-utils | package | 0.10.32-49.1 | x86_64 | mmlibs i | gstreamer-utils | package | 0.10.32-49.1 | x86_64 | mmlibs i | libgstreamer-0_10-0 | package | 0.10.32-49.1 | x86_64 | mmlibs i | libgstreamer-0_10-0-32bit | package | 0.10.32-49.1 | x86_64 | mmlibs i | phonon-backend-gstreamer-0_10-debuginfo | package | 4.5.0-11.1 | x86_64 | kde4 i | python-gstreamer-0_10 | package | 0.10.19-999.pm.1000.1 | x86_64 | Packman i | python-gstreamer-0_10-devel | package | 0.10.19-999.pm.1000.1 | x86_64 | Packman
I am getting https://bugs.kde.org/show_bug.cgi?id=281509 about every day. I don't know for sure one is related with the other one as this one doesn't mention memory usage while the one I have has both.
Dave, knotifiy4 behaved well on my system for a long time, and you seem to be able to reproduce it (maybe even without packman packages?). Therefore I'm handing over the needinfo flag to you ;-) - maybe you can add some helpful details. I'm also reassigning to the gstreamer maintainer - according to Pascal's comment #3, this is most likely a gstreamer bug.
Please test phonon-backend-gstreamer-0_10 package from the repository below. It does not fix anything, but it should display GStreamer error on stdout. Search for "phonon-backend-gstreamer MediaObject::handleErrorMessage: Error = " string and provide its output when it fails. http://download.opensuse.org/repositories/home:/sbrabec:/branches:/openSUSE:/11.4:/Update:/Test/standard/ https://build.opensuse.org/package/show?package=phonon-backend-gstreamer-0_10&project=home%3Asbrabec%3Abranches%3AopenSUSE%3A11.4%3AUpdate%3ATest
I think my issue also occurred when I had Xine as backend. I jsut restored it will confirm that fact. If so, do you wish me to fork my issue from this one? BTW, I get: #### YaST2 conflicts list - generated 2011-11-14 21:39:24 #### phonon-backend-gstreamer-0_10-4.4.4-5.1.x86_64 requires libphonon4 = 4.4.4, but this requirement cannot be provided uninstallable providers: libphonon4-4.4.4-3.1.i586[repo-11.4-oss] libphonon4-4.4.4-3.1.x86_64[repo-11.4-oss] [ ] Following actions will be done: downgrade of libphonon4-4.5.0-8.1.x86_64 to libphonon4-4.4.4-3.1.x86_64 install libphonon4-4.4.4-3.1.x86_64 (with vendor change) obs://build.opensuse.org/KDE --> openSUSE downgrade of phonon-4.5.0-4.1.x86_64 to phonon-4.4.4-3.1.x86_64 install phonon-4.4.4-3.1.x86_64 (with vendor change) obs://build.opensuse.org/KDE --> openSUSE [ ] do not install phonon-backend-gstreamer-0_10-4.4.4-5.1.x86_64 [ ] do not install phonon-backend-gstreamer-0_10-4.4.4-5.1.x86_64 [ ] break phonon-backend-gstreamer-0_10 by ignoring some of its dependencies #### YaST2 conflicts list END ###
My debugging phonon-backend-gstreamer-0_10 package is branched from a bare 11.4 package. There should be no conflict while installing to 11.4 distro.
My blind guess what might happen: phonon-backend-gstreamer-0_10 uses ALSA sink. xine uses ALSA or OSS emulation directly. Your card has only one DSP channel and DSP resource is not available. Notification wants to play sound, it fails with "device busy" and loops in an infinite loop waiting for device freeing.
Output of ps aux under openSUSE 12.1, with kde 4.7.2 using official repo`s and using ALSA: creatura 3144 0.1 3.5 135628 18260 ? SLl 15:16 0:02 /usr/bin/knotify4 It seems that this has been fixed in 12.1.
OK. If you are one of affected users previously and you see it fixed now, then I'll close the bug. If there is anybody still able to reproduce the problem in 12.1, please reopen.