seg fault on startup

David Daney ddaney@avtrex.com
Wed Mar 21 18:57:00 GMT 2007


Ben Tatham wrote:
> David Daney wrote:
>> Andrew Haley wrote:
>>> Ben Tatham writes:
>>>  > More fuel for the investigation.
>>>  >  > I have now tried to build our application with 
>>> GCC-4.2-20070307, with  > the much simpler -static-libgcj option...
>>>  >  > %.o : %.jar
>>>  >         $(gccdir)/bin/$(platform)-gcj $(includes) -c -g -O $<
>>>  >  > apollo : $(objects)
>>>  >         $(gccdir)/bin/$(platform)-gcj -g -O -static-libgcj -o  > 
>>> apollo.debug --main=ca.nanometrics.apollo.taurus.MissionControlTaurus 
>>>  > $(objects)
>>>  >         $(gccdir)/bin/$(platform)-strip --strip-debug apollo.debug 
>>> -o apollo
>>>  >  > Unfortunately, it still seg faults right at startup.  This 
>>> time, I get a  > backtrace though. Ah, excellent.
>>>
>>>  > Does this mean anything to anyone?  Why does it say that the
>>>  > language is c++ now though?
>>>
>>> Because it is.
>>>
>>>  > Program terminated with signal 11, Segmentation fault.
>>>  > #0  _Jv_RegisterClasses (classes=0x10f80074)
>>>  >     at  > 
>>> /disk1/xtool/crosstool-0.43/build/powerpc-860-linux-gnu/gcc-4.2-20070307-glibc-2.3.3/gcc-4.2-20070307/libjava/java/lang/natClassLoader.cc:189 
>>>
>>>  > 189     _Jv_RegisterClasses (const jclass *classes)
>>>
>>> classes is a pointer to an array of pointers, terminated by NULL.
>>> Every one of those pointers should pointo t a valid class structure
>>> inside your app.  Print them out.
>>
>> As an aside, I think there were bugs in some part of the mipsel-linux 
>> toolchain (I forget exactly where, but it was either the linker or 
>> glibc) that caused problems like this for me.  I think you are on the 
>> right track here.  It may be useful to compile libgcj with -O0 -g 
>> (edit the Makefile to change -O2 to -O0 and make clean; make).
>>
>> David Daney
> 
> We'll give those changes a try, but I'm curious as the exact problems 
> you had, David.  You said "caused problems like this for me".  How 
> similar were they?

You get a SIGSEGV, I got a SIGSEGV, so I would say the problems were 
identical from the point of view of symptoms.  But I fixed the problems 
I had, and you still suffer from SIGSEGV, so from that point of view 
they are not the same problem.

I know that is not at all helpful.  You will have to run it in the 
debugger and see what is happening.  Unfortunately I know of no short cuts.

David Daney



More information about the Java mailing list