Ryan Johnson
2010-07-15 13:51:12 UTC
Hi all,
Odd behavior here: I'm using the profile probe to sample stack traces in
my app, 100+ threads banging hard on a T5440. The script exits after 30
seconds of profiling and seg faults while trying to print the aggregated
aggsize=256k' -- rerunning with aggsize=2048k makes the problem go away.
Note that I didn't see any messages from dtrace about drops, so I can't
say whether 256k should have been enough or not. However, the app has a
lot of code and deep call stacks, so I could easily imagine 256k not
being enough.
Ideas? Should I file a bug report?
Ryan
Odd behavior here: I'm using the profile probe to sample stack traces in
my app, 100+ threads banging hard on a T5440. The script exits after 30
seconds of profiling and seg faults while trying to print the aggregated
$ dbx - core
Corefile specified executable: "/usr/sbin/sparcv9/dtrace"
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.8' in
your .dbxrc
Reading /usr/sbin/sparcv9/dtrace
core file header read successfully
<snipped long list of .so files>Corefile specified executable: "/usr/sbin/sparcv9/dtrace"
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.8' in
your .dbxrc
Reading /usr/sbin/sparcv9/dtrace
core file header read successfully
program terminated by signal SEGV (no mapping at the fault address)
0xffffffff7e8a8ff0: _ndoprnt+0x0004: stx %i2, [%sp + 2223]
(dbx) bt
=>[1] _ndoprnt()
[2] snprintf()
[3] dtrace_uaddr2str()
[4] pfprint_uaddr()
[5] dt_printf_format()
[6] dt_fprinta()
[7] dt_aggregate_walk_sorted()
[8] dtrace_fprinta()
[9] dt_consume_cpu()
[10] dtrace_consume()
[11] dtrace_work()
[12] main()
The problem seems related to the fact that I had specified 'dtrace -x0xffffffff7e8a8ff0: _ndoprnt+0x0004: stx %i2, [%sp + 2223]
(dbx) bt
=>[1] _ndoprnt()
[2] snprintf()
[3] dtrace_uaddr2str()
[4] pfprint_uaddr()
[5] dt_printf_format()
[6] dt_fprinta()
[7] dt_aggregate_walk_sorted()
[8] dtrace_fprinta()
[9] dt_consume_cpu()
[10] dtrace_consume()
[11] dtrace_work()
[12] main()
aggsize=256k' -- rerunning with aggsize=2048k makes the problem go away.
Note that I didn't see any messages from dtrace about drops, so I can't
say whether 256k should have been enough or not. However, the app has a
lot of code and deep call stacks, so I could easily imagine 256k not
being enough.
Ideas? Should I file a bug report?
Ryan