ChemAxon 5433b8e56b
24-09-2009 12:12:19
ChemAxon found a serious incompatibility issue between Marvin Applets and the Next Generation Java plugin (also known as plugin2 introduced in Java 1.6.0_10) with 1.6.0_15 and higher versions: Sometimes, when an applet is restarted a NoClassDefFoundError is thrown.
Details:
If the classes of a package are separated into two or more jar files, and the applet is restarted before all the classes of a package are downloaded into the cache, then upon downloading a jar that contains another class of the source package, this class will not be found in the downloaded resources and a NoClassDefFoundError is thrown from AppletClassLoader.
The cause of the error:
The AppletClassloader discovers the ClassPath and downloads the jar which contains the class, and after the new jar is downloaded the AppletClassLoader tries to load the class but fails. The fallback mechanism then tries to load the class file from the codebase of the applet, but there are no class files in the codebase, so an error is raised.
Since inside Marvin we have packages for applets that are separated into more jars (for different reasons) this affects the Marvin code deeply and it is hard to redesign it quickly.
A complete bug report has already been posted to Sun, and we are now trying to identify where this issue should be fixed. Until the final solution is achived, we suggest to use one of the following two workarounds:
1. The latest Java version installed on the computer where the applet is used should not be newer than 1.6.0_14
2. On the computer where the applet is used the Next Generation Java Plugin should be disabled. It can be made by switching the corresponding checkbox to off in the Java Control Panel's Advanced tab in the "Java Plugin" section.
Both of these workarounds need administrator privileges on the computer.
We are really sorry for any inconvenience caused by this issue. We will notify you in this topic if we have any further information.
Should you have any questions related to this issue please do not hesitate to ask us in this topic.
The Support Team