> 
> On Mon, Jan 23, 2006 at 03:28:59PM -0500, Andrew Pinski wrote:
> > > 
> > > On Mon, Jan 23, 2006 at 03:16:56PM -0500, Andrew Pinski wrote:
> > > > > 
> > > > > That's the genextract crash that rth is seeing on ppc-linux.  Can you 
> > > > > also
> > > > > reproduce the ppc-darwin genautomata crash?
> > > > 
> > > > Nope. genautomata just works.
> > > 
> > > Clarification please.  In a cross configuration targeting ppc-darwin, 
> > > genextract
> > > crashes and genautomata just works?  Or, in a cross configuration 
> > > targeting
> > > ppc-linux, genextract crashes and genautomata just works?  Or what?
> > 
> > in a cross to targetting powerpc-darwin, genextract crashes and genautomata 
> > works.
> > 
> > Should I also see what happens for powerpc-linux?
> 
> If you can, that would be helpful.


The same thing happens targetting powerpc-linux in that genextract crashes and
genautomata works.

> 
> Also, if you have access to valgrind (I can't remember if it works on x86-64 
> yet?)
> you could run both programs under it and report what it says, since this seems
> to be a bad-memory-access issue.  The output might be huge - maybe best to 
> take
> that to private mail.

Yes valgrind works on x86_64.
The output is not that huge, it is only 17k.

Attached is the output.

Thanks,
Andrew Pinski

==21865== Memcheck, a memory error detector.
==21865== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==21865== Using LibVEX rev 1367, a library for dynamic binary translation.
==21865== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==21865== Using valgrind-3.0.1, a dynamic binary instrumentation framework.
==21865== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==21865== For more details, rerun with: -v
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x119106B1: (within /lib/ld-2.3.5.so)
==21865==    by 0x11904454: (within /lib/ld-2.3.5.so)
==21865==    by 0x11904A9C: (within /lib/ld-2.3.5.so)
==21865==    by 0x11902360: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x119104C0: (within /lib/ld-2.3.5.so)
==21865==    by 0x11904034: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190659E: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900ACA: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190B13F: (within /lib/ld-2.3.5.so)
==21865==    by 0x11902F06: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x119104CF: (within /lib/ld-2.3.5.so)
==21865==    by 0x11904034: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190659E: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900ACA: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190B13F: (within /lib/ld-2.3.5.so)
==21865==    by 0x11902F06: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x119104DE: (within /lib/ld-2.3.5.so)
==21865==    by 0x11904034: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190659E: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900ACA: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190B13F: (within /lib/ld-2.3.5.so)
==21865==    by 0x11902F06: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x1191067D: (within /lib/ld-2.3.5.so)
==21865==    by 0x11904041: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190659E: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900ACA: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190B13F: (within /lib/ld-2.3.5.so)
==21865==    by 0x11902F06: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x1191067D: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190887C: (within /lib/ld-2.3.5.so)
==21865==    by 0x11904DF3: (within /lib/ld-2.3.5.so)
==21865==    by 0x11906612: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900ACA: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190B13F: (within /lib/ld-2.3.5.so)
==21865==    by 0x11902F06: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x11908F11: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190264D: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Conditional jump or move depends on uninitialised value(s)
==21865==    at 0x11908F51: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190264D: (within /lib/ld-2.3.5.so)
==21865==    by 0x1190EB6F: (within /lib/ld-2.3.5.so)
==21865==    by 0x119014ED: (within /lib/ld-2.3.5.so)
==21865==    by 0x11900A37: (within /lib/ld-2.3.5.so)
==21865== 
==21865== Invalid read of size 4
==21865==    at 0x40199B: VEC_locstr_base_length (genextract.c:74)
==21865==    by 0x401CA3: VEC_safe_set_locstr (genextract.c:192)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7260 is 0 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 4
==21865==    at 0x40192E: VEC_locstr_base_index (genextract.c:74)
==21865==    by 0x401CE3: VEC_safe_set_locstr (genextract.c:194)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7260 is 0 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 8
==21865==    at 0x40195B: VEC_locstr_base_index (genextract.c:74)
==21865==    by 0x401CE3: VEC_safe_set_locstr (genextract.c:194)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F72B0 is 80 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 4
==21865==    at 0x401FC1: VEC_locstr_base_replace (genextract.c:74)
==21865==    by 0x401D38: VEC_safe_set_locstr (genextract.c:195)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7260 is 0 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 8
==21865==    at 0x401FEE: VEC_locstr_base_replace (genextract.c:74)
==21865==    by 0x401D38: VEC_safe_set_locstr (genextract.c:195)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F72B0 is 80 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid write of size 8
==21865==    at 0x402004: VEC_locstr_base_replace (genextract.c:74)
==21865==    by 0x401D38: VEC_safe_set_locstr (genextract.c:195)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F72B0 is 80 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 4
==21865==    at 0x40199B: VEC_locstr_base_length (genextract.c:74)
==21865==    by 0x40137F: gen_insn (genextract.c:122)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7260 is 0 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 4
==21865==    at 0x40192E: VEC_locstr_base_index (genextract.c:74)
==21865==    by 0x40148D: gen_insn (genextract.c:134)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7260 is 0 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 8
==21865==    at 0x40195B: VEC_locstr_base_index (genextract.c:74)
==21865==    by 0x40148D: gen_insn (genextract.c:134)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7268 is 8 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid read of size 1
==21865==    at 0x401706: gen_insn (genextract.c:174)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7268 is 8 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== Invalid free() / delete / delete[]
==21865==    at 0x11B1DA33: free (vg_replace_malloc.c:235)
==21865==    by 0x40184D: VEC_locstr_heap_free (genextract.c:77)
==21865==    by 0x40179E: gen_insn (genextract.c:179)
==21865==    by 0x40298D: main (genextract.c:418)
==21865==  Address 0x123F7260 is 0 bytes inside a block of size 88 free'd
==21865==    at 0x11B1E2F2: realloc (vg_replace_malloc.c:306)
==21865==    by 0x40A52C: xrealloc (xmalloc.c:179)
==21865==    by 0x408D47: vec_heap_o_reserve (vec.c:138)
==21865==    by 0x408CEF: vec_heap_p_reserve (vec.c:121)
==21865==    by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77)
==21865==    by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77)
==21865==    by 0x401D9E: VEC_safe_set_locstr (genextract.c:201)
==21865==    by 0x402194: walk_rtx (genextract.c:238)
==21865==    by 0x402431: walk_rtx (genextract.c:286)
==21865==    by 0x402234: walk_rtx (genextract.c:251)
==21865==    by 0x401295: gen_insn (genextract.c:108)
==21865==    by 0x40298D: main (genextract.c:418)
==21865== 
==21865== ERROR SUMMARY: 290 errors from 19 contexts (suppressed: 0 from 0)
==21865== malloc/free: in use at exit: 2185158 bytes in 38934 blocks.
==21865== malloc/free: 50603 allocs, 11671 frees, 16836446 bytes allocated.
==21865== For counts of detected errors, rerun with: -v
==21865== searching for pointers to 38934 not-freed blocks.
==21865== checked 1459296 bytes.
==21865== 
==21865== LEAK SUMMARY:
==21865==    definitely lost: 810832 bytes in 34096 blocks.
==21865==      possibly lost: 0 bytes in 0 blocks.
==21865==    still reachable: 1374326 bytes in 4838 blocks.
==21865==         suppressed: 0 bytes in 0 blocks.
==21865== Use --leak-check=full to see details of leaked memory.

Reply via email to