This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug uprobes/15344] New: User probe with process(PID).statement(ADDRESS).absolute hangs the system
- From: "karmarkar at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Mon, 08 Apr 2013 08:40:39 +0000
- Subject: [Bug uprobes/15344] New: User probe with process(PID).statement(ADDRESS).absolute hangs the system
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=15344
Bug #: 15344
Summary: User probe with
process(PID).statement(ADDRESS).absolute hangs the
system
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: uprobes
AssignedTo: systemtap@sourceware.org
ReportedBy: karmarkar@gmail.com
Classification: Unclassified
I have systemtap installed with following version:
Systemtap translator/driver (version 1.7/0.152 non-git sources)
Copyright (C) 2005-2012 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 NLS
I need to trace a user level address, when I don't have DWARF information. I
did this:
(libmyDnet.so does not have DWARF info)
cat /proc/<PID>/maps | grep libmyDnet.so
--> I get the virtual memory space start address where this library is located
(Y). I think use nm to locate the offset of my function of interest (myfunc)
from the top of the library like so:
nm -C libmyDnet.so | grep myfunc
Based on this offset from the top of the lib (X), I locate the absolute address
in my virtual address space. (X+Y) and I set a probe as such:
probe process(<PID>).statement (0x<X+Y>).absolute
{
printf ("myfunc() called\n");
}
However when I run stap with this, my system hangs, and becomes unresponsive.
Does the user level probe work?
I tried various other probes and they work just fine. My user level probes work
fine otherwise.
To debug, I tried all of the above with DWARF information (compiled the library
with -g), I set a different probe by process/library/function and it works
fine. A backtrace reports the expected address calculated by the method
described above. However when I repeat the probe process(<PID>).statement
(0x<X+Y>).absolute on this setup, my system hangs and becomes unresponsive.
I am unable to locate any information on whether I am doing something wrong and
whether this is/is not supported and how to debug. Is this a known issue?
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.