backtrace and self-compiled module
Christian Kaiser
kaiser@dolphinics.com
Thu Jun 4 11:28:00 GMT 2009
Mark Wielaard wrote:
> Hi Christian,
>
> On Thu, 2009-06-04 at 10:01 +0200, Christian Kaiser wrote:
>> Thanks for your effort but that doesn't solve my problem. It is still
>> two correct lines only...
>>
>> I'll try to give some more detail of what the backtrace should look like.
>>
>> [root@sunf-1 ~]# stap -d kernel -v stack_trace.stp dis_ssocks
>> AF_SCI_stream_trigger_setup
>> [...]
>> ===== (1) =====
>> 0xffffffff8850894a : AF_SCI_stream_trigger_setup+0x1/0x74 [dis_ssocks]
>> 0xffffffff884ff04e : AF_SCI_init_sciconn+0x186/0x1b3 [dis_ssocks]
>> 0x00ffffffff884ff0 : _osif_sock_cb_state_change+0xffffffff884ff0/0x0
>> [dis_ssocks]
>> 0x6800ffffffff884f : _osif_sock_cb_state_change+0x6800ffffffff884f/0x0
>> [dis_ssocks]
>> 0xf16800ffffffff88 : _osif_sock_cb_state_change+0xf16800ffffffff88/0x0
>> [dis_ssocks]
>> [...]
>>
>> should look like:
>>
>> AF_SCI_stream_trigger_setup [dis_ssocks/intr.c]
>> AF_SCI_init_sciconn [dis_ssocks/stream.c]
>> stream_start_connecter [dis_ssocks/connect.c, defined as static]
>> AF_SCI_stream_connect [dis_ssocks/connect.c]
>> [...]
>>
>> I find all symbols except the one for stream_start_connecter (OK since
>> it is defined as static) in the dis_ssocks.ko file.
>>
>> 0000000000013949 T AF_SCI_stream_trigger_setup
>> 0000000000009ec8 T AF_SCI_init_sciconn
>> 000000000000ef70 T AF_SCI_stream_connect
>
> It might just be that the backtracer gets confused somehow. Only now did
> I notice you are using systemtap 0.7.2. Which is fairly old. The whole
> backtrace mechanism was rewired for 0.9.7. The old one kind of just
> "guessed" the addresses on the stack. The new one uses the dwarf
> debug_frame tables to do exact unwinding.
Yes! That's it! I installed the latest release (0.9.7) and that is
printing correct stack traces.
> If possible please do upgrade.
> You can also try to get a bit more debugging output for stap itself by
> running with -DDEBUG_SYMBOLS=1 and/or -DDEBUG_UNWIND=1 (use higher
> values to get more output) to see what stap is trying to do.
>
> Cheers,
>
> Mark
Thanks!
A last question came up to me when I discovered the 'dtrace' called ruby
script in the bin directory. What is it for? I would be great if I could
use my existing D scripts...
Christian
--
Christian Kaiser, Software Engineer, Dolphin Interconnect Solutions
http://www.dolphinics.com
More information about the Systemtap
mailing list