Bug 468970

Summary: Change from openjdk to sun Java breaks jexec
Product: [openSUSE] openSUSE 11.1 Reporter: Randy Goddard <ragoddard>
Component: JavaAssignee: E-mail List <bnc-team-java>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P3 - Medium    
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.1   
Whiteboard:
Found By: SUSE Technical Services Services Priority: 522
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Randy Goddard 2009-01-23 19:03:25 UTC
lappy:~> javaws ./temp/meeting.jnlp
net.sourceforge.nanoxml.XMLParseException: XML Parse Exception during parsing of the XML definition at line 95: Unexpected end of data reached
        at net.sourceforge.nanoxml.XMLElement.unexpectedEndOfData(XMLElement.java:1169)
        at net.sourceforge.nanoxml.XMLElement.readChar(XMLElement.java:940)
        at net.sourceforge.nanoxml.XMLElement.skipSpecialTag(XMLElement.java:878)
        at net.sourceforge.nanoxml.XMLElement.sanitizeInput(XMLElement.java:1293)
        at net.sourceforge.jnlp.Parser$1.run(Parser.java:959)
        at java.lang.Thread.run(Thread.java:636)
netx: Invalid XML document syntax.

This appears to be a common issue with the java-1_6_0-openjdk.  See bugs.debian.org/cgi-bin/bugreport.cgi?bug=494029.

Is this something that we can address, or are we at the mercy of the greater community?

A workaround is to install the SUN java, but my experience is that this breaks other services, i.e., jexec because the soft-links in /etc/alternatives are not all removed and recreated correctly.
Comment 1 Michal Vyskocil 2009-01-26 10:29:54 UTC
The openjdk doesn't contains the java plugin and java webstart, so these parts are not mature as Sun JVM has. I can suggest you to check it with java-1_6_0-openjdk (b14) from Java:openjdk6:Factory only

>A workaround is to install the SUN java, but my experience is that this breaks
>other services, i.e., jexec because the soft-links in /etc/alternatives are not
>all removed and recreated correctly.

This is a serious problem. Could you be more specific (give me an example)? I do many switching and changing of the JVM and got no problem.
Comment 2 Randy Goddard 2009-01-26 16:19:50 UTC
(In reply to comment #1)
> >A workaround is to install the SUN java, but my experience is that this breaks
> >other services, i.e., jexec because the soft-links in /etc/alternatives are not
> >all removed and recreated correctly.
> 
> This is a serious problem. Could you be more specific (give me an example)? I
> do many switching and changing of the JVM and got no problem.

I've had this happen twice now, and I'm probably jumping to root cause, but the symptoms I've seen in duplicating the issue are that, after installing the SUN java package (either manually or through the channel), the JRE does indeed work, but upon reboot, the jexec services won't start.  The system will mostly boot, even to runlevel 5 and it will allow login, but other services such as NetworkManager won't start up.

In troubleshooting the problem, I notice that, even when the package(s) are removed the soft-links still exist in /etc/alternatives, but when the package(s) are reinstalled, these services still don't work.

Because I've been through this twice on my installed system, I'd prefer not to have to suffer the pain again, but I can try to duplicate this again on a VM if you need.
Comment 3 Michal Vyskocil 2009-01-27 08:24:47 UTC
Isn't it related to bnc#461199 [1]? This should be fixed now.

Well, you don't need to broke your system again, that is not necessary :). I need to know, what have you done. For example:

1.) fresh installed system
2.) install sun java
3.) do some update-alternatives stuff, or remove the openjdk
4.) jexec was broken

And the output of following commands should be helpful too:
rpm -qa --last | grep java
history | grep update-alternatives (only in case if you used it)

[1] https://bugzilla.novell.com/show_bug.cgi?id=461199
Comment 4 Randy Goddard 2009-01-29 22:17:58 UTC
(In reply to comment #3)
> Well, you don't need to broke your system again, that is not necessary :). I
> need to know, what have you done. For example:

In both cases, the system had been installed and running for 2-3 weeks.  I removed the openjdk and installed the SUN java both manually and through YaST.  I noticed that the /etc/alternatives/javaws or jre links were broken, so I recreated them manually (I really am a java dope).  Once done, the jre seems to work, but jexec was broken.

> And the output of following commands should be helpful too:
> rpm -qa --last | grep java
> history | grep update-alternatives (only in case if you used it)

Unfortunately both of these have been cleared as I've since reinstalled.  Sorry.  I'll see if I can get this duplicated in a guest environment.
Comment 5 Michal Vyskocil 2009-01-30 09:29:44 UTC
OK. Just renamed this bug.
Comment 6 Randy Goddard 2009-01-30 23:25:55 UTC
(In reply to comment #5)
> OK. Just renamed this bug.

I think I've narrowed this down, Michal.  If I use YaST to remove the openjdk and install sun java, /etc/alternatives gets updated correctly and jexec doesn't break.

However, if I remove openjds through YaST, then manually install the sun java rpm (from their site), then /etc/alternatives does not get updated fully and jexec breaks.

So, I don't see this as our problem.  But, I suppose we could report it to Sun and let them fix it?
Comment 7 Michal Vyskocil 2009-02-04 10:28:07 UTC
Well, problem is simple. Using Yast you can install a SUSE rpm with Sun Java wich contains an integration to the system. If you download and install a Sun's rpm package, then you have to integrate it in your system on your own ;-)

jexec is a Sun's own service and the workaround for the break on current openSUSE systems is described in bnc#463582 [1]

[1] https://bugzilla.novell.com/show_bug.cgi?id=463582#c12

*** This bug has been marked as a duplicate of bug 471179 ***
Comment 8 Michal Vyskocil 2009-02-04 10:32:18 UTC
proper duplicate bug number

*** This bug has been marked as a duplicate of bug 463582 ***