Bug 1527809

Summary: staprun cannot detach
Product: Red Hat Enterprise Linux 7 Reporter: Ichiko Sakamoto <i.sakamoto>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
Status: CLOSED ERRATA QA Contact: Martin Cermak <mcermak>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: dsmith, jistone, lberk, lmiksik, mbenitez, mcermak, mjw
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: systemtap-3.2-4.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 16:32:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ichiko Sakamoto 2017-12-20 07:53:56 UTC
Description of problem:
staprun(8) manual says
"Users can also detach from the kernel module interactively by sending  the SIGQUIT signal from the keyboard".
But, staprun cannot detach from kernel module with SIGQUIT.

Version-Release number of selected component (if applicable):
systemtap-runtime-3.1-4.el7_4.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Load module
 # staprun -L xxx.ko
2. Attach
 # staprun xxx
3. Send SIGQUIT

Actual results:
The kernel module was unloaded and staprun exited.

Expected results:
staprun detached from the kernel module and exited.

Additional info:
stp_main_loop seems to ignore "load_only" flag when receiving STP_EXIT.

mainloop.c
--
599 int stp_main_loop(void)
...
819     case STP_EXIT:
820       {
821         /* module asks us to unload it and exit */
822         dbug(2, "got STP_EXIT\n");
823         if (monitor)
824                 monitor_exited();
825         else
826                 cleanup_and_exit(0, error_detected);
                                     ^ detach = 0
827         /* monitor mode exit handled elsewhere, later. */
828         break;
829       }
--

Comment 2 David Smith 2018-01-26 15:28:41 UTC
I took a look at this one and fixed this upstream in commit b8d11c5e0:

https://sourceware.org/git/gitweb.cgi?p=systemtap.git;a=commit;h=b8d11c5e07aa1dcc8e7ec4ffff645d0589579dea

I didn't see any testsuite regressions after applying this patch. This patch also includes a new test so that we'll notice if this problem reappears.

This patch will need to be backported.

Comment 7 errata-xmlrpc 2018-04-10 16:32:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:0906