Bug 348841

Summary: knotify (and kbiff) starts jackd with the flag -l only and creates zombies
Product: [Unmaintained] kdelibs Reporter: Matthias Apitz <guru>
Component: knotifyAssignee: Olivier Goffart <ogoffart>
Status: RESOLVED DOWNSTREAM    
Severity: normal CC: cfeck, kdelibs-bugs, mklapetek, simonandric5, tcberner
Priority: NOR    
Version: 4.14.0   
Target Milestone: ---   
Platform: FreeBSD Ports   
OS: FreeBSD   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Matthias Apitz 2015-06-07 14:59:58 UTC
on KDE4 startup knotify call "/usr/local/bin/jackd -l" which is meaningless because it only prints the default dir of jackd and does not start any service; the same is true for kbiff when mail arrives in the INBOX; to nail this down (or at least to proof it), I substituted /usr/local/bin/jackd with the following shell script:

#!/bin/sh                                                                                                                              
printf "new jackd call:\n" >> /tmp/jackd                                                                                               
echo $0 $* >> /tmp/jackd                                                                                                               
/usr/local/bin/jackd.bin $* &                                                                                                          
echo $! >> /tmp/jackd                                                                                                                  
                                                                                                                                       
and on KDE start or when a mail arrives the file /tmp/jackd shows:                                                                                     
                                                                                                                                       
                                                                                                                                       
new jackd call:                                                                                                                        
/usr/local/bin/jackd -l                                                                                                                
39343                                                                                                                                  
new jackd call:                                                                                                                        
/usr/local/bin/jackd -l                                                                                                                
39345                                                                                                                                  
new jackd call:                                                                                                                        
/usr/local/bin/jackd -l                                                                                                                
39347                                                                                                                                  
                                                                                                                                       
the PIDs of the zombies are always -1:                                                                                                 
                                                                                                                                       
39342  2  Z      0:00,01 <defunct>                                                                                                     
39344  2  Z      0:00,01 <defunct>                                                                                                     
39346  2  Z      0:00,01 <defunct>   

i.e. belong to the caller knotify or kbiff.

Reproducible: Always

Steps to Reproduce:
see above



this is with KDE 4.14.2 on FreeBSD 11-CURRENT
Comment 1 Christoph Feck 2015-06-10 00:14:40 UTC
Please ask in a forum of your distribution why jackd is started. KDE does not know anything about jackd.
Comment 2 Matthias Apitz 2015-06-10 05:29:01 UTC
it is not true the kdelibs does not know anything about jackd:
# find kde-runtime-4.14.2 -exec fgrep -H -C3 jackd {} \;
kde-runtime-4.14.2/phonon/kded-module/phononserver.cpp-    case PS::DeviceAccess::OssDriver:
kde-runtime-4.14.2/phonon/kded-module/phononserver.cpp-        return "oss";
kde-runtime-4.14.2/phonon/kded-module/phononserver.cpp-    case PS::DeviceAccess::JackdDriver:
kde-runtime-4.14.2/phonon/kded-module/phononserver.cpp:        return "jackd";
kde-runtime-4.14.2/phonon/kded-module/phononserver.cpp-    case PS::DeviceAccess::Video4LinuxDriver:
kde-runtime-4.14.2/phonon/kded-module/phononserver.cpp-        return "v4l2";
kde-runtime-4.14.2/phonon/kded-module/phononserver.cpp-    case PS::DeviceAccess::InvalidDriver:
Comment 3 Martin Klapetek 2015-06-10 08:56:59 UTC
> it is not true the kdelibs does not know anything about jackd

You did notice that you're grepping in kde-runtime and *not* in kdelibs, right? ;) I'll save you some time and tell you that grepping kdelibs indeed comes out empty.

Nevertheless, just because there is one single string found in your grep does not actually say that it's being started or anything.

It is entirely possible that your pulseaudio and/or alsa and/or gstreamer is configured to use jack. See this http://jackaudio.org/faq/gstreamer_via_jack.html for example and try it in reverse.

 If you don't need jack at all, just install it.

Otherwise yes, you should seek support from your distro, this is a configuration issue.
Comment 4 Martin Klapetek 2015-06-10 08:58:20 UTC
Additionally, run "kcmshell4 kcmnotify" and check Player Settings tab. It may be that you have jackd set as custom command there.