seg fault on startup

David Daney ddaney@avtrex.com
Tue Mar 20 17:50:00 GMT 2007


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


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /