This is sources Bugzilla
Bugzilla Version 2.17.5
Bugzilla Bug 3718
  -c option runs a program but doesn't exit Last modified: 2007-09-19 21:06:10
     Query page      Enter new bug
Bug#: 3718   Hardware:   Reporter: Eugene Teo <eteo@redhat.com>
Host: Target: Build:
Product:     Add CC:
Component:   Version:   CC:
Remove selected CCs
Status: RESOLVED   Priority:  
Resolution: FIXED   Severity:  
Assigned To: Unassigned <systemtap@sources.redhat.com>   Target Milestone:  
Summary:
Keywords:

Attachment Description Type Created Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 3718 depends on: Show dependency tree
Show dependency graph
Bug 3718 blocks:

Additional Comments:


Leave as RESOLVED FIXED
Reopen bug
Mark bug as VERIFIED

View Bug Activity   |   Format For Printing


Description:   Last confirmed: 0000-00-00 00:00 Opened: 2006-12-14 13:14
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.

------- Additional Comment #1 From Eugene Teo 2006-12-14 13:20 -------
[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

------- Additional Comment #2 From Martin Hunt 2006-12-14 18:27 -------
(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.  


------- Additional Comment #3 From Eugene Teo 2006-12-15 00:41 -------
(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.  
> 
> 

------- Additional Comment #4 From Martin Hunt 2007-09-19 21:06 -------
Cannot reproduce with current release. If this is still a problem, please reopen
with more details.

     Query page      Enter new bug
Actions: New | Query | bug # | Reports | Requests   New Account | Log In