Hi
Could you confirm from the gdb stack trace whether the mangle_filename
function in opd_mangling.c is there in it ? (It'll take me a little
time to reproduce this. Dont know why its not crashing for me).
If so I suspect making the following change at around line 113 in that
file might fix this. I seem to have missed setting the anon_name for
MANGLE_CG_ANON.
else if (last->anon) {
values.flags |= MANGLE_CG_ANON;
values.cg_image_name = mangle_anon(last->anon);
+ values.anon_name = last->anon->name;
Can you try it and let me know ? Or if it works, perhaps you can check it in.
Thanks
-Amitabha
On 2/16/07, Philippe Elie <phil.el@...> wrote:
>
> oprofile cvs, 2.6.18.5, with SEPARATE_LIB=1 ; CALLGRAPH=32
>
> $ opcontrol --start
> ...
> $ opcontrol --definit
>
> dump fail: daemon died during last run ?
> Detected stale lock file. Removing.
> Unloading oprofile module
>
> gdb :
>
> Program terminated with signal 11, Segmentation fault.
> #1 0x08051dbd in op_mangle_filename (values=0xbf93f140) at op_mangle.c:60
> 60 len += strlen(anon_name);
> (gdb) print *values
> $2 = {flags = 80, image_name = 0x8086740 "/usr/X11R6/bin/Xorg",
> anon_name = 0x1d <Address 0x1d out of bounds>,
> dep_name = 0x8086740 "/usr/X11R6/bin/Xorg",
> cg_image_name = 0x80acac8 "2800.0xb7fad000.0xb7fae000",
> event_name = 0x8073390 "CPU_CLK_UNHALTED", count = 100000, unit_mask = 0,
> tgid = -1208913924, tid = -1208907712, cpu = -16}
>
> two try, twice the same segfault, I suspect the last anon patch but didn't
> try to revert it and retest.
>
> --
> regards,
> Philippe Elie
>
>
|