On Sun, Sep 21, 2008 at 7:52 PM, Chad Mynhier <[EMAIL PROTECTED]> wrote: > On Sun, Sep 21, 2008 at 9:29 AM, Cyril Plisko <[EMAIL PROTECTED]> wrote: >> Hello ! >> >> I am helping some guys with migration to DTrace in their (quite big) >> application. during the migration they hit very strange problem. > > Cyril, > > Something you could try is running dtrace with the environment > variable DTRACE_DEBUG set to 1. This will give you copious amounts of > debugging data. (If you've never looked at this debugging data, try > looking at it for something very simple, like "dtrace -n > 'pid$target::main:entry' -c ls" to get a feel for what the output > looks like.) The output you see when the application hangs is likely > to be a good starting point for debugging this. >
Chad, many thanks for the hint. I've tried DTRACE_DEBUG and when the application hangs it (dtrace) runs through an endless of the next messages. libdtrace DEBUG: lookup of ___SUNW_dof succeeded for libc.so.1 libdtrace DEBUG: lookup of __SUNW_dof succeeded for iopd.so libdtrace DEBUG: lookup of __SUNW_dof succeeded for libemc.so.1 libdtrace DEBUG: lookup of __SUNW_dof succeeded for libthrpool.so.1 libdtrace DEBUG: lookup of __SUNW_dof succeeded for librdm.so.1 libdtrace DEBUG: lookup of __SUNW_dof succeeded for libtcpcomm.so.1 libdtrace DEBUG: lookup of __SUNW_dof succeeded for libcore_if2.so.1 libdtrace DEBUG: lookup of __SUNW_dof succeeded for lsi_inf.so libdtrace DEBUG: lookup of __SUNW_dof succeeded for san_tap.so libdtrace DEBUG: lookup of __SUNW_dof succeeded for booter libdtrace DEBUG: lookup of __SUNW_dof succeeded for libcommon.so.1 libdtrace DEBUG: lookup of __SUNW_dof succeeded for libCrun.so.1 All the shared objects (except libc.so.1 and libCrun.so.1 of course) here are internal to application in hand. I admit I have little idea what does that mean, or what should I do next to understand the problem. Any guidance will be heartly appreciated. >> >> >> A number of times we've managed to crash the application when >> terminated the dtrace with Ctrl-C. When this happened the stack always >> showed the rtld_db_dlactivity at the top of the stack (see below). >> > > DTrace currently uses breakpoints in a few places, rtld_db_activity > being one of them. What's likely happening is that your dtrace > invocation isn't cleaning up after itself when you kill it. The > application hits the breakpoint and crashes. See > http://bugs.opensolaris.org/view_bug.do?bug_id=6593259 and related > bugs. (I'm currently working on this bug.) > > Chad > -- Regards, Cyril _______________________________________________ dtrace-discuss mailing list [email protected]
