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]

Reply via email to