UnmarshalException failed to unmarshal interface java.util.List

We have a client application that can be run either thru

Java Web Start or from a main. This problem does not occur when

running from the main method but does occur running from web start.

This is found at the bottom of the stack trace:

Error retrieving Application records java.rmi.UnmarshalException: failed to unmarshal interface java.util.List; nested exception is:

java.io.InvalidClassException: failed to read class descriptor

I might understand this if the interface listed above was either one of our interfaces or

one of our classes, BUT java.util.List?

Suggestions?

Stack Trace from console:

at java.io.ObjectInputStream.readObject(Unknown Source)

at java.util.ArrayList.readObject(Unknown Source)

at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at java.io.ObjectStreamClass.invokeReadObject(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 weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:114)

at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:111)

at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)

at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)

at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)

at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)

at com.jda.portfolio.infrastructure.server.service.application.ApplicationService_tkzmp2_EOImpl_813_WLStub.find(Unknown Source)

at com.jda.portfolio.cos.client.action.security.actions.ApplicationSearchPanel.createAppsComboBox(ApplicationSearchPanel.java:150)

at com.jda.portfolio.cos.client.action.security.actions.ApplicationSearchPanel.<init>(ApplicationSearchPanel.java:107)

at com.jda.portfolio.cos.client.action.security.actions.SecurityAssignActionsTaskArea.<init>(SecurityAssignActionsTaskArea.java:67)

at com.jda.portfolio.cos.client.action.security.actions.SecurityAssignActionsController.<init>(SecurityAssignActionsController.java:26)

at com.jda.portfolio.cos.client.action.security.actions.SecurityAssignActionsAction.run(SecurityAssignActionsAction.java:37)

at com.jda.portfolio.infrastructure.client.action.BaseAction.actionPerformed(BaseAction.java:180)

at com.jda.portfolio.infrastructure.client.component.toolbar.ActionWrapper.actionPerformed(ActionWrapper.java:50)

at com.jda.portfolio.infrastructure.client.component.toolbar.TreePanel$5.mouseClicked(TreePanel.java:227)

at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)

at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:8001 connect,resolve)

at java.security.AccessControlContext.checkPermission(Unknown Source)

at java.security.AccessController.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkPermission(Unknown Source)

at sun.rmi.server.LoaderHandler$Loader.checkPermissions(Unknown Source)

at sun.rmi.server.LoaderHandler$Loader.access$000(Unknown Source)

... 79 more

java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)

at java.security.AccessControlContext.checkPermission(Unknown Source)

at java.security.AccessController.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkCreateClassLoader(Unknown Source)

at java.lang.ClassLoader.<init>(Unknown Source)

at java.security.SecureClassLoader.<init>(Unknown Source)

at weblogic.utils.classloaders.GenericClassLoader.<init>(GenericClassLoader.java:117)

at weblogic.utils.classloaders.GenericClassLoader.<init>(GenericClassLoader.java:109)

at weblogic.j2ee.ApplicationManager.loadFromNetwork(ApplicationManager.java:622)

at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:300)

at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:237)

at weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:314)

at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.java:320)

at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

at java.io.ObjectInputStream.readClassDesc(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.readObject(Unknown Source)

at java.util.HashMap.readObject(Unknown Source)

at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at java.io.ObjectStreamClass.invokeReadObject(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.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.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.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 java.util.ArrayList.readObject(Unknown Source)

at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at java.io.ObjectStreamClass.invokeReadObject(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 weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:114)

at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:111)

at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)

at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)

at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:285)

at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)

at com.jda.portfolio.infrastructure.server.service.application.ApplicationService_tkzmp2_EOImpl_813_WLStub.find(Unknown Source)

at com.jda.portfolio.cos.client.action.security.actions.ApplicationSearchPanel.createAppsComboBox(ApplicationSearchPanel.java:150)

at com.jda.portfolio.cos.client.action.security.actions.ApplicationSearchPanel.<init>(ApplicationSearchPanel.java:107)

at com.jda.portfolio.cos.client.action.security.actions.SecurityAssignActionsTaskArea.<init>(SecurityAssignActionsTaskArea.java:67)

at com.jda.portfolio.cos.client.action.security.actions.SecurityAssignActionsController.<init>(SecurityAssignActionsController.java:26)

at com.jda.portfolio.cos.client.action.security.actions.SecurityAssignActionsAction.run(SecurityAssignActionsAction.java:37)

at com.jda.portfolio.infrastructure.client.action.BaseAction.actionPerformed(BaseAction.java:180)

at com.jda.portfolio.infrastructure.client.component.toolbar.ActionWrapper.actionPerformed(ActionWrapper.java:50)

at com.jda.portfolio.infrastructure.client.component.toolbar.TreePanel$5.mouseClicked(TreePanel.java:227)

at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)

at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)

257221ERROR root [AWT-EventQueue-0]: Error retrieving Application records java.rmi.UnmarshalException: failed to unmarshal interface java.util.List; nested exception is:

java.io.InvalidClassException: failed to read class descriptor

[11512 byte] By [mikemila] at [2007-10-2 17:15:52]
# 1
One other thing that is strange - our application is signed as are all of the jars, along with the all-permissions set in the security section of the JNLP file. So why am I getting SocketPermission and RuntimePermission errors?
mikemila at 2007-7-13 18:31:23 > top of Java-index,Desktop,Deploying...
# 2

Issue resolved: not really a signing issue at all.

There was a ClassNotFoundException but the true culprit was a missing jar file in the jnlp file.It was not about not being able to access the class loader. We were returning objects that contained other objects and we were missing the jar that contained those objects.

mikemila at 2007-7-13 18:31:23 > top of Java-index,Desktop,Deploying...