← Back to team overview

openjdk team mailing list archive

[Bug 224110] Re: /usr/lib/jvm/java-6-openjdk/bin/java: error while loading shared libraries: libjli.so: cannot openshared object file: No such file or directory

 

This bug occurs on a readlink() of /proc/self/exe -  the kernel
implements readlink() of /proc/pid/exe by getting the file from the
first executable VMA.  The path to the file is reconstructed and
returned as the result.  This does not identify the correct path on
stackable file systems, such as unionfs, hence it's not a unionfs bug
per se.

A patch for this does exist to fix the correct handling of
/proc/self/exe, namely http://marc.info/?l=linux-mm-
commits&m=120141116911711 however it is fairly intrusive - it modifies
some of the more critical parts of the kernel and I believe it is not
yet currently upstream, hence it's far too much of a risk to patch a
stable release of Hardy and keep the kernel maintainable over the hardy
LTS lifetime.

-- 
/usr/lib/jvm/java-6-openjdk/bin/java: error while  loading shared libraries: libjli.so: cannot openshared object file:  No such file or directory 
https://bugs.launchpad.net/bugs/224110
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in ubuntu.

Status in Source Package "linux-ubuntu-modules-2.6.24" in Ubuntu: In Progress
Status in Source Package "openjdk-6" in Ubuntu: Fix Released

Bug description:
Hi,

When running java from openjdk-6-jre-headless with an unionfs-ed /, it fails to append the proper library path to locate the libs it needs.

10:48 < StevenK> The problem is this:
10:49 < StevenK> java reads /proc/self/exe and comes up with the full path, 
                 including the bits that are hidden under unionfs, like 
                 /squashmnt or /persistmnt, and returns 
                 /squashmnt/usr/lib/jvm/java-6-openjdk/jre/bin/java
10:50 < StevenK> java then looks for it's libraries in 
                 /squashmnt/usr/lib/jvm/java-6-openjdk/jre/lib, and can't find 
                 them.

Adding /squashmnt -> / and /persistmnt -> / symlinks works around the issue.

This typically affects UME and live CDs.

Bye,



References