GCJ Interpreter SEGV w/ Dynamically Linked Program

Craig A. Vanderborgh craigv@voxware.com
Tue Dec 13 17:02:00 GMT 2005


Hello Everyone:
I have made some progress getting the 4.1-112505 snapshot running. 
Right now, I am testing on 2 platforms, one is x86 linux (RHEL4) and the 
other is PowerPC 604. I have correct builds for both, but am having one 
last problem, which is reproducible on both.
For DYNAMICALLY LINKED programs, the GCJ interpreter fails with a SEGV 
when it is processing JavaScript stuff in our browser. A typical stack 
trace (on RHEL4/X86) looks like this:
#0 0x005f17a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) where
#0 0x005f17a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00250955 in raise () from /lib/tls/libc.so.6
#2 0x00252319 in abort () from /lib/tls/libc.so.6
#3 0x008d25b8 in _Jv_Throw (value=0x441588) at 
../../../gcc-4.1-20051125/libjava/exception.cc:111
#4 0x008c5ccb in catch_segv (_dummy=Could not find the frame base for 
"catch_segv".
) at ../../../gcc-4.1-20051125/libjava/prims.cc:152
#5 <signal handler called>
#6 0x02368902 in ?? ()
#7 0x00b0e027 in ffi_call_SYSV () at 
../../../gcc-4.1-20051125/libffi/src/x86/sysv.S:60
#8 0x00b0ddc3 in ffi_raw_call (cif=0x3a11278, fn=0x2368900, 
rvalue=0xbfee0718, fake_avalue=0xbfee0490)
 at ../../../gcc-4.1-20051125/libffi/src/x86/ffi.c:449
#9 0x008dc535 in _Jv_InterpMethod::run (retp=0xbfee0920, 
args=0xbfee0940, meth=0x4c9070)
 at ../../../gcc-4.1-20051125/libjava/interpret.cc:1217
#10 0x008df61b in _Jv_InterpMethod::run_normal (ret=0xbfee0920, 
args=0xbfee0940, __this=0x4c9070)
 at ../../../gcc-4.1-20051125/libjava/interpret.cc:252
#11 0x00b0e101 in ffi_closure_raw_SYSV () at 
../../../gcc-4.1-20051125/libffi/src/x86/sysv.S:225
#12 0x080864f7 in voxware::browser::Expr::evaluateInScriptable ()
#13 0x08086378 in voxware::browser::Expr::evaluate ()
#14 0x08097e4c in voxware::browser::SystemProperty::enter ()
#15 0x0809f327 in voxware::browser::ScopeElement::modifyProperties ()
#16 0x08091c22 in voxware::browser::Page::interpret ()
#17 0x080730cd in voxware::browser::Application::interpret ()
#18 0x080a103e in voxware::browser::Session::interpret ()
#19 0x080a4162 in voxware::browser::Session::run ()
#20 0x080a42d9 in voxware::browser::Session::run ()
#21 0x0807fd6b in voxware::browser::DOMBrowser::main ()
#22 0x008f3044 in gnu::java::lang::MainThread::call_main (this=0x65ee0)
 at ../../../gcc-4.1-20051125/libjava/gnu/java/lang/natMainThread.cc:47
#23 0x00924ca7 in gnu.java.lang.MainThread.run() (this=0x65ee0) at 
MainThread.java:105
#24 0x009022fb in _Jv_ThreadRun (thread=0x65ee0) at 
../../../gcc-4.1-20051125/libjava/java/lang/natThread.cc:299
#25 0x008c700a in _Jv_RunMain (vm_args=0x0, klass=0x837b380, name=0x0, 
argc=16, argv=0xbfee0e04, is_jar=false)
 at ../../../gcc-4.1-20051125/libjava/prims.cc:1389
#26 0x008c7184 in _Jv_RunMain (klass=0x837b380, name=0x0, argc=16, 
argv=0xbfee0e04, is_jar=false)
 at ../../../gcc-4.1-20051125/libjava/prims.cc:1400
#27 0x008c71c7 in JvRunMain (klass=0x837b380, argc=16, argv=0xbfee0e04) 
at ../../../gcc-4.1-20051125/libjava/prims.cc:1406
#28 0x0805f508 in main ()
(gdb)
So at the time it fails, it's in FFI closures doing something that's 
needed as part of JS interpretation. That's all I really know right now 
and it's not that much to go on.
But isn't the fact that the application works when statically linked a 
pretty big clue? Any ideas about how to proceed from here?
Any input greatly appreciated...
Thanks in advance,
craig vanderborgh
voxware incorporated


More information about the Java mailing list

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