This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Freeze in GC_suspend_handler
Maybe thread 1 is more interesting. I include the stack at the end. I
should also mention that a SEGV is caught earlier, but I read in the
debug page (or the FAQ) that it is normal, used by gcj to find boundaries.
From the begining:
Starting program: /home/daniel/Nice/bin/nicec.bin
--runtime=share/java/nice.jar -r regtest.basic
[New Thread 1024 (LWP 5633)]
[New Thread 2049 (LWP 5634)]
[New Thread 1026 (LWP 5635)]
Compiling package nice.lang
Compiling package regtest.basic
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 5633)]
0x4039cf70 in _Jv_MarkObj () from /usr/lib/libgcj.so.3
(gdb) where
#0 0x4039cf70 in _Jv_MarkObj () from /usr/lib/libgcj.so.3
#1 0x403a69b6 in GC_mark_from () from /usr/lib/libgcj.so.3
#2 0x403a62b8 in GC_mark_some () from /usr/lib/libgcj.so.3
#3 0x4039fa76 in GC_stopped_mark () from /usr/lib/libgcj.so.3
#4 0x4039f808 in GC_try_to_collect_inner () from /usr/lib/libgcj.so.3
#5 0x403a042d in GC_collect_or_expand () from /usr/lib/libgcj.so.3
#6 0x403a05ee in GC_allocobj () from /usr/lib/libgcj.so.3
#7 0x403a4e93 in GC_generic_malloc_inner () from /usr/lib/libgcj.so.3
#8 0x403a4f82 in GC_generic_malloc () from /usr/lib/libgcj.so.3
#9 0x403a5142 in GC_malloc_atomic () from /usr/lib/libgcj.so.3
#10 0x40223891 in _Jv_AllocPtrFreeObject () from /usr/lib/libgcj.so.3
#11 0x4024f4df in _Jv_AllocString () from /usr/lib/libgcj.so.3
#12 0x4025026b in java::lang::String::replace(wchar_t, wchar_t) ()
from /usr/lib/libgcj.so.3
#13 0x4024b5dc in
gnu::gcj::runtime::VMClassLoader::findClass(java::lang::String*) () from
/usr/lib/libgcj.so.3
#14 0x4025c414 in
java::lang::ClassLoader::loadClass(java::lang::String*, bool)
() from /usr/lib/libgcj.so.3
#15 0x4025c369 in java::lang::ClassLoader::loadClass(java::lang::String*) ()
from /usr/lib/libgcj.so.3
#16 0x08074ce2 in
nice.tools.code.Types.lookupQualifiedJavaClass(java.lang.String)
(className=0x883e6e0) at nice/tools/code/Types.java:447
#17 0x080c5d7e in bossa.syntax.JavaClasses.lookup(java.lang.String) (
...
(gdb) cont
Continuing.
[ I hit Control-C ]
Program received signal SIGINT, Interrupt.
[Switching to Thread 1026 (LWP 5635)]
0x4068887e in sigsuspend () from /lib/libc.so.6
[ Other threads as in previous mails. This is perfectly reproducible. ]
(gdb) thread 1
[Switching to thread 1 (Thread 1024 (LWP 5489))]#0 0x406ffdc1 in
nanosleep ()
from /lib/libc.so.6
(gdb) where
#0 0x406ffdc1 in nanosleep () from /lib/libc.so.6
#1 0x4064407f in nanosleep () from /lib/libpthread.so.0
#2 0x403a4bf9 in GC_lock () from /usr/lib/libgcj.so.3
#3 0x403a5155 in GC_malloc_atomic () from /usr/lib/libgcj.so.3
#4 0x40223a07 in _Jv_NewPrimArray () from /usr/lib/libgcj.so.3
#5 0x402527fe in java::lang::Throwable::fillInStackTrace() ()
from /usr/lib/libgcj.so.3
#6 0x402230b9 in _Jv_ThrowSignal () from /usr/lib/libgcj.so.3
#7 0x402230e7 in _Jv_ThrowSignal () from /usr/lib/libgcj.so.3
#8 <signal handler called>
#9 0x4039cf72 in _Jv_MarkObj () from /usr/lib/libgcj.so.3
#10 0x403a69b6 in GC_mark_from () from /usr/lib/libgcj.so.3
#11 0x403a62b8 in GC_mark_some () from /usr/lib/libgcj.so.3
#12 0x4039fa76 in GC_stopped_mark () from /usr/lib/libgcj.so.3
#13 0x4039f808 in GC_try_to_collect_inner () from /usr/lib/libgcj.so.3
#14 0x403a042d in GC_collect_or_expand () from /usr/lib/libgcj.so.3
#15 0x403a05ee in GC_allocobj () from /usr/lib/libgcj.so.3
#16 0x403a4e93 in GC_generic_malloc_inner () from /usr/lib/libgcj.so.3
#17 0x403a4f82 in GC_generic_malloc () from /usr/lib/libgcj.so.3
#18 0x403a5142 in GC_malloc_atomic () from /usr/lib/libgcj.so.3
#19 0x40223891 in _Jv_AllocPtrFreeObject () from /usr/lib/libgcj.so.3
#20 0x4024f4df in _Jv_AllocString () from /usr/lib/libgcj.so.3
#21 0x4025026b in java::lang::String::replace(wchar_t, wchar_t) ()
from /usr/lib/libgcj.so.3
#22 0x4024b5dc in
gnu::gcj::runtime::VMClassLoader::findClass(java::lang::String*) () from
/usr/lib/libgcj.so.3
#23 0x4025c414 in
java::lang::ClassLoader::loadClass(java::lang::String*, bool)
() from /usr/lib/libgcj.so.3
#24 0x4025c369 in java::lang::ClassLoader::loadClass(java::lang::String*) ()
from /usr/lib/libgcj.so.3
#25 0x08074ce2 in
nice.tools.code.Types.lookupQualifiedJavaClass(java.lang.String)
(className=0x883e6e0) at nice/tools/code/Types.java:447
#26 0x080c5d7e in bossa.syntax.JavaClasses.lookup(java.lang.String) (
className=0x883e6e0) at bossa/syntax/JavaClasses.java:364
#27 0x080b36a7 in bossa.syntax.TypeScope.lookupNative(java.lang.String,
bossa.util.Location) (this=0x83c8230, name=0x868b300, loc=0x868ffc0)
at bossa/syntax/TypeScope.java:185
#28 0x080b32d1 in bossa.syntax.TypeScope.lookup(java.lang.String,
bossa.util.Location) (this=0x83c8230, name=0x868b300, loc=0x868ffc0)
at bossa/syntax/TypeScope.java:150
#29 0x080d3370 in bossa.syntax.ClassExp.create(bossa.syntax.PackageExp,
bossa.syntax.LocatedString) (root=0x0, name=0x868b2b0) at
bossa/syntax/ClassExp.java:66
#30 0x080d3272 in bossa.syntax.ClassExp.create(bossa.syntax.LocatedString) (
ident=0x868b2b0) at bossa/syntax/ClassExp.java:54
#31 0x080dafba in bossa.syntax.fun.analyseIdent(bossa.syntax.IdentExp,
bossa.syntax.Info, boolean) (ARG_1=0x867b258, ARG_2=0x87a8120, ARG_3=false)
at ~/Nice/src.new/bossa/syntax:380
#32 0x080d9c99 in bossa.syntax.fun.analyse(bossa.syntax.IdentExp,
bossa.syntax.Info) (ARG_1=0x867b258, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:401
#33 0x080d480f in bossa.syntax.dispatch.analyse(bossa.syntax.Expression,
bossa.syntax.Info) (ARG_1=0x867b258, ARG_2=0x87a8120)
at bossa/syntax/TypeMaper.java:40
#34 0x080da753 in bossa.syntax.fun.analyse(bossa.syntax.Arguments,
bossa.syntax.Info) (ARG_1=0x868b270, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:242
#35 0x080d4520 in bossa.syntax.dispatch.analyse(bossa.syntax.Arguments,
bossa.syntax.Info) (ARG_1=0x868b270, ARG_2=0x87a8120) at
bossa/syntax/TypeMaper.java:40
#36 0x080da0cb in bossa.syntax.fun.analyse(bossa.syntax.CallExp,
bossa.syntax.Info) (ARG_1=0x868d5c8, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:268
#37 0x080d4767 in bossa.syntax.dispatch.analyse(bossa.syntax.Expression,
bossa.syntax.Info) (ARG_1=0x868d5c8, ARG_2=0x87a8120)
at bossa/syntax/TypeMaper.java:40
#38 0x080da753 in bossa.syntax.fun.analyse(bossa.syntax.Arguments,
bossa.syntax.Info) (ARG_1=0x868b220, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:242
#39 0x080d4520 in bossa.syntax.dispatch.analyse(bossa.syntax.Arguments,
bossa.syntax.Info) (ARG_1=0x868b220, ARG_2=0x87a8120) at
bossa/syntax/TypeMaper.java:40
#40 0x080da0cb in bossa.syntax.fun.analyse(bossa.syntax.CallExp,
bossa.syntax.Info) (ARG_1=0x868d5a0, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:268
#41 0x080d4767 in bossa.syntax.dispatch.analyse(bossa.syntax.Expression,
bossa.syntax.Info) (ARG_1=0x868d5a0, ARG_2=0x87a8120)
at bossa/syntax/TypeMaper.java:40
#42 0x080da753 in bossa.syntax.fun.analyse(bossa.syntax.Arguments,
bossa.syntax.Info) (ARG_1=0x868b1e0, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:242
#43 0x080d4520 in bossa.syntax.dispatch.analyse(bossa.syntax.Arguments,
bossa.syntax.Info) (ARG_1=0x868b1e0, ARG_2=0x87a8120) at
bossa/syntax/TypeMaper.java:40
#44 0x080da0cb in bossa.syntax.fun.analyse(bossa.syntax.CallExp,
bossa.syntax.Info) (ARG_1=0x868d550, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:268
#45 0x080d4767 in bossa.syntax.dispatch.analyse(bossa.syntax.Expression,
bossa.syntax.Info) (ARG_1=0x868d550, ARG_2=0x87a8120)
at bossa/syntax/TypeMaper.java:40
#46 0x080d9284 in bossa.syntax.fun.analyse(bossa.syntax.ExpressionStmt,
bossa.syntax.Info) (ARG_1=0x868b1b0, ARG_2=0x87a8120)
at ~/Nice/src.new/bossa/syntax:514
#47 0x080d4c5d in bossa.syntax.dispatch.analyse(bossa.syntax.Statement,
bossa.syntax.Info) (ARG_1=0x868b1b0, ARG_2=0x87a8120) at
bossa/syntax/TypeMaper.java:40
#48 0x080d943e in bossa.syntax.fun.analyse(bossa.syntax.Statement[],
bossa.syntax.Info) (ARG_1=0x82f1a40, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:507
#49 0x080d9375 in bossa.syntax.fun.analyse(bossa.syntax.Block,
bossa.syntax.Info) (ARG_1=0x86908b0, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:496
#50 0x080d4c12 in bossa.syntax.dispatch.analyse(bossa.syntax.Statement,
bossa.syntax.Info) (ARG_1=0x86908b0, ARG_2=0x87a8120) at
bossa/syntax/TypeMaper.java:40
#51 0x080d943e in bossa.syntax.fun.analyse(bossa.syntax.Statement[],
bossa.syntax.Info) (ARG_1=0x86682b0, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:507
#52 0x080d9375 in bossa.syntax.fun.analyse(bossa.syntax.Block,
bossa.syntax.Info) (ARG_1=0x86908e0, ARG_2=0x87a8120) at
~/Nice/src.new/bossa/syntax:496
#53 0x080d4c12 in bossa.syntax.dispatch.analyse(bossa.syntax.Statement,
bossa.syntax.Info) (ARG_1=0x86908e0, ARG_2=0x87a8120) at
bossa/syntax/TypeMaper.java:40
#54 0x080dbd1e in bossa.syntax.fun.analyse(bossa.syntax.Statement,
bossa.syntax.VarScope, bossa.syntax.TypeScope, boolean)
(ARG_1=0x86908e0, ARG_2=0x8748540,
ARG_3=0x8748520, ARG_4=false) at ~/Nice/src.new/bossa/syntax:46
#55 0x080d36ef in bossa.syntax.dispatch.analyse(bossa.syntax.Statement,
bossa.syntax.VarScope, bossa.syntax.TypeScope, boolean) (ARG_1=0x86908e0,
ARG_2=0x8748540, ARG_3=0x8748520, ARG_4=false)
at bossa/syntax/TypeMaper.java:40
#56 0x080bdf5d in bossa.syntax.MethodBodyDefinition.resolveBody() (
this=0x8681320) at bossa/syntax/MethodBodyDefinition.java:277
#57 0x080ae4b4 in bossa.syntax.AST.typechecking() (this=0x869b540)
at bossa/syntax/AST.java:105
#58 0x08063851 in bossa.modules.Package.typecheck() (this=0x8498c78)
at bossa/modules/Package.java:303
#59 0x080636b0 in bossa.modules.Package.compile() (this=0x8498c78)
at bossa/modules/Package.java:267
#60 0x0805f1a0 in mlsub.compilation.fun.lambda12(mlsub.compilation.Module) (
ARG_1=0x8498c78) at ~/Nice/src.new/mlsub/compilation:31
#61 0x0805f287 in mlsub.compilation.fun.apply1(gnu.expr.ModuleMethod,
java.lang.Object) () at ~/Nice/src.new/mlsub/compilation:31
#62 0x08156790 in gnu.expr.ModuleMethod.apply1(java.lang.Object) (
this=0x86cf858, arg1=0x8498c78) at gnu/expr/ModuleMethod.java:88
#63 0x0805be33 in nice.lang.fun.iter(nice.lang.Sequence, java.lang.Object) (
ARG_1=0x86ce4c0, ARG_2=0x86cf858) at ~/Nice/stdlib.new/nice/lang:57
#64 0x08059ac5 in nice.lang.dispatch.iter(nice.lang.Collection,
java.lang.Object) (ARG_1=0x86ce4c0, ARG_2=0x86cf858) at
nice/lang/Native.java:49
#65 0x0805ee67 in mlsub.compilation.fun.compileComponent(nice.lang.List,
boolean) (ARG_1=0x86ce4c0, ARG_2=true) at
~/Nice/src.new/mlsub/compilation:40
#66 0x0805ec29 in
mlsub.compilation.dispatch.compileComponent(nice.lang.List, boolean)
(ARG_1=0x86ce4c0, ARG_2=true) at mlsub/compilation/Compilation.java:27
#67 0x0805f6fa in mlsub.compilation.fun$make.lambda7(nice.lang.List) (
this=0x86ce530, ARG_1=0x86ce4c0) at mlsub/compilation/fun$make.java:59
#68 0x0805f7da in
mlsub.compilation.fun$make.apply1(gnu.expr.ModuleMethod,
java.lang.Object) () at mlsub/compilation/fun$make.java:59
#69 0x08156790 in gnu.expr.ModuleMethod.apply1(java.lang.Object) (
this=0x86cf810, arg1=0x86ce4c0) at gnu/expr/ModuleMethod.java:88
#70 0x0805be33 in nice.lang.fun.iter(nice.lang.Sequence, java.lang.Object) (
ARG_1=0x86ce510, ARG_2=0x86cf810) at ~/Nice/stdlib.new/nice/lang:57
#71 0x08059ac5 in nice.lang.dispatch.iter(nice.lang.Collection,
java.lang.Object) (ARG_1=0x86ce510, ARG_2=0x86cf810) at
nice/lang/Native.java:49
#72 0x0805ecfe in
mlsub.compilation.fun.make(mlsub.compilation.Compilation) (
ARG_1=0x8330f90) at ~/Nice/src.new/mlsub/compilation:58
#73 0x0805ebf4 in
mlsub.compilation.dispatch.make(mlsub.compilation.Compilation)
(ARG_1=0x8330f90) at mlsub/compilation/Compilation.java:27
#74 0x080577ba in nice.tools.compiler.fun.compile(java.lang.String[]) (
ARG_1=0x8320a68) at ~/Nice/src.new/nice/tools/compiler:166
#75 0x08056696 in nice.tools.compiler.fun.main(java.lang.String[]) (
ARG_1=0x8320a68) at ~/Nice/src.new/nice/tools/compiler:206
#76 0x40246c61 in gnu::gcj::runtime::FirstThread::call_main() ()
from /usr/lib/libgcj.so.3
#77 0x402bce3d in gnu::gcj::runtime::FirstThread::run() ()
from /usr/lib/libgcj.so.3
#78 0x402523de in _Jv_ThreadRun(java::lang::Thread*) ()
from /usr/lib/libgcj.so.3
#79 0x4022476c in _Jv_RunMain(java::lang::Class*, char const*, int, char
const**, bool) () from /usr/lib/libgcj.so.3
#80 0x4022485e in JvRunMain () from /usr/lib/libgcj.so.3
#81 0x080553dd in main (argc=4, argv=0xbffffb44) at /tmp/ccT61GvY.i:11