Summary: | www-client/firefox-5.0-r2 could not connect to java console with error: Could not initialize class javax.crypto.SunJCE_b | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Marco Clocchiatti <ziapannocchia> |
Component: | Current packages | Assignee: | Java team <java> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gentoo_bugs_peep, java |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge.info
log from java-console |
Description
Marco Clocchiatti
2011-08-04 07:32:14 UTC
Created attachment 282025 [details]
emerge.info
Created attachment 282027 [details]
log from java-console
I'm seeing a similar issue with Java and the JCE when running DAVMail (which isn't in the port tree), very similar call stacK: ================================================================================ Exception in thread "ImapConnection-51862" java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b at javax.crypto.KeyGenerator.a(DashoA13*..) at javax.crypto.KeyGenerator.<init>(DashoA13*..) at javax.crypto.KeyGenerator.getInstance(DashoA13*..) at com.sun.net.ssl.internal.ssl.JsseJce.getKeyGenerator(Unknown Source) at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(Unknown Source) [...] ================================================================================ I've tried reinstalling dev-java/sun-jre-bin-1.6.0.29 (USE="X alsa jce nsplugin") & dev-java/sun-jce-bin-1.6.0. Unfortunately, the old JRE was removed from the tree, so I can't go back and see if it still works. Oh, and I get this to happen with www-client/firefox-7.0.1-r1 too. Just go to https://www.java.com/en/download/installed.jsp and click the "Verify Java Version" button (with the jce enabled/installed). It looks like dev-java/sun-jre-bin-1.6.0.29 has soft-links that don't match up with dev-java/sun-jce-bin-1.6.0. On my system /opt/sun-jre-bin-1.6.0.29/lib/security/local_policy.jar points to /opt/sun-jce-bin-1.6.0/lib/security/unlimited-jce/local_policy.jar, but it should point to /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/local_policy.jar (the /jre/ in the middle is the difference. I did the following work-around as root: cd /opt/sun-jre-bin-1.6.0.29/lib/security/ unlink local_policy.jar unlink US_export_policy.jar ln -s /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/local_policy.jar ./ ln -s /opt/sun-jce-bin-1.6.0/jre/lib/security/unlimited-jce/US_export_policy.jar ./ I'm going to go look at the ebuild in a few minutes. It's not even worth me posting a patch, lines 110 & 112 (both dosym lines in the if use jce block) just need "/jre" inserted before "/lib/". (In reply to comment #6) > It's not even worth me posting a patch, lines 110 & 112 (both dosym lines in > the if use jce block) just need "/jre" inserted before "/lib/". Fixed symlinks in -r1, thanks for looking into it. |