Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Oct 2013 21:30:09 +0100
From:      symbolics@gmx.com
To:        dtrace@freebsd.org
Subject:   Firefox crash during dtrace attach under -CURRENT
Message-ID:  <20131023203009.GA92945@lemon>

next in thread | raw e-mail | index | archive | help
Hi,

http://dtrace.org/blogs/brendan/2011/02/11/dtrace-pid-provider-arguments/

I tried to follow some of the examples but I crash the Firefox process
each time. Sometimes DTrace manages to collect a little data before the
death.

# dtrace -n 'pid$target::malloc:entry { trace(arg0); }' -p 92974
dtrace: ERROR: gelf_getehdr() failed: No error: 0
[ ~30 lines ]
dtrace: ERROR: gelf_getehdr() failed: No error: 0
dtrace: description 'pid$target::malloc:entry ' matched 1 probe
CPU     ID                    FUNCTION:NAME
  2  53672                   __malloc:entry                48
  2  53672                   __malloc:entry               106
  2  53672                   __malloc:entry               168
  2  53672                   __malloc:entry                57
  2  53672                   __malloc:entry                32
  1  53672                   __malloc:entry                32
  2  53672                   __malloc:entry                22
  2  53672                   __malloc:entry                22
  2  53672                   __malloc:entry                23
  2  53672                   __malloc:entry                23
  2  53672                   __malloc:entry                16
  2  53672                   __malloc:entry                14
  2  53672                   __malloc:entry                40
  2  53672                   __malloc:entry                36
  2  53672                   __malloc:entry               104
  2  53672                   __malloc:entry               160
  2  53672                   __malloc:entry                24
  2  53672                   __malloc:entry                24
  2  53672                   __malloc:entry                14
  2  53672                   __malloc:entry                14
  2  53672                   __malloc:entry                37
  2  53672                   __malloc:entry                37
  2  53672                   __malloc:entry                33
  2  53672                   __malloc:entry                33
  2  53672                   __malloc:entry                16
  2  53672                   __malloc:entry                14
  2  53672                   __malloc:entry                40
  2  53672                   __malloc:entry                36
  2  53672                   __malloc:entry               104
  2  53672                   __malloc:entry               160
  2  53672                   __malloc:entry                29
  2  53672                   __malloc:entry                29
  2  53672                   __malloc:entry                80
dtrace: processing aborted: No error: 0

>From the Firefox core:

#0  StackShape (this=0x8150154b1, shape=@0x8150154d1) at Barrier.h:156
156     Barrier.h: No such file or directory.
        in Barrier.h
