A SEGV when compiling OpenOrb
minyard@acm.org
minyard@acm.org
Fri Jun 22 07:24:00 GMT 2001
Alexandre Petit-Bianco <apbianco@cygnus.com> writes:
> minyard@acm.org writes:
>> > Does anyone have any insight on this?
>> Can you send a backtrace so we can see what's calling it? It looks
> like a GC problem. We might be missing a root registration or
> something like that.
>> ./A
Sorry, I should have done that in my first email. BTW, I tried it
with and without my previous patch and with the compiler compiled with
2.95.2 and 3.0. If you can't get it to happen with your compiler, try
adding "-fclasspath=<path to libgcj.jar>:." to the compile flags, I
have another compiler (exact same compiler, but in a different
direcory) that won't do it unless you add that. Here's the GDB
session:
(gdb) run org/openorb/CORBA/dynany/DynAnyImpl.class -fuse-divide-subroutine -fnon-call-exceptions -quiet -dumpbase DynAnyImpl.class -g -O3 -version -fPIC -o /tmp/ccTU68SJ.s
Starting program: /home/minyard/t2/../gcc/install/lib/gcc-lib/i686-pc-linux-gnu/3.0/jc1 org/openorb/CORBA/dynany/DynAnyImpl.class -fuse-divide-subroutine -fnon-call-exceptions -quiet -dumpbase DynAnyImpl.class -g -O3 -version -fPIC -o /tmp/ccTU68SJ.s
GNU Java version 3.0 (i686-pc-linux-gnu)
compiled by GNU C version 3.0.
Program received signal SIGSEGV, Segmentation fault.
0x82ae95a in lookup_page_table_entry (p=0x12400a8)
at ../../gcc-3.0/gcc/ggc-page.c:439
439 return base[L1][L2];
(gdb) bt
#0 0x82ae95a in lookup_page_table_entry (p=0x12400a8)
at ../../gcc-3.0/gcc/ggc-page.c:439
#1 0x82add83 in ggc_set_mark (p=0x12400a8) at ../../gcc-3.0/gcc/ggc-page.c:978
#2 0x808cd58 in ggc_mark_jcf (elt=0x8396440)
at ../../gcc-3.0/gcc/java/jcf-parse.c:120
#3 0x82ab61b in ggc_mark_roots () at ../../gcc-3.0/gcc/ggc-common.c:186
#4 0x82ae34b in ggc_collect () at ../../gcc-3.0/gcc/ggc-page.c:1400
#5 0x809fd55 in rest_of_compilation (decl=0x406b6750)
at ../../gcc-3.0/gcc/toplev.c:2896
#6 0x8074383 in emit_register_classes ()
at ../../gcc-3.0/gcc/java/class.c:1889
#7 0x809054a in yyparse () at ../../gcc-3.0/gcc/java/jcf-parse.c:1141
#8 0x809f1a5 in compile_file (
name=0x83c75c1 "org/openorb/CORBA/dynany/DynAnyImpl.class")
at ../../gcc-3.0/gcc/toplev.c:2369
#9 0x80a3691 in main (argc=13, argv=0xbffff75c)
at ../../gcc-3.0/gcc/toplev.c:4990
#10 0x40046f9f in __libc_start_main () from /lib/libc.so.6
(gdb) up
#1 0x82add83 in ggc_set_mark (p=0x12400a8) at ../../gcc-3.0/gcc/ggc-page.c:978
978 entry = lookup_page_table_entry (p);
(gdb) print p
1ドル = (void *) 0x12400a8
(gdb) x/x p
0x12400a8: Cannot access memory at address 0x12400a8
(gdb) down
#0 0x82ae95a in lookup_page_table_entry (p=0x12400a8)
at ../../gcc-3.0/gcc/ggc-page.c:439
439 return base[L1][L2];
(gdb) print L1
3ドル = 1
(gdb) print L2
4ドル = 576
(gdb) print base
8ドル = (page_entry ***) 0x8393470
(gdb) print base[L1]
9ドル = (page_entry **) 0x0
More information about the Java
mailing list