[johansen, 26Feb2010]
The SUNWj6rt package delivers a debug helper library, libjvm_db.so, which
allows applications like Solaris's pstack(1) to decode Java frames from
live processes and core dumps. The SPARC version of the package delivers
both 64 and 32-bit helpers for the sparc ISA, (as opposed to the sparcv9 ISA)
but only 32-bit helpers are delivered form the i386 ISA.
x86:
$ pkg contents SUNWj6rt | grep libjvm_db
usr/jdk/instances/jdk1.6.0/jre/lib/i386/client/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/i386/server/libjvm_db.so
sparc:
$ pkg contents SUNWj6rt | grep libjvm_db
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/client/64/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/client/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/server/64/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/server/libjvm_db.so
The i386 ISA should deliver a 64-bit helper library to these locations too:
usr/jdk/instances/jdk1.6.0/jre/lib/i386/client/64/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/i386/server/64/libjvm_db.so
The reason that this is necessary is because of mixed mode processes.
Machines that support the sparcv9 and amd64 ISA can run 32-bit binaries
from the sparc and i386 ISA, respectively. If a 64-bit library isn't
provided for i386, 64-bit debuggers/pstack can't debug 32-bit programs
that are running on their system. This was done for sparc, but it
should also be done for i386.
The SUNWj6rt package delivers a debug helper library, libjvm_db.so, which
allows applications like Solaris's pstack(1) to decode Java frames from
live processes and core dumps. The SPARC version of the package delivers
both 64 and 32-bit helpers for the sparc ISA, (as opposed to the sparcv9 ISA)
but only 32-bit helpers are delivered form the i386 ISA.
x86:
$ pkg contents SUNWj6rt | grep libjvm_db
usr/jdk/instances/jdk1.6.0/jre/lib/i386/client/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/i386/server/libjvm_db.so
sparc:
$ pkg contents SUNWj6rt | grep libjvm_db
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/client/64/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/client/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/server/64/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/sparc/server/libjvm_db.so
The i386 ISA should deliver a 64-bit helper library to these locations too:
usr/jdk/instances/jdk1.6.0/jre/lib/i386/client/64/libjvm_db.so
usr/jdk/instances/jdk1.6.0/jre/lib/i386/server/64/libjvm_db.so
The reason that this is necessary is because of mixed mode processes.
Machines that support the sparcv9 and amd64 ISA can run 32-bit binaries
from the sparc and i386 ISA, respectively. If a 64-bit library isn't
provided for i386, 64-bit debuggers/pstack can't debug 32-bit programs
that are running on their system. This was done for sparc, but it
should also be done for i386.
- duplicates
-
JDK-6490487 java support on 64 bit solaris x86 machines is broken.
-
- Closed
-