This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: print_ubacktrace() and ppc 32


Hey,

I quickly discussed this with Mark, comments inline.

[...]

> 
> probe compiled with:
> stap -DDEBUG_UNWIND=99 -g -a powerpc -B CROSS_COMPILE=powerpc-linux- script.stp
> 

Looks good.

> On the target the trace output of staprun is:
> 
> _stp_stack_unwind_one_user:460: STARTING user unwind
>  0x10000448 : foo+0x1c/0x7c [/usr/local/bin/main]
> _stp_stack_unwind_one_user:476: CONTINUING user unwind to depth 1
> unwind:1452: pc=10000448, 10000448
> unwind:1492: trying debug_frame
> unwind_frame:1168: Module /usr/local/bin/main: no unwind frame data
> unwind:1496: debug_frame failed: -5, trying eh_frame
> unwind_frame:1168: Module /usr/local/bin/main: no unwind frame data
> unwind:1504: unwinding failed: -5
> _stp_stack_unwind_one_user:500: ret=-5 PC=10000448 SP=bfffd640

I'm going to assume debuginfo is present, but if stap can't find the
debug_frame or eh_frame, the unwinder shouldn't continue.

> 
> And the probed binary is crashing:
> 
> stap_ac60c2e404cade1c833497ae4f16b820_1577: systemtap: 2.3/0.152, base:
> cc581000, memory: 34data/68text/3ctx/2058net/8alloc kb, probes: 1
> Unable to handle kernel paging request for data at address 0xbffffb10
> Faulting instruction address: 0xc04965d4
> Oops: Kernel access of bad area, sig: 11 [#2]
> PREEMPT km82xx
> Modules linked in: stap_ac60c2e404cade1c833497ae4f16b820_1577(O) [last unloaded:
> stap_ac60c2e404cade1c833497ae4f16b820_1577]
> CPU: 0 PID: 407 Comm: main Tainted: G      D    O 3.10.0-04826-gc82c8d0-dirty #7
> task: c7bab160 ti: c7b8c000 task.ti: c7b8c000
> NIP: c04965d4 LR: c0000028 CTR: c03c742c
> REGS: c7b8de10 TRAP: 0300   Tainted: G      D    O  (3.10.0-04826-gc82c8d0-dirty)
> MSR: 00009032 <EE,ME,IR,DR,RI>  CR: 44000284  XER: 20000000
> DAR: bffffb10, DSISR: 20000000
> 
> GPR00: c00bd950 c7b8dec0 c7bab160 c69d2104 c7b8df50 00000002 cc902209 38205350
> GPR08: c0000000 c050b668 00000000 3b9aca00 28000288 10018794 00000000 00000000
> GPR16: 00000000 00000000 00000000 00000000 100ab3f5 10081f20 c0440928 00000000
> GPR24: c69d20d0 c69d2104 c69d20c0 00000000 c7b8c000 c7b8df50 c0000028 00000002
> NIP [c04965d4] prom_init+0x28/0xfc0
> LR [c0000028] __start+0x1c/0x30
> Call Trace:
> [c7b8dec0] [c00bd950] uprobe_notify_resume+0x4dc/0x920 (unreliable)
> [c7b8df30] [c00099b0] do_notify_resume+0x78/0x94
> [c7b8df40] [c0010848] do_user_signal+0x74/0xc4
> --- Exception: 700 at 0x10000448
>     LR = 0x100004ec
> Instruction dump:
> 9361004c 7cbb2b78 93a10054 7c9d2378 93c10058 7fc802a6 93e1005c 7cbf2b78
> 90010064 91c10018 93810050 91810014 <821efae8> 823eff98 88040000 829efaec
> ---[ end trace e21ded4f2ec79037 ]---
> 
> Segmentation fault
> 
> Version numbers:
> Kernel: v3.10
> gcc: powerpc-gcc (GCC) 4.6.4 20120303 (prerelease)
> systemtap: 2.3-32645

Ouch, would you mind running a simple hello world style probe? Along the
lines of 'probe process.function("main") {log("Hello")}' and seeing if
that runs properly?

Thanks for testing,

Lukas

Attachment: pgp1bLrhYhQ0H.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]