Bug 455246 - JNPL/WebStart not working on x86-64 with i586 package
JNPL/WebStart not working on x86-64 with i586 package
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: java-1.5.0-sun (Show other bugs)
5.2
x86_64 Linux
medium Severity medium
: rc
: ---
Assigned To: jiri vanek
BaseOS QE - Apps
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-07-14 09:10 EDT by Michal Nowak
Modified: 2013-03-07 21:04 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-01-06 04:21:52 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Michal Nowak 2008-07-14 09:10:27 EDT
Description of problem:

Install latest java-1.5.0-sun on x86-64 there's also i586 plugin pkg involved
which holds JNLP/WebStart (javaws binary). 

Run:

some JNLP from firefox of in shell, you will get

(JNLP from    http://java.sun.com/products/javawebstart/demos.html)

.qa.[root@x86-64-5s-1-m2 ~]#
/usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/javaws/javaws /tmp/draw.jnlp
Java Web Start splash screen process exiting .....
Bad installation. No JRE found in configuration file: No such file or directory

Version-Release number of selected component (if applicable):

java-1.5.0-sun-plugin-1.5.0.16-1jpp.2.el5.i586

How reproducible:
always
Comment 1 Radek Bíba 2008-07-14 12:24:36 EDT
I wouldn't expect the i586 -plugin package stuff to work w/o having the i586
main package at the same time. I don't why we ship it for x86_64. Looks like a
compose issue to me...
Comment 2 Michal Nowak 2009-06-24 10:10:42 EDT
This is on RHEL-5-x86_64-java-sun-1.{5,6} only.
Comment 3 jared jennings 2010-03-03 17:13:58 EST
I have this too with Sun Java 1.6.0.17. Here's my list of installed Java packages:

root@j /usr/lib/jvm/java-1.6.0-sun-1.6.0.17/jre/lib # rpm -qa java\* | sort
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp.115
java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp.115
java-1.4.2-gcj-compat-javadoc-1.4.2.0-40jpp.115
java-1.4.2-gcj-compat-src-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
java-1.6.0-openjdk-devel-1.6.0.0-1.7.b09.el5
java-1.6.0-sun-1.6.0.17-1jpp.2.el5
java-1.6.0-sun-plugin-1.6.0.17-1jpp.2.el5
java-1.6.0-sun-plugin-1.6.0.17-1jpp.2.el5

The specific problem is that the operative .desktop file points at the i386 javaws binary, not the x86_64 binary:

j /usr/share/applications $ cat java-1.6.0-sun-javaws.desktop 
[...]
Exec=/usr/lib/jvm/java-1.6.0-sun-1.6.0.17/jre/bin/javaws
[...]

When I make a $HOME/.local/share/applications/java-1.6.0-sun-javaws.desktop with the Exec pointing to the x86_64 javaws binary, I can click on my Web Start link from Firefox and it starts properly.
Comment 4 Radek Bíba 2011-01-06 03:32:36 EST
java-1.5.0-sun is no longer a supported Red Hat Enterprise Linux package [1], and java-1.6.0-sun is now available as "fully multilib" [2], so if you *really* need to have the 32-bit -plugin subpackage, whose java-1.6.0-sun-javaws.desktop file points to the 32-bit binaries, it's possible to install the 32-bit main package and everything will work. However, it's probably better to have just the 64-bit java-1.6.0-sun and java-1.6.0-sun-plugin. Looking at comment 3, I see two -plugin subpackages and just one main package; both of them contain 'java-1.6.0-sun-javaws.desktop', but with a sightly different path in Exec=. RPM should be smart enough to silently leave only the file from the native-arch package on disk in this case, so it's surprising to hear that 'cat java-1.6.0-sun-javaws.desktop' gives you the path from the other package. Jared, could you please re-install the packages? And is 'rpm -V java-1.6.0-sun-plugin.x86_64' clean?

[1] http://rhn.redhat.com/errata/RHSA-2010-0338.html
[2] http://rhn.redhat.com/errata/RHBA-2010-0555.html
Comment 5 jiri vanek 2011-01-06 04:21:52 EST
java-1.5.0-sun is no longer a supported
Comment 6 jared jennings 2011-01-13 11:06:35 EST
Radek, I no longer have the problem I had in Comment 3. Details follow.

I just installed java-1.6.0-sun-plugin version 1.6.0.22-1jpp.1.el5 using yum. Here's the rpm -V output immediately after the install:

root@down ~ # rpm -V java-1.6.0-sun-plugin.x86_64
root@down ~ # rpm -V java-1.6.0-sun-plugin.i586
S.5.....    /usr/share/applications/java-1.6.0-sun-ControlPanel.desktop
S.5.....    /usr/share/applications/java-1.6.0-sun-javaws.desktop
root@down ~ #

The javaws desktop file says:

root@down ~ # cat /usr/share/applications/java-1.6.0-sun-javaws.desktop
[...]
Exec=/usr/lib/jvm/java-1.6.0-sun-1.6.0.22.x86_64/jre/bin/javaws
[...]

And the executable pointed at is 64-bit:

root@down ~ # file /usr/lib/jvm/java-1.6.0-sun-1.6.0.22.x86_64/jre/bin/javaws
/usr/lib/jvm/java-1.6.0-sun-1.6.0.22.x86_64/jre/bin/javaws: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), for GNU/Linux 2.4.0, not stripped

I tried clicking on a JNLP file from https://j3d-webstart.dev.java.net/test/ and the right javaws appears to have been started. (There was some HTTP proxy silliness, so the test app did not start, but that's unrelated.)

So it appears that the problem I had with java-1.6.0-sun-1.6.0.17 has been fixed between then and now.
Comment 7 Radek Bíba 2011-01-13 13:48:24 EST
Cool, I'm glad to head that!
Comment 8 Radek Bíba 2011-01-13 14:02:29 EST
s/head/hear/ :)

Note You need to log in before you can comment on or make changes to this bug.