View Bug Activity | Format For Printing
SystemTap has a -c option that runs a command/program and exits when it finishes. But in some cases, unfortunately, it does not exit even though the command/program has exited. [eteo@kerndev profiler]$ stap -V SystemTap translator/driver (version 0.5.10 built 2006-10-26) (Using Red Hat elfutils 0.124 libraries.) Copyright (C) 2005-2006 Red Hat, Inc. and others This is free software; see the source for copying conditions. [eteo@kerndev profiler]$ /usr/bin/env stap -c gaim poll-select.stp 10000 Password: libnm_glib_nm_state_cb: dbus returned an error. (org.freedesktop.DBus.Error.ServiceUnknown) The name org.freedesktop.NetworkManager was not provided by any .service files (gaim has ended at this point. it just doesn't stop regardless how many ctrl+c I used) [1]+ Stopped ./profiler.sh -s poll-select.stp -d 10000 -c gaim [eteo@kerndev profiler]$ killall -9 stap [eteo@kerndev profiler]$ sudo killall -9 staprun [eteo@kerndev profiler]$ ps aux | grep stap eteo 7127 1.6 0.0 0 0 pts/6 Z 20:51 0:00 [stap] <defunct> root 7249 0.0 0.0 1488 212 pts/6 D 20:51 0:00 /sbin/rmmod -w stap_7127.ko eteo 7256 0.0 0.0 3880 680 pts/6 R+ 20:51 0:00 grep stap poll-select.stp is a simple stp script that runs for 10000ms, and exit.
[eteo@kerndev profiler]$ sudo /sbin/rmmod stap_7127.ko ERROR: Module stap_7127 is in use [eteo@kerndev profiler]$ sudo /sbin/rmmod -f stap_7127.ko ERROR: Removing 'stap_7127': Device or resource busy [eteo@kerndev profiler]$ /sbin/lsmod | grep stap_ stap_7127 655816 1
(In reply to comment #0) > [eteo@kerndev profiler]$ /usr/bin/env stap -c gaim poll-select.stp 10000 > > (gaim has ended at this point. it just doesn't stop regardless how many ctrl+c I > used) > [1]+ Stopped ./profiler.sh -s poll-select.stp -d 10000 -c gaim Why do you think gaim has exited when it says "stopped" for status? What is "profiler.sh"? Does "ps aux | grep gaim" show anything? > [eteo@kerndev profiler]$ killall -9 stap > [eteo@kerndev profiler]$ sudo killall -9 staprun > [eteo@kerndev profiler]$ ps aux | grep stap > eteo 7127 1.6 0.0 0 0 pts/6 Z 20:51 0:00 [stap] <defunct> > root 7249 0.0 0.0 1488 212 pts/6 D 20:51 0:00 /sbin/rmmod -w > stap_7127.ko Hmmm. Whay is stap zombied? Where is it's parent? > poll-select.stp is a simple stp script that runs for 10000ms, and exit. Does the same thing happen with other scripts? I cannot reproduce this and reading through the code doesn't immediately reveal any places where staprun fails to receive SIGCHLD.
(In reply to comment #2) > (In reply to comment #0) > > [eteo@kerndev profiler]$ /usr/bin/env stap -c gaim poll-select.stp 10000 > > > > (gaim has ended at this point. it just doesn't stop regardless how many ctrl+c I > > used) > > [1]+ Stopped ./profiler.sh -s poll-select.stp -d 10000 -c gaim > > Why do you think gaim has exited when it says "stopped" for status? What is > "profiler.sh"? Does "ps aux | grep gaim" show anything? I should be clearer. To reproduce the problem, type: stap -c gaim -o log -e 'probe syscall.poll { log(argstr) }' When gaim is running, click Buddies from the menu, and then Quit. You will find that you are unable to halt stap/staprun/rmmod. Some programs work, some doesn't. I tried vpngui, it works all the time, I tried Thunderbird, it works sometimes (File -> Quit, but not Alt+F4). I have not check the exit code of these programs, but I am sure that it has stopped running after I quit these programs. I am trying to walkthrough these as a potential end-user. What you see below are what I tried to do to stop stap/staprun/rmmod. > > [eteo@kerndev profiler]$ killall -9 stap > > [eteo@kerndev profiler]$ sudo killall -9 staprun > > [eteo@kerndev profiler]$ ps aux | grep stap > > eteo 7127 1.6 0.0 0 0 pts/6 Z 20:51 0:00 [stap] <defunct> > > root 7249 0.0 0.0 1488 212 pts/6 D 20:51 0:00 /sbin/rmmod -w > > stap_7127.ko > > Hmmm. Whay is stap zombied? Where is it's parent? > > > poll-select.stp is a simple stp script that runs for 10000ms, and exit. > > Does the same thing happen with other scripts? > > I cannot reproduce this and reading through the code doesn't immediately reveal > any places where staprun fails to receive SIGCHLD. > >
Cannot reproduce with current release. If this is still a problem, please reopen with more details.