Bug 487452

Summary: Using avatar editor applet on meez.com causes "IllegalArgumentException"
Product: [Fedora] Fedora Reporter: Richard Shaw <hobbes1069>
Component: java-1.6.0-openjdkAssignee: Deepak Bhole <dbhole>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: dbhole, langel, lkundrak, mjw, mjw
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: 1.6.0.0-18.b16.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-29 14:09:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Richard Shaw 2009-02-26 04:04:00 UTC
Description of problem:
When using the avatar editor applet on meez.com the applet never fully loads and console output shows an IllegalArgumentException.

Version-Release number of selected component (if applicable):
1.6.0.0-9.b14.fc10

How reproducible:
So far on two x86_64 F10 installs with the same result.

Steps to Reproduce:
1.Login to meez.com
2.Select "Avatars->MeezMaker"
3.
  
Actual results:
Applet never loads.

Expected results:
Applet to work properly.

Additional info:
Console output of "firefox --debug" but I did not use debug version of firefox since the problem appears to be with java.
---
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet.
	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:472)
	at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:418)
	at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:597)
Caused by: java.lang.IllegalArgumentException: name
	at sun.misc.URLClassPath$Loader.getResource(URLClassPath.java:510)
	at sun.misc.URLClassPath.getResource(URLClassPath.java:185)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:209)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:773)
	at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:795)
	at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:710)
	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:457)
	... 2 more
Caused by: 
java.lang.IllegalArgumentException: name
	at sun.misc.URLClassPath$Loader.getResource(URLClassPath.java:510)
	at sun.misc.URLClassPath.getResource(URLClassPath.java:185)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:209)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:773)
	at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:795)
	at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:710)
	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:457)
	at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:418)
	at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:597)
java.lang.NullPointerException
	at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:97)
	at sun.applet.AppletPanel.run(AppletPanel.java:380)
	at java.lang.Thread.run(Thread.java:636)
java.lang.NullPointerException
	at sun.applet.AppletPanel.run(AppletPanel.java:430)
	at java.lang.Thread.run(Thread.java:636)

Comment 1 Mark Wielaard 2009-02-26 11:08:17 UTC
(In reply to comment #0)
> Description of problem:
> When using the avatar editor applet on meez.com the applet never fully loads
> and console output shows an IllegalArgumentException.
> [...]
> Caused by: 
> java.lang.IllegalArgumentException: name
>  at sun.misc.URLClassPath$Loader.getResource(URLClassPath.java:510)
>  at sun.misc.URLClassPath.getResource(URLClassPath.java:185)
> [...]

Bah, what an uniformative exception. The code just does:

            try {
                url = new URL(base, ParseUtil.encodePath(name, false));
            } catch (MalformedURLException e) {
                throw new IllegalArgumentException("name");
            }

Grrr. Eating the original exception and the given argument.
At least this code should be changed to something like:

            try {
                url = new URL(base, ParseUtil.encodePath(name, false));
            } catch (MalformedURLException e) {
                IllegalArgumentException iae;
                iae = new IllegalArgumentException("name: " + name);
                iae.initCause(e);
                throw iae;
            }

That said, it might be that:

> at net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:773)

Should actually catch RuntimeException or Error instead of letting those "escape".

Comment 2 Deepak Bhole 2009-02-26 17:33:58 UTC
The problem is actually in the applet/object tag parser code. The code param is specified as "java:..." and that "java:" is messing up the parsing. I have fixed in my local copy and the applet works perfectly for me now. I will commit it upstream by the end of the day along with another fix I am working on.

Comment 3 Fedora Update System 2009-05-30 14:16:35 UTC
java-1.6.0-openjdk-1.6.0.0-18.b16.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/java-1.6.0-openjdk-1.6.0.0-18.b16.fc10

Comment 4 Fedora Update System 2009-05-30 14:17:26 UTC
java-1.6.0-openjdk-1.6.0.0-22.b16.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/java-1.6.0-openjdk-1.6.0.0-22.b16.fc11

Comment 5 Fedora Update System 2009-06-02 14:23:19 UTC
java-1.6.0-openjdk-1.6.0.0-22.b16.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 6 Fedora Update System 2009-06-02 14:30:50 UTC
java-1.6.0-openjdk-1.6.0.0-18.b16.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.