This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug runtime/13142] New: Stopping script execution on Android (ARM) does not unload kernel module
- From: "f-turgis at ti dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Tue, 30 Aug 2011 13:13:29 +0000
- Subject: [Bug runtime/13142] New: Stopping script execution on Android (ARM) does not unload kernel module
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=13142
Bug #: 13142
Summary: Stopping script execution on Android (ARM) does not
unload kernel module
Product: systemtap
Version: unspecified
Status: NEW
Severity: minor
Priority: P2
Component: runtime
AssignedTo: systemtap@sourceware.org
ReportedBy: f-turgis@ti.com
Classification: Unclassified
Testing systemtap v1.3 and v1.5 on android has shown that kernel module is not
unloaded after doing Ctrl-C.
Thanks to systemtap verbose traces, this has been root caused to the use of:
execl("/bin/sh", "sh", ...) in runtime/staprun/mainloop.c
Android stores sh in /system/bin so is not found by syscall. However, path is
correctly set in PATH env variable.
Therefore Franck Ch. Eigler has proposed execlp("sh", "sh", ...) so that system
call looks for right path in PATH.
It has been tested OK. Furthermore, there was potential issue with this (see
execvp comments in same file) but it has been found that:
"On second thought ... the place where we were worried about these extra
syscalls is the path that fork/exec's the CMD part of "stap -c CMD". In the
case of system_cmd() and cleanup_and_exit(), those don't matter."
Note that there are then 2 places where execl could be replaced by execlp
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.