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/12275] New: uretprobes break exception handling


http://sourceware.org/bugzilla/show_bug.cgi?id=12275

           Summary: uretprobes break exception handling
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: uprobes
        AssignedTo: systemtap@sources.redhat.com
        ReportedBy: jistone@redhat.com


When a uretprobe is placed on a function that throws an exception, the caller
is unable to catch it.

$ cat throw.cxx
#include <stdexcept>
void foo() { throw std::runtime_error("oops!"); }
int main() {
    try { foo(); } catch (std::runtime_error&) {}
    return 0;
}
$ g++ -g -O2 throw.cxx -o throw
$ ./throw
$ stap -we 'probe process("./throw").function("foo").return {}' -c ./throw
terminate called after throwing an instance of 'std::runtime_error'
  what():  oops!

-- 
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]