harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Armand Navabi" <anav...@purdue.edu>
Subject RE: [drlvm] [launcher] Executable hangs
Date Fri, 29 Sep 2006 05:28:25 GMT
> The trace looks suspicious since there is a good "dll_filename" to
> load in Dll_JIT::Dll_JIT. "dll_filename" should be passed as the
> second parameter /* path */ to apr_dso_load() AS_IS, with no change,
> but that's not what happens, NULL is passed. I suspect those "memset"
> and "apr_pool_create" to nullify our goody string.
> 
> Could you track what happens with "dll_filename" in Dll_JIT
> (vmcore/src/jit/dll_jit.cpp:57), and why :)

Here is what happens:

vm_load_jit (file_name=0x80a8774
"/u/u12/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/default//l
ibjitrino.so", handle=0xbfc3fc2c) at
/u/u12/anavabi/Harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_main.cpp:6
28
628             Dll_JIT* jit = new Dll_JIT(file_name);
(gdb) s
Dll_JIT (this=0x80a8640, dll_filename=0x80a8774
"/u/u12/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/default//l
ibjitrino.so")
    at
/u/u12/anavabi/Harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp:56
56      {
(gdb) p dll_filename
$2 = 0x80a8774
"/u/u12/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/default//l
ibjitrino.so"
(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
$3 = 0x80a8774
"/u/u12/anavabi/Harmony/enhanced/drlvm/trunk/build/deploy/jre/bin/default//l
ibjitrino.so"
(gdb) s
apr_dso_load (res_handle=0x102, path=0x102 <Address 0x102 out of bounds>,
pool=0x8090c40) at dso.c:139
139         os_handle = dlopen(path, flags);
Current language:  auto; currently c

Notice that memset and apr_pool_create to not nullify dll_filename.  At line
62 of dll_jit.cpp, the value of dll_filename is correct.  But then it is
passed to apr_dso_load, and when I step into apr_dso_load notice that
path=0x102 <Address 0x102 out of bounds>.



Armand


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message