[New Thread 816d60400 (LWP 100253/mozStorage #6)]
[New Thread 815de2c00 (LWP 100251/mozStorage #5)]
[New Thread 81b008c00 (LWP 100249/DOM Worker)]
[New Thread 816b5f400 (LWP 100248/DNS Resolver #3)]
[New Thread 81ace7800 (LWP 100247/ImageDecoder #2)]
[New Thread 81a405800 (LWP 100246/DNS Resolver #2)]
[New Thread 815fcc800 (LWP 100245/Cache Deleter)]
[New Thread 81905b400 (LWP 100244/DNS Resolver #1)]
[New Thread 818451c00 (LWP 100243/Proxy Resolution)]
[New Thread 818450c00 (LWP 100242/mozStorage #4)]
[New Thread 81841fc00 (LWP 100241/URL Classifier)]
[New Thread 8175ecc00 (LWP 100240/Cert Verify)]
[New Thread 817dc0400 (LWP 100238/mozStorage #3)]
[New Thread 817dbbc00 (LWP 100237/localStorage DB)]
[New Thread 815bc9400 (LWP 100236/mozStorage #2)]
[New Thread 815bcb400 (LWP 100235/mozStorage #1)]
[New Thread 816b58000 (LWP 100232/ImageDecoder #1)]
[New Thread 801a04000 (LWP 100231/HTML5 Parser)]
[New Thread 815fc6800 (LWP 100230/Cache I/O)]
[New Thread 815133400 (LWP 100228/DOM Worker)]
[New Thread 813989800 (LWP 100227/Timer)]
[New Thread 813845800 (LWP 100226/Hang Monitor)]
[New Thread 813843400 (LWP 100218/JS Watchdog)]
[New Thread 813842c00 (LWP 100213/firefox)]
[New Thread 813842800 (LWP 100212/JS GC Helper)]
[New Thread 813842400 (LWP 100211/Socket Thread)]
[New Thread 801a09400 (LWP 100206/Gecko_IOThread)]
[New Thread 801a02400 (LWP 100182/firefox)]
# (gdb) bt full
#0  StackShape (this=0x8150154b1, shape=@0x8150154d1) at Barrier.h:156
No locals.
#1  0x0000000804a6bb11 in js::PropertyTree::insertChild (this=<value optimized out>, 
    cx=0x813834a00, parent=0x815987830, child=0xdadada0000006500)
    at jspropertytree.cpp:52
        kidp = (js::KidsPointer *) 0xdadada0000006400
Previous frame inner to this frame (corrupt stack?)

A different core gives a different stack trace. These were the only two
I saw.

#0  thr_kill () at thr_kill.S:3
3       thr_kill.S: No such file or directory.
        in thr_kill.S
[New Thread 816fd8000 (LWP 100287/mozStorage #7)]
[New Thread 815fc4c00 (LWP 100286/mozStorage #6)]
[New Thread 81b476800 (LWP 100284/DOM Worker)]
[New Thread 81903c800 (LWP 100279/Proxy Resolution)]
[New Thread 81903bc00 (LWP 100278/mozStorage #5)]
[New Thread 81856fc00 (LWP 100277/URL Classifier)]
[New Thread 81856ac00 (LWP 100276/Cert Verify)]
[New Thread 816fda800 (LWP 100275/mozStorage #4)]
[New Thread 817dd9800 (LWP 100274/mozStorage #3)]
[New Thread 817dd6800 (LWP 100273/localStorage DB)]
[New Thread 816a70400 (LWP 100272/mozStorage #2)]
[New Thread 816f4b800 (LWP 100271/mozStorage #1)]
[New Thread 801a04000 (LWP 100266/HTML5 Parser)]
[New Thread 815fc5800 (LWP 100265/Cache I/O)]
[New Thread 815133400 (LWP 100263/DOM Worker)]
[New Thread 813989800 (LWP 100262/Timer)]
[New Thread 813845800 (LWP 100261/Hang Monitor)]
[New Thread 813843400 (LWP 100260/JS Watchdog)]
[New Thread 813842c00 (LWP 100259/firefox)]
[New Thread 813842800 (LWP 100258/JS GC Helper)]
[New Thread 813842400 (LWP 100257/Socket Thread)]
[New Thread 801a09400 (LWP 100256/Gecko_IOThread)]
[New Thread 801a02400 (LWP 100177/firefox)]
(gdb) bt
#0  thr_kill () at thr_kill.S:3
#1  0x00000008024e187a in nsProfileLock::FatalSignalHandler (signo=11, 
    info=<value optimized out>, context=<value optimized out>)
    at nsProfileLock.cpp:180
#2  0x000000080113f3c6 in handle_signal (actp=<value optimized out>, sig=11, 
    info=0x7fffffffc270, ucp=0x7fffffffbf00)
    at /usr/home/dm/git/freebsd/lib/libthr/thread/thr_sig.c:237
#3  0x000000080113efc9 in thr_sighandler (sig=11, info=<value optimized out>, 
    _ucp=<value optimized out>)
    at /usr/home/dm/git/freebsd/lib/libthr/thread/thr_sig.c:182
#4  0x00007ffffffff003 in ?? ()
#5  0x000000080113eeb0 in sigaction ()
    at /usr/home/dm/git/freebsd/lib/libthr/thread/thr_sig.c:566
Previous frame inner to this frame (corrupt stack?)
Current language:  auto; currently asm

Is this a known problem or should I send a PR?

--sym



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131023203009.GA92945>