Operating System - HP-UX
1848868 Members
7051 Online
104038 Solutions
New Discussion

hotspot vs. classic and JNI?

 
Tyler Peterson
New Member

hotspot vs. classic and JNI?

Hi there,

I'm working on a C application that ends up starting a JVM. Everything was working fine, except we noticed that it was linking against the Classic VM rather than the Hotspot VM:

jre1.3.1/lib/PA_RISC/classic

Instead of

jre1.3.1/lib/PA_RISC/server

(This is the 1.3.1.01 release on HPUX 11.11)

So, when I changed the Makefile to reference the server directory, it built just fine, but...

When I run the executable, nothing happens. It just hangs. I can run it in the debugger, and it never even gets to main -- appears as though there might be a problem with the shared library loader.

chatr shows:

dynamic /java/jdk1.3.1.01/11.0HPUX_PA32/jre/lib/PA_RISC/libzip.sl
dynamic /java/jdk1.3.1.01/11.0HPUX_PA32/jre/lib/PA_RISC/libnet.sl
dynamic /java/jdk1.3.1.01/11.0HPUX_PA32/jre/lib/PA_RISC/server/libjvm.sl

Which looks just fine to me...

Any thoughts?

Thanks in advance,

Tyler
3 REPLIES 3
Steven Gillard_2
Honored Contributor

Re: hotspot vs. classic and JNI?

Is SHLIB_PATH set correctly? I've noticed that the libnet.sl and libzip.sl libraries are linked with the classic libjvm.sl:

dynamic ../../lib/PA_RISC/classic/libjvm.sl

So if SHLIB_PATH doesn't include the hotspot directory there might be a conflict.

If that fails, try running a tusc trace to get some more info on where its failing.

Regards,
Steve
Tyler Peterson
New Member

Re: hotspot vs. classic and JNI?

Hi Steve,

Here's some output from tusc (SHLIB_PATH seems fine)... it appears to spin as you can see from the trace (thanks for looking into this!)

Tyler

open("/opt/OV/lib/libovutil.3", O_RDONLY, 03) ............................................... = 3
fstat(3, 0x7f7f5da0) ........................................................................ = 0
read(3, "0210010e0512@ \0\0\0\0\0\0\0\0\0".., 128) .......................................... = 128
lseek(3, 128, SEEK_SET) ..................................................................... = 128
read(3, "10\0\004\0\0\0( \0\bcfac\0\010\0".., 48) ........................................... = 48
read(3, "80\0\0\v\0\0\004\0\0\0\0", 12) ..................................................... = 12
lseek(3, 229376, SEEK_SET) .................................................................. = 229376
read(3, "058cy 10\0\00410\0\04 b0\0\0\0\a".., 112) .......................................... = 112
mmap(NULL, 577536, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB, 3, 0x38000) ................... ERR#12 ENOMEM
close(3) .................................................................................... = 0
sysconf(_SC_CPU_VERSION) .................................................................... = 0x214
brk(0x40002b20) ............................................................................. = 0
brk(0x40004b14) ............................................................................. = 0
brk(0x40020000) ............................................................................. = 0
sigsetreturn(0x7b033f36, 0x6211988, 1392) ................................................... = 0
fcntl(0, F_GETFL, 0) ........................................................................ = 2
fcntl(1, F_GETFL, 0) ........................................................................ = 2049
fcntl(2, F_GETFL, 0) ........................................................................ = 2
fcntl(2, F_GETFL, 0) ........................................................................ = 2
open("/usr/lib/nls/msg/C/nmos_topo.cat", O_RDONLY, 0177777) ................................. ERR#2 ENOENT
open("/usr/lib/nls/C///nmos_topo.cat", O_RDONLY, 0177777) ................................... ERR#2 ENOENT
ksleep(RELATIVE_TIMEOUT_VALUE|PTH_SPINLOCK_OBJECT, 0x7af0f5a0, NULL, 0x7f7f9e50) ............ = -ETIMEDOUT
ksleep(RELATIVE_TIMEOUT_VALUE|PTH_SPINLOCK_OBJECT, 0x7af0f5a0, NULL, 0x7f7f9e50) ............ = -ETIMEDOUT

etc, etc...
Chris De Angelis
Frequent Advisor

Re: hotspot vs. classic and JNI?

Tyler,

If you're still having this problem:

1) Do you have patch PHSS_24303 installed? This (and some earlier versions of it, since PHSS_22514) address a problem that was noted in the 1.3.0.x Hotspot (= Server) JVMs due to their implementation. The release notes for 1.3.1.x are not clear as to whether or not the same issue still exits in that line of the HP JRE, as far as I saw...

If you don't have this patch, you might want to try installing it (plus any dependencies), then read the updated man page on "dld.sl" for the LD_PRELOAD feature. (It's really an environment variable that needs to be set appopriately before the affected library can be loaded).

2) Try upgrading to 1.3.1.02. In the release notes for this version, there are a few problem fixes with things like "spin lock problem" in the brief description.

Good luck -
- Chris