I thought that perhaps a gdb backtrace may be helpful.
Note: I also tried to go into dll_jit.cpp:62 and hard code the name of the
dll_filename which is passed to apr_dso_load. And still when I step into
apr_dso_load that second argument path=0x102 <Address 0x102 out of bounds>.
Perhaps the stack is getting messed up somehow.
Any ideas?
(gdb) bt
#0 apr_dso_load (res_handle=0x102, path=0x102 <Address 0x102 out of
bounds>, pool=0x808fc78) at dso.c:139
#1 0xb6d99b61 in Dll_JIT (this=0x80a9650,
dll_filename=0x80a9774
"/scratch/anavabi/Harmony/enhanced/drlvm/build/deploy/jre/bin/default//libji
trino.so")
at
/scratch/anavabi/Harmony/enhanced/drlvm/vm/vmcore/src/jit/dll_jit.cpp:63
#2 0xb6e4ff4e in vm_load_jit (
file_name=0x80a9774
"/scratch/anavabi/Harmony/enhanced/drlvm/build/deploy/jre/bin/default//libji
trino.so",
handle=0xbfa9e51c) at
/scratch/anavabi/Harmony/enhanced/drlvm/vm/vmcore/src/init/vm_main.cpp:629
#3 0xb69afa9e in DrlEMImpl::buildChains (this=0x80a9480,
[EMAIL PROTECTED])
at /scratch/anavabi/Harmony/enhanced/drlvm/vm/em/src/DrlEMImpl.cpp:437
#4 0xb69af256 in DrlEMImpl::init (this=0x80a9480) at
/scratch/anavabi/Harmony/enhanced/drlvm/vm/em/src/DrlEMImpl.cpp:363
#5 0xb69ad239 in DrlEMFactory::createAndInitEMInstance ()
at /scratch/anavabi/Harmony/enhanced/drlvm/vm/em/src/DrlEMImpl.cpp:52
#6 0xb69c7a72 in CreateInstance (p_instance=0xb7022f88, pool=0x808dc70)
at /scratch/anavabi/Harmony/enhanced/drlvm/vm/em/src/em_intf.cpp:132
#7 0xb6d95fae in CmCreateInstance (p_instance=0xb7022f88, name=0xb6f7eac4
"em")
at
/scratch/anavabi/Harmony/enhanced/drlvm/vm/vmstart/src/compmgr/component_man
ager_impl.cpp:584
#8 0xb6e4dd37 in process_properties_dlls (p_env=0xb7022de0)
at
/scratch/anavabi/Harmony/enhanced/drlvm/vm/vmcore/src/init/vm_main.cpp:148
#9 0xb6e4f0f6 in create_vm (p_env=0xb7022de0, vm_arguments=0xbfa9e8c0)
at
/scratch/anavabi/Harmony/enhanced/drlvm/vm/vmcore/src/init/vm_main.cpp:356
#10 0xb6dc6826 in JNI_CreateJavaVM (p_vm=0xbfa9e8b0, p_env=0xbfa9e8b4,
vm_args=0xbfa9e8c0)
at
/scratch/anavabi/Harmony/enhanced/drlvm/vm/vmcore/src/jni/jni.cpp:1270
#11 0x0804962c in invocation ()
#12 0x08048fd0 in gpProtectedMain ()
#13 0x0804ac4c in signalProtectedMain ()
#14 0xb7fb5e00 in hysig_protect () from
/scratch/anavabi/Harmony/enhanced/drlvm/build/deploy/jre/bin/libhyprt.so
#15 0x0804ad0c in main ()
-----Original Message-----
From: Armand Navabi [mailto:[EMAIL PROTECTED]
Sent: Monday, October 02, 2006 2:03 PM
To: [email protected]
Subject: [drlvm] apr_dso_load error (path address out of bounds)
I am still having trouble getting hellworld to run. Currently the problem
is that for some reason in dll_jit.cpp on line 62, where the call is made to
apr_dso_load, the second parameter which is the path to the dll becomes
address out of bounds in the apr_dso_load procedure.
Egor suggested that perhaps APR configured itself incorrectly on my system.
Alexey suggested I try to run the APR test. I ran the APR tests and all
tests passed (in /build/lnx_ia32_gcc_debug/semis/extra/apr/src/test).
Below is what happens in gdb. Also below that I have pasted what happens at
the end of the output when I run ./java -Xthread -Xtrace helloworld.
Another thing that is suspicious is that when I run ./java it works fine,
but if I run "./java -Xthread -Xtrace" it does not run fine (it hangs inside
GetObjectClass). I have also pasted the end of the trace for this.
Let me know if there is any other debugging information I can provide.
(gdb) r helloworld
Starting program:
/scratch/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/java
helloworld
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 16947)]
[New Thread 32769 (LWP 16950)]
[New Thread 16386 (LWP 16951)]
Breakpoint 2 at 0xb6e28ca5: file
/scratch/anavabi/Harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_main.cpp
, line 628.
Pending breakpoint "vm_main.cpp:628" resolved
[Switching to Thread 16384 (LWP 16947)]
Breakpoint 2, vm_load_jit (file_name=0x80aa83c
"/scratch/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/default/
/libjitrino.so", handle=0xbff4ff4c)
at
/scratch/anavabi/Harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_main.cpp
:628
628 Dll_JIT* jit = new Dll_JIT(file_name);
Current language: auto; currently c++
(gdb) s
Dll_JIT (this=0x80aa708, dll_filename=0x80aa83c
"/scratch/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/default/
/libjitrino.so")
at
/scratch/anavabi/Harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp:
56
56 {
(gdb) n
59 memset((void *) &jit_flags, 0, sizeof(JIT_Flags));
(gdb) n
60 apr_pool_create(&pool, 0);
(gdb) n
62 if ((stat = apr_dso_load(&handle, dll_filename, pool)) !=
APR_SUCCESS)
(gdb) p dll_filename
$1 = 0x80aa83c
"/scratch/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/default/
/libjitrino.so"
(gdb) s
apr_dso_load (res_handle=0x102, path=0x102 <Address 0x102 out of bounds>,
pool=0x8090c30) at dso.c:139
139 os_handle = dlopen(path, flags);
Current language: auto; currently c
(gdb) p path
$2 = 0x102 <Address 0x102 out of bounds>
./java -Xthread -Xtrace helloworld
.
[0x4000] : END class prepare, class name = java/lang/Runtime$ShutdownVM
[0x4000] : StartLoading class java/lang/RuntimePermission with loader
0x80be790
[0x8003] : gc_thread_init 0x807e718
[0x8003] : FindClass called, name = java/lang/Thread
[0x8003] : FindClass called, name = java/lang/Thread
[0x8003] : si_goto_previous from ip = (nil) (M2N)
[0x8003] : si_unwind_from_m2n, ip = (nil)
[0x8003] : si_goto_previous to ip = (nil) (M2N)
[0x8003] : StartLoading class java/lang/Thread with loader 0x8633d90
[0x8003] : 0x8633d90 0x807e658 I java/lang/Thread
[0x8003] : Loader U (0x8633d90) loading class: java/lang/Thread...
[0x8003] : enter method java/lang/ClassLoader loadClass
(Ljava/lang/String;)Ljava/lang/Class;
[0x4000] : EM: compile done:[JET_DPGO n=789: OK]
java/lang/Runtime::addShutdownHook(Ljava/lang/Thread;)V
(hangs here)
./java -Xthread -Xtrace
.
[0x4000] : GetObjectClass called
[0x4000] : GetObjectClass: class = [Ljava/lang/Class;
[0x8003] : gc_thread_init 0x807e718
[0x8003] : FindClass called, name = java/lang/Thread
[0x8003] : FindClass called, name = java/lang/Thread
[0x8003] : si_goto_previous from ip = (nil) (M2N)
[0x8003] : si_unwind_from_m2n, ip = (nil)
[0x8003] : si_goto_previous to ip = (nil) (M2N)
[0x8003] : StartLoading class java/lang/Thread with loader 0x8633df0
[0x8003] : 0x8633df0 0x807e658 I java/lang/Thread
[0x8003] : Loader U (0x8633df0) loading class: java/lang/Thread...
[0x8003] : enter method java/lang/ClassLoader loadClass
(Ljava/lang/String;)Ljava/lang/Class;
[0x4000] : GetObjectClass called
Thanks,
Armand
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]