[ltt-dev] Insight into crash on powerpc with ust-0.11
Mathieu Desnoyers
compudj at krystal.dyndns.org
Thu Feb 10 18:57:17 EST 2011
* Jason Wessel (jason.wessel at windriver.com) wrote:
> I built and linked a PPC application with -lust it gets a segmentation
> fault before it ever gets to main().
>
Hi Jason,
Before we dig further, what version of UST are you using ? Can you try
with the version in the git HEAD at http://lttng.org/ust ?
Thanks!
Mathieu
> Breakpoint 1 at 0x10001b04: file src/main.c, line 196.
> (gdb) c
> Continuing.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0fd97b5c in marker_probe_register (channel=0xfdae034 "metadata", name=0xfdae050 "core_marker_format", format=0x0, probe=0xfd9f6d4 <ltt_vtrace>,
> probe_private=0x1002e070) at marker.c:799
> 799 trace_mark(metadata, core_marker_id,
> (gdb) bt
> #0 0x0fd97b5c in marker_probe_register (channel=0xfdae034 "metadata", name=0xfdae050 "core_marker_format", format=0x0, probe=0xfd9f6d4 <ltt_vtrace>,
> probe_private=0x1002e070) at marker.c:799
> #1 0x0fd9a5f8 in ltt_marker_connect (channel=0xfdae034 "metadata", mname=0xfdae050 "core_marker_format", pname=<value optimized out>) at marker-control.c:187
> #2 0x0fd9a740 in init_marker_control () at marker-control.c:416
> #3 0x0fdabc50 in __do_global_ctors_aux () from /ord-gp11/jwessel/42/lemon_p2020/export/dist/usr/lib/libust.so.0
> #4 0x0fd94a84 in _init () from /ord-gp11/jwessel/42/lemon_p2020/export/dist/usr/lib/libust.so.0
> #5 0x0ffceaf8 in call_init (l=0x48000a70, argc=1, argv=0xbfe2cc34, env=0xbfe2cc3c) at dl-init.c:70
> #6 0x0ffcec60 in _dl_init (main_map=0xfff08e8, argc=1, argv=0xbfe2cc34, env=0xbfe2cc3c) at dl-init.c:134
> #7 0x0ffd67d4 in _start () from /ord-gp11/jwessel/42/lemon_p2020/export/dist/lib/ld.so.1
> Backtrace stopped: frame did not save the PC
> (gdb)
>
> With some disassembly:
> (gdb) disas /m $pc-16,$pc+16
> Dump of assembler code from 0xfd97b4c to 0xfd97b6c:
> 797 entry->event_id = ret;
> 0x0fd97b4c <marker_probe_register+1888>: clrlwi r8,r28,16
> 0x0fd97b50 <marker_probe_register+1892>: sth r8,54(r31)
>
> 798 ret = 0;
> 799 trace_mark(metadata, core_marker_id,
> 0x0fd97b54 <marker_probe_register+1896>: lis r3,3
> 0x0fd97b58 <marker_probe_register+1900>: ori r3,r3,12120
> => 0x0fd97b5c <marker_probe_register+1904>: lbz r0,12(r3)
> 0x0fd97b60 <marker_probe_register+1908>: li r24,1
> 0x0fd97b64 <marker_probe_register+1912>: cmpwi cr7,r0,0
> 0x0fd97b68 <marker_probe_register+1916>: beq+ cr7,0xfd97bf0 <marker_probe_register+2052>
> 0x0fd97b6c <marker_probe_register+1920>: li r0,4
> 0x0fd97b70 <marker_probe_register+1924>: li r4,0
> 0x0fd97b74 <marker_probe_register+1928>: stw r0,8(r1)
> 0x0fd97b78 <marker_probe_register+1932>: addi r5,r1,24
> 0x0fd97b7c <marker_probe_register+1936>: stw r0,12(r1)
>
> I am assuming there is something wrong with the trace_mark macro but I had not dug into how it actually works, and thought I might ask here first if anyone had any ideas.
>
> Thanks,
> Jason.
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list