Bug 506067

Summary: java-1_6_0-sun-plugin crashes SeaMonkey
Product: [openSUSE] openSUSE 11.1 Reporter: Tristan Miller <psychonaut>
Component: OtherAssignee: E-mail List <bnc-team-screening>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P5 - None CC: kairo, wolfgang
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Tristan Miller 2009-05-21 16:38:12 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.21) Gecko/20090410 SUSE/1.1.16-1.5 SeaMonkey/1.1.16

According to Bug 445022 and 500447, the OpenJDK Java plugin (java-1_6_0-openjdk-plugin) doesn't work with SeaMonkey.  Those bugs are marked as WONTFIX because there is supposedly an easy workaround: namely, to use the Sun plugin instead.

Well, the Sun plugin doesn't seem to work with SeaMonkey either.  I am using the following 64-bit packages:

java-1_6_0-sun-1.6.0.u13-0.1.1
java-1_6_0-sun-plugin-1.6.0.u13-0.1.1
seamonkey-1.1.16-1.5


Reproducible: Always

Steps to Reproduce:
1. Launch SeaMonkey
2. Visit the Java Tester page at http://www.javatester.org/version.html

Actual Results:  
3. As soon as the page is loaded, SeaMonkey crashes with a segmentation fault.  See the following console output:

psy@weasel:~]$ seamonkey
*** NSPlugin Viewer  *** ERROR: /usr/lib/browser-plugins/nphelix.so: cannot open shared object file: No such file or directory
/usr/bin/seamonkey: line 277:  3973 Segmentation fault      $AOSS $MOZ_PROGRAM $MOZ_LANG
[psy@weasel:/etc/alternatives]$


The Java plugin also doesn't appear in the about:plugins page.
Comment 1 Michal Vyskocil 2009-05-22 11:12:03 UTC
I'm afraid that Seamonkey is not compatible with any of existing Java plugins :-(
Comment 2 Michal Vyskocil 2009-05-22 11:22:03 UTC
I've found a workaround for x86_64 - you have to use i586 Java and Seamonkey:

1.) Install a 32bit sun Java (unfortunatelly no 32bit compat packages are distributed with openSUSE)

wget http://download.opensuse.org/update/11.1/rpm/i586/java-1_6_0-sun-1.6.0.u13-0.1.1.i586.rpm
wget http://download.opensuse.org/update/11.1/rpm/i586/java-1_6_0-sun-plugin-1.6.0.u13-0.1.1.i586.rpm
rpm -ivh --noscripts java-1_6_0-sun*.rpm

2.) Use Yast's Software manager to install a i586 version of Seamonkey (the tab Version)

3.) ln -sf /usr/lib/jvm/java-1.6.0-sun-1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/seamonkey/plugins/javaplugin.so

And Java will work. Unfortunately you will have a 32bit version of Seamonkey, so you must also install 32bit versions of all necessary plugins.
Comment 3 Robert Kaiser 2009-05-22 13:56:47 UTC
The important notion here seems to be 64bit, as I also can confirm that on a 32bit system, at least SeaMonkey 2.x development versions work fine with Sun Java 1.6 (on the few places where I encounter Java on the web at all).

SeaMonkey 1.1.x uses the exactly same code for integrating plugins and Java as Firefox 2.0 uses/used, SeaMonkey 2.0 development versions are using the same as Firefox 3.5 development versions, we are identical here, so any problems should affect both browsers equally.
Comment 4 Wolfgang Rosenauer 2009-05-22 14:02:32 UTC
Yes, the issue is basically that there is _no_ Sun Java plugin for 64bit which works with any Mozilla before Gecko 1.9.
The only solution to have Java with SeaMonkey 1.1.x is to use the 32bit versions of Java and seamonkey.
Comment 5 Michal Vyskocil 2009-05-22 14:23:17 UTC
(In reply to comment #3)
> The important notion here seems to be 64bit,

Yes, because the legacy plugin libjavaplugin_oji.so is available only on i586 installation. Plus i586 version of java-1_6_0-sun-plugin installs a plugin to /usr/lib/seamonkey/plugins/, so this works well on 32bit systems.

> as I also can confirm that on a
> 32bit system, at least SeaMonkey 2.x development versions work fine with Sun
> Java 1.6 (on the few places where I encounter Java on the web at all).

Can you confirm that you uses a libjnp2.so and don't have a symlinked libjavaplugin_oji.so in /usr/lib/seamonkey/plugins, please?

> SeaMonkey 1.1.x uses the exactly same code for integrating plugins and Java as
> Firefox 2.0 uses/used, SeaMonkey 2.0 development versions are using the same as
> Firefox 3.5 development versions, we are identical here, so any problems should
> affect both browsers equally.

That's true - the new Java plugin (which is the only one available on x86_64) is compatible only with Gecko 1.9 based browsers (Firefox 3 and Epiphany in 11.1).
Comment 6 Michal Vyskocil 2009-05-22 14:25:22 UTC
(In reply to comment #4)
> The only solution to have Java with SeaMonkey 1.1.x is to use the 32bit
> versions of Java and seamonkey.

So I close this bug as WONTFIX again. Only one workaround for 64bit systems is to install a 32bit Seamonkey and Java - see comment#2.
Comment 7 Robert Kaiser 2009-05-22 14:39:18 UTC
(In reply to comment #5)
> Can you confirm that you uses a libjnp2.so and don't have a symlinked
> libjavaplugin_oji.so in /usr/lib/seamonkey/plugins, please?

Yes, I'm running libjnp2.so on my SeaMonkey 2.x development versions and it works fine. This is 32bit here, but should work fine on 64bit as well. I think Wolfgang has some SeaMonkey 2.0 alpha/beta/nightly in the Mozilla OBS repo, feel free to try that (you can guess that as project leader I'll be very very happy when we come to finally release that 2.0 version).
Comment 8 Michal Vyskocil 2009-05-25 08:20:19 UTC
JFI: I wrote a small howto about it

http://en.opensuse.org/Java/How_To_use_Java_with_Seamonkey_on_64-bit