This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug uprobes/15344] New: User probe with process(PID).statement(ADDRESS).absolute hangs the system


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]