← Back to team overview

openjdk team mailing list archive

[Bug 561124] Re: firefox sets LD_LIBRARY_PATH which breaks the icedtea6-plugin

 

> As for LD_LIBRARY_PATH, is NSS the only issue

It looks like it's the only issue, however there are a lot of
environment variables set for other platforms. Firefox can't know which
extension/plugin is loaded, so any difference between the build
environment of the extension/plugin and the runtime environment of the
extension/plugin may cause issues.

-- 
firefox sets LD_LIBRARY_PATH which breaks the icedtea6-plugin
https://bugs.launchpad.net/bugs/561124
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in ubuntu.

Status in OpenJDK: Unknown
Status in “firefox” package in Ubuntu: Triaged
Status in “openjdk-6” package in Ubuntu: In Progress
Status in “firefox” source package in Lucid: Triaged
Status in “openjdk-6” source package in Lucid: In Progress

Bug description:
Binary package hint: firefox

starting with openjdk/icedtea-1.7, a NSS based security provider is supported by icedtea.

The firefox start script in MOZILLA_FIVE_HOME sets LD_LIBRARY_PATH to include MOZILLA_FIVE_HOME and a number of subdirectories of MOZILLA_FIVE_HOME. The current NSS provider code seems to honor LD_LIBRARY_PATH, and loads the libnss3.so provided by the browser.

Caused by: java.io.IOException: An incompatible version of NSS is already loaded, 3.7 or later required
        at sun.security.pkcs11.Secmod.isInitialized(Secmod.java:130)
        at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:168)

(wondering why the nss version shipped with firefox 3.6.3 identifies itself as 3.7).

However the openjdk build is configured for the nss version configured at build time, and you can run it with more than one browser, so it makes sense to use the libnss version which was detected at openjdk build time.

My current solution/workaround is to pass a modified LD_LIBRARY_PATH to the subprocess such that the libnss3.so which was configured at build time is always used.

The setting of LD_LIBRARY_PATH in the run-mozilla.sh start script may be convenient, but it does break plugins which are built to be independent of the browser used.

Things to do on the browser side:

 - why does firefox use it's own outdated libnss copy, and doesn't use the system nss3?
 - why does the nss shipped with firefox identifies itself with 3.7?
 - the firefox startup script should not set LD_LIBRARY_PATH, but search itself for libs
   in known places.

for a proposed workaround for the icedtea6-plugin to work with this broken plugin, see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=461





References