MailTo: Register@Fam-Apfelbeck.de
The following Error occures with final 2.2 and Java
SDK6 beta:
Error occured in IPlugin.sessionCreated() for SQL Entry
Code Completion
Stack:
java.lang.RuntimeException:
java.lang.ClassNotFoundException:
[Lnet.sourceforge.squirrel_sql.plugins.codecompletion.prefs.PrefixedConfig;
at
net.sourceforge.squirrel_sql.fw.util.Utilities.cloneObject(Utilities.java:351)
at
net.sourceforge.squirrel_sql.plugins.codecompletion.CodeCompletionPlugin.sessionCreated(CodeCompletionPlugin.java:239)
at
net.sourceforge.squirrel_sql.client.plugin.PluginManager.sessionCreated(PluginManager.java:150)
at
net.sourceforge.squirrel_sql.client.mainframe.action.ConnectToAliasCommand$Runner.run(ConnectToAliasCommand.java:460)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at
net.sourceforge.squirrel_sql.client.Application$1.dispatchEvent(Application.java:172)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
Source)
at
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
Source)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException:
[Lnet.sourceforge.squirrel_sql.plugins.codecompletion.prefs.PrefixedConfig;
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native
Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at
net.sourceforge.squirrel_sql.fw.util.MyURLClassLoader.findClass(MyURLClassLoader.java:164)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
net.sourceforge.squirrel_sql.fw.util.Utilities$1.resolveClass(Utilities.java:340)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown
Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readArray(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown
Source)
at java.io.ObjectInputStream.readSerialData(Unknown
Source)
at
java.io.ObjectInputStream.readOrdinaryObject(Unknown
Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at
net.sourceforge.squirrel_sql.fw.util.Utilities.cloneObject(Utilities.java:344)
... 12 more
Logged In: YES
user_id=1287991
This is a duplicate of bug #1448738 (JDK 6.0 regression).
So, I am closing it. See
https://sourceforge.net/tracker/index.php?func=detail&aid=1448738&group_id=28383&atid=393414
for details on why this is an issue with Sun's
URLClassLoader implementation in JDK 6 and not a problem
that will be fixed in SQuirreL. It might make a good
regression bug submission for Sun.
Rob
Logged In: YES
user_id=1287991
Playing with this a little more it seems that the problem
is serializing arrays of objects is broken in "mustang".
I'll file a regression issue with Sun.
See the attached code that illustrates the problem under
Java 6 but works just great in 1.5.0
Rob
Test case for JDK 6 SE regression
Logged In: YES
user_id=1287991
It's similar to Java bug number 6434149:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434149
Rob
Logged In: YES
user_id=1287991
The regression I filed with Sun is here:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6446627
Even though it's a different stack, they claim it was a
duplicate of this bug here:
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=4b36eaa1ca5486ffffffffbb35095bd31206e:YfiG?bug_id=6434149
In any case, it's in Sun's hands now. Not being able to
read serialized classes with arrays of objects seems like
it is a pretty serious bug and could break lots of things.
So I imagine they'll do their best to get it fixed before
the release of 1.6.0. Meanwhile, having this ability
allows us to not have to hard-code our clone()
implementations. I might reconsider this limitation and
provide a work-around (implementing hard-coded references
to fields in assignFrom for various classes) if Sun fails
to fix this before releasing 1.6.0. Let's just hope that
doesn't happen. For now, stick with the latest 1.5.0
when running SQuirreL.
Rob