Some questions

Martin Kahlert martin.kahlert@infineon.com
Thu Jul 12 01:21:00 GMT 2001


Hi!
I recently returned from my vacation and tried the newly
released 3.0 for my sources.

The first question is: Why did Tromey's patch
http://gcc.gnu.org/ml/java-patches/2001-q2/msg00405.html
not make it into the release? 
It's not in the 20010709 snapshot, either.
Since i am behind a firewall, that's all i can check, but i assume,
it's inside the development branch.

Another strange thing is this:
In the past i found some errors by running my prog with Electric Fence,
but now, that doesn't work any more: It seems to loop forever.

I tried gdb-5.0 but when i run the prog under the debugger i get
a segfault at once. The stack trace is quite deep and has a lot of
natString.concat calls inside.
Then i tried to attach to the looping program, and i get a stacktrace
that ends with
#4019 0x4002734b in _Unwind_RaiseException (exc=0x86260a0) at
../../gcc/unwind-dw2.c:981
#4020 0x4015d169 in _Jv_Throw (value=0x861efe0) at
../../../libjava/exception.cc:104
#4021 0x40153624 in _Jv_ThrowSignal () at ../../../libjava/prims.cc:113
#4022 0x40153652 in catch_segv(int) () at ../../../libjava/prims.cc:122
#4023 <signal handler called>
#4024 0x4016db3b in _Jv_IsAssignableFrom(java::lang::Class*,
java::lang::Class*) (target=0x83fb9a0, source=0x8604fb8)
    at ../../../libjava/java/lang/natClass.cc:958
#4025 0x4016dc0a in _Jv_IsInstanceOf (obj=0x861efe0, cl=0x83fb9a0) at
    ../../../libjava/java/lang/natClass.cc:993
#4026 0x4015d81e in __gcj_personality_v0 (version=1, actions=1,
        exception_class=5138137972373280321, ue_header=0x86260e0,
        context=0xbf7ff5e4)
at ../../../libjava/exception.cc:348
#4027 0x4002734b in _Unwind_RaiseException (exc=0x86260e0) at
../../gcc/unwind-dw2.c:981
#4028 0x4015d169 in _Jv_Throw (value=0x861efe0) at
../../../libjava/exception.cc:104
#4029 0x40153624 in _Jv_ThrowSignal () at
../../../libjava/prims.cc:113
#4030 0x40153652 in catch_segv(int) () at
../../../libjava/prims.cc:122
#4031 <signal handler called>
#4032 0x4016db3b in _Jv_IsAssignableFrom(java::lang::Class*,
        java::lang::Class*) (target=0x8416660, source=0x840da40)
at ../../../libjava/java/lang/natClass.cc:958
#4033 0x4016dc0a in _Jv_IsInstanceOf (obj=0x86dbdc8, cl=0x8416660)
at ../../../libjava/java/lang/natClass.cc:993
#4034 0x080e1413 in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4035 0x080f18f1 in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4036 0x080f185a in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4037 0x080beeeb in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4038 0x080be03c in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4039 0x08109aa1 in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4040 0x0810dac5 in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4041 0x0810d5de in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4042 0x0807130e in java::lang::String::concat(java::lang::String*) () at ../../../libjava/java/lang/natString.cc:772
#4043 0x4016a357 in gnu::gcj::runtime::FirstThread::run() (this=0x8625f00) at ../../../libjava/gnu/gcj/runtime/natFirstThread.cc:146
#4044 0x40175192 in java::lang::Thread::run_(java::lang::Object*) (obj=0x8625f00) at ../../../libjava/java/lang/natThread.cc:276
#4045 0x40282695 in really_start(void*) (x=0x866bff8) at ../../../libjava/posix-threads.cc:349
#4046 0x4044c6b3 in GC_start_routine (arg=0x8624f80) at ../../../boehm-gc/linux_threads.c:633
#4047 0x40464e93 in pthread_start_thread (arg=0xbf7ffe40) at manager.c:241

The uppermost part is
(gdb) where
#0  0x4016db39 in _Jv_IsAssignableFrom(java::lang::Class*, java::lang::Class*)
(target=0x83fb9a0, source=0x8604fb8) at ../../../libjava/java/lang/natClass.cc:958
#1  0x4016dc0a in _Jv_IsInstanceOf (obj=0x861efe0, cl=0x83fb9a0) at ../../../libjava/java/lang/natClass.cc:993
#2  0x4015d81e in __gcj_personality_v0 (version=1, actions=1,
        exception_class=5138137972373280321, ue_header=0x8738320,
        context=0xbf78299c) at ../../../libjava/exception.cc:348
#3  0x4002734b in _Unwind_RaiseException (exc=0x8738320) at ../../gcc/unwind-dw2.c:981
#4  0x4015d169 in _Jv_Throw (value=0x861efe0) at ../../../libjava/exception.cc:104
#5  0x40153624 in _Jv_ThrowSignal () at ../../../libjava/prims.cc:113
#6  0x40153652 in catch_segv(int) () at ../../../libjava/prims.cc:122
#7  <signal handler called>
#8  0x4016db3b in _Jv_IsAssignableFrom(java::lang::Class*,
        java::lang::Class*) (target=0x83fb9a0, source=0x8604fb8)
at ../../../libjava/java/lang/natClass.cc:958
#9  0x4016dc0a in _Jv_IsInstanceOf (obj=0x861efe0, cl=0x83fb9a0) at ../../../libjava/java/lang/natClass.cc:993
#10 0x4015d81e in __gcj_personality_v0 (version=1, actions=1,
        exception_class=5138137972373280321, ue_header=0x8738360,
        context=0xbf782d94) at ../../../libjava/exception.cc:348
#11 0x4002734b in _Unwind_RaiseException (exc=0x8738360) at ../../gcc/unwind-dw2.c:981
#12 0x4015d169 in _Jv_Throw (value=0x861efe0) at ../../../libjava/exception.cc:104
#13 0x40153624 in _Jv_ThrowSignal () at ../../../libjava/prims.cc:113
#14 0x40153652 in catch_segv(int) () at ../../../libjava/prims.cc:122
#15 <signal handler called> #16 0x4016db3b in _Jv_IsAssignableFrom(java::lang::Class*,
        java::lang::Class*) (target=0x83fb9a0, source=0x8604fb8)
    at ../../../libjava/java/lang/natClass.cc:958
#17 0x4016dc0a in _Jv_IsInstanceOf (obj=0x861efe0, cl=0x83fb9a0) at
   ../../../libjava/java/lang/natClass.cc:993 #18 0x4015d81e in __gcj_personality_v0 (version=1,
   actions=1, exception_class=5138137972373280321, ue_header=0x87383a0, context=0xbf78318c)
   at ../../../libjava/exception.cc:348
#19 0x4002734b in _Unwind_RaiseException (exc=0x87383a0) at ../../gcc/unwind-dw2.c:981
#20 0x4015d169 in _Jv_Throw (value=0x861efe0) at ../../../libjava/exception.cc:104

This is a linux system.
gcc -v:
Reading specs from /sw/gcc-3/lib/gcc-lib/i686-pc-linux-gnu/3.0/specs
Configured with: /home/kahlert/LOCAL/gcc-3.0/configure --prefix=/sw/gcc-3
--enable-languages=c++,java,f77 --enable-threads=posix
Thread model: posix
gcc version 3.0

Any ideas?

How do you guys debug? Where do i have to set a breakpoint and in which
thread?

Thanks,
Martin

-- 
The early bird catches the worm. If you want something else for       
breakfast, get up later.



More information about the Java mailing list