This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
stap uretprobe on null function
- From: Jim Keniston <jkenisto at linux dot vnet dot ibm dot com>
- To: SystemTap <systemtap at sources dot redhat dot com>
- Date: Mon, 16 Apr 2012 15:37:05 -0700
- Subject: stap uretprobe on null function
Hi. A coworker ran into trouble with a probe of the form
probe process("/path/to/executable").function("*").return { ... }
This created probes on 3884 functions. He ran the program using "stap
-c", and the probed process died shortly after it started. This was
repeatable.
He started cutting back on the set of functions he probed, and he
finally determined that probing one particular function was causing the
crash. That function is empty:
void xxx(void)
{
return;
}
(I'd think that gcc would inline it, so stap wouldn't try to put a
return probe on it.)
He tried to re-create the problem with a simpler program, but so far
without success.
Before we spend too much more time investigating this, have you seen
this type of failure before? Below is the info about his system and
stap. Note that it's stap v1.3 and gcc v4.1.2.
BTW, we haven't yet determined precisely how the process is dying. The
lack of stap output (a summary of function calls) suggests that it's
dying before the first uretprobe hit is handled.
Thanks.
Jim
[root@test120 src]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
[root@elm3c120 src]# stap -V
SystemTap translator/driver (version 1.3/0.148 non-git sources)
Copyright (C) 2005-2010 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
enabled features: AVAHI LIBRPM LIBSQLITE3 NSS BOOST_SHARED_PTR
TR1_UNORDERED_MAP
[root@test120 src]# gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada
--enable-java-awt=gtk --disable-dssi --disable-plugin
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)
[root@test120 src]# uname -a
Linux test120 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64
x86_64 x86_64 GNU/Linux