This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[Bug bootstrap/14671] [3.3/3.4 regression] caller-save.c:491: internal compiler error: Segmentation fault


------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2004-05-27 09:38 -------
Subject: Re:  [3.3/3.4 regression] caller-save.c:491:
 internal compiler error: Segmentation fault

On Thu, 27 May 2004, gdr at integrable-solutions dot net wrote:

>
> ------- Additional Comments From gdr at integrable-solutions dot net  2004-05-27 03:55 -------
> Subject: Re:  [3.3/3.4 regression] caller-save.c:491: internal compiler error: Segmentation fault
>
> "pinskia at physics dot uc dot edu" <gcc-bugzilla@gcc.gnu.org> writes:
>
> | Subject: Re:  [3.3/3.4 regression] caller-save.c:491: internal compiler error: Segmentation fault
> |
> |
> | On May 26, 2004, at 23:38, dave at hiauly1 dot hia dot nrc dot ca wrote:
> |
> | > If you look at the comment in ggc-page.c for lookup_page_table_entry,
> | > you will see that it says "Die (probably) if the object wasn't
> | > allocated
> | > via GC."  The patch in question didn't create the object that caused
> | > the ICE.  Thus, as I indicated previously, more information is needed
> | > about the object that caused the ICE, and how and when it was added
> | > to the alias_invariant array.
> |
> | > Richard has indicated that the regression isn't present on 3.4, yet it
> | > has essentially the same change.  If we revert this on 3.5, the pa and
> | > alpha won't build.  The build problems are critical for these ports.
> |
> |
> | I think this was fixed lately on the mainline fully by:
> | <http://gcc.gnu.org/ml/gcc-patches/2004-05/msg01413.html>.
>
> Andrew --
>
> Thanks for the detective work.
>
> | Could someone test the backport of this patch, ggc_free can be safely
> | removed as it is an optimization
>
> Richard --
> Can you try that?  If it works, I'll apply it immediately, plus
> Eric's patch.  Whic I suppose would resolve this very interesting
> issue.

It doesn't solve the problem.  Now it ICEs even compiling the library
itself:

rguenth@alwazn r2 $ g++-3.3 -c
/net/bellatrix/home/rguenth/src/pooma-bk/r2/src/IO/DiskLayout.cmpl.cpp -o
/net/bellatrix/home/rguenth/src/pooma-bk/r2/src/IO/LINUXgcc33a/DiskLayout.cmpl.o
-ftemplate-depth-60 -fno-exceptions -Drestrict=__restrict__   -O2
-funroll-loops -g -I/net/bellatrix/home/rguenth/src/pooma-bk/r2/src
-I/net/bellatrix/home/rguenth/src/pooma-bk/r2/lib/LINUXgcc33a -v
Reading specs from
/net/bellatrix/home/rguenth/ix86/gcc3.3-270504/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.4/specs
Configured with: /home/rguenth/src/gcc/gcc3.3/configure
--prefix=/home/rguenth/ix86/gcc3.3-270504 --enable-languages=c,c++,f77
--enable-threads=posix --enable-__cxa_atexit
--disable-libunwind-exceptions --disable-checking
Thread model: posix
gcc version 3.3.4 20040527 (prerelease)

/net/bellatrix/home/rguenth/ix86/gcc3.3-270504/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.4/cc1plus
-quiet -v -I/net/bellatrix/home/rguenth/src/pooma-bk/r2/src
-I/net/bellatrix/home/rguenth/src/pooma-bk/r2/lib/LINUXgcc33a -iprefix
/net/bellatrix/home/rguenth/ix86/gcc3.3-270504/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.4/
-D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=4 -D_GNU_SOURCE
-Drestrict=__restrict__
/net/bellatrix/home/rguenth/src/pooma-bk/r2/src/IO/DiskLayout.cmpl.cpp
-D__GNUG__=3 -quiet -dumpbase DiskLayout.cmpl.cpp -auxbase-strip
/net/bellatrix/home/rguenth/src/pooma-bk/r2/src/IO/LINUXgcc33a/DiskLayout.cmpl.o
-g -O2 -version -ftemplate-depth-60 -fno-exceptions -funroll-loops -o
/tmp/cc4cbxod.s
GNU C++ version 3.3.4 20040527 (prerelease) (i686-pc-linux-gnu)
	compiled by GNU C version 3.3.4 20040527 (prerelease).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
...
/net/bellatrix/home/rguenth/ix86/gcc3.3-270504/include/c++/3.3.4/bits/vector.tcc:
In
   member function `void std::vector<_Tp,
   _Alloc>::_M_insert_aux(__gnu_cxx::__normal_iterator<_Tp*,
std::vector<_Tp,
   _Alloc> >, const _Tp&) [with _Tp = Observer<UniformGridLayoutData<3>
>*,
   _Alloc = std::allocator<Observer<UniformGridLayoutData<3> >*>]':
/net/bellatrix/home/rguenth/ix86/gcc3.3-270504/include/c++/3.3.4/bits/stl_vector.h:603:
instantiated from `void std::vector<_Tp, _Alloc>::push_back(const _Tp&)
[with _Tp = Observer<UniformGridLayoutData<3> >*, _Alloc =
std::allocator<Observer<UniformGridLayoutData<3> >*>]'
/net/bellatrix/home/rguenth/src/pooma-bk/r2/src/IO/DiskLayout.cmpl.cpp:172:
instantiated from `bool DiskLayout<Dim>::checkLayout() [with int Dim = 3]'
/net/bellatrix/home/rguenth/src/pooma-bk/r2/src/IO/DiskLayout.cmpl.cpp:391:
instantiated from here
/net/bellatrix/home/rguenth/ix86/gcc3.3-270504/include/c++/3.3.4/bits/vector.tcc:257:
internal compiler error: Segmentation
   fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

within gdb its now (look at the invalid pointers passed as args
everywhere):

Program received signal SIGSEGV, Segmentation fault.
0x080dabd1 in memrefs_conflict_p (xsize=4, x=0x26e, ysize=4, y=0x4d5ce960,
c=4)
    at /home/rguenth/src/gcc/gcc3.3/gcc/alias.c:1634
1634	{
(gdb) bt
#0  0x080dabd1 in memrefs_conflict_p (xsize=4, x=0x26e, ysize=4,
y=0x4d5ce960,
    c=4) at /home/rguenth/src/gcc/gcc3.3/gcc/alias.c:1634
#1  0x080db011 in memrefs_conflict_p (xsize=4, x=0x4d84aad4, ysize=4,
    y=0x4d5ce960, c=4) at /home/rguenth/src/gcc/gcc3.3/gcc/alias.c:1755
#2  0x080dbf17 in write_dependence_p (mem=0x4d84ac00, x=0x4d5ceb4c,
writep=0)
    at /home/rguenth/src/gcc/gcc3.3/gcc/alias.c:2344
#3  0x080dbfd0 in anti_dependence (mem=0x4, x=0x4)
    at /home/rguenth/src/gcc/gcc3.3/gcc/alias.c:2363
#4  0x080fbd7c in cselib_mem_conflict_p (mem_base=0x4d5ceb4c,
val=0x4d84ac00)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1053
#5  0x080fbe7c in cselib_invalidate_mem_1 (slot=0x4, info=0x4d5ceb4c)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1133
#6  0x082ff2bf in htab_traverse (htab=0x49233ec8,
    callback=0x80fbe10 <cselib_invalidate_mem_1>, info=0x4d5ceb4c)
    at /home/rguenth/src/gcc/gcc3.3/libiberty/hashtab.c:548
#7  0x080fbee2 in cselib_invalidate_mem (mem_rtx=0x4)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1143
#8  0x080fbf4b in cselib_invalidate_rtx (dest=0x4d5ceb4c,
ignore=0x4d5ceb7c,
    data=0x0) at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1163
#9  0x0824a179 in note_stores (x=0x4d5ceb7c,
    fun=0x80fbef0 <cselib_invalidate_rtx>, data=0x0)
    at /home/rguenth/src/gcc/gcc3.3/gcc/rtlanal.c:1639
#10 0x080fc1d9 in cselib_record_sets (insn=0x4)
---Type <return> to continue, or q <return> to quit---
    at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1296
#11 0x080fc406 in cselib_process_insn (insn=0x48c46108)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1353
#12 0x0815c414 in local_cprop_pass (alter_jumps=1)
    at /home/rguenth/src/gcc/gcc3.3/gcc/gcse.c:4488
#13 0x0815c689 in one_cprop_pass (pass=4, alter_jumps=1)
    at /home/rguenth/src/gcc/gcc3.3/gcc/gcse.c:4562
#14 0x081578d7 in gcse_main (f=0x48c1ddc0, file=0x0)
    at /home/rguenth/src/gcc/gcc3.3/gcc/gcse.c:895
#15 0x08263cdd in rest_of_compilation (decl=0x4a637620)
    at /home/rguenth/src/gcc/gcc3.3/gcc/toplev.c:2874
#16 0x080b908e in genrtl_finish_function (fn=0x4a637620)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cp/semantics.c:2589
#17 0x080b8dbd in expand_body (fn=0x4a637620)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cp/semantics.c:2412
#18 0x08077688 in instantiate_decl (d=0x0, defer_ok=0)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cp/pt.c:10578
#19 0x080779d0 in instantiate_pending_templates ()
    at /home/rguenth/src/gcc/gcc3.3/gcc/cp/pt.c:10655
#20 0x08087abf in finish_file ()
    at /home/rguenth/src/gcc/gcc3.3/gcc/cp/decl2.c:2807
#21 0x08091dac in yyparse () at parse.y:489
#22 0x080d36e9 in c_common_parse_file (set_yydebug=4)
---Type <return> to continue, or q <return> to quit---
    at /home/rguenth/src/gcc/gcc3.3/gcc/c-lex.c:159
#23 0x08261f5a in compile_file ()
    at /home/rguenth/src/gcc/gcc3.3/gcc/toplev.c:2130
#24 0x082670e7 in do_compile ()
    at /home/rguenth/src/gcc/gcc3.3/gcc/toplev.c:5414
#25 0x0826717b in toplev_main (argc=4, argv=0x0)
    at /home/rguenth/src/gcc/gcc3.3/gcc/toplev.c:5444
#26 0x080d93cb in main (argc=4, argv=0x4)
    at /home/rguenth/src/gcc/gcc3.3/gcc/main.c:35
#27 0x4003a8ae in __libc_start_main () from /lib/libc.so.6
(gdb) up 11
#11 0x080fc406 in cselib_process_insn (insn=0x48c46108)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1353
1353	  cselib_record_sets (insn);
(gdb) call debug_rtx(insn)
(insn 50 49 56 2 0x48cca02c (set (mem:SI (reg:SI 63) [664 S4 A32])
        (reg:SI 72)) 38 {*movsi_1} (nil)
    (nil))
(gdb) down 1
#10 0x080fc1d9 in cselib_record_sets (insn=0x4)
    at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1296
1296	  note_stores (body, cselib_invalidate_rtx, NULL);
(gdb) print insn
$2 = 0x4
(gdb) call debug_rtx(body)
(set (mem:SI (reg:SI 63) [664 S4 A32])
    (reg:SI 72))
(gdb) down 2
#8  0x080fbf4b in cselib_invalidate_rtx (dest=0x4d5ceb4c,
ignore=0x4d5ceb7c,
    data=0x0) at /home/rguenth/src/gcc/gcc3.3/gcc/cselib.c:1163
1163	    cselib_invalidate_mem (dest);
(gdb) call debug_rtx(dest)
(mem:SI (reg:SI 63) [664 S4 A32])

not that I can make any sense out of the above.  Note that the
testcase at
http://www.tat.physik.uni-tuebingen.de/~rguenth/gmp_test4.ii.gz
still "works" to reproduce also the above ICE.

Anything else to test?




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14671


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