[
http://jira.jboss.com/jira/browse/JBSER-108?page=comments#action_12417185 ]
Jay Howell commented on JBSER-108:
----------------------------------
Seems that this is an AOP issue. Should have looked at the Stack trace better. This bug
is defined in detail in
http://jira.jboss.com/jira/browse/JBAOP-347 and a resolution is
also proposed. I was able to reproduce this at one point and can't anymore. I'm
not sure how I get into that branch of the code. But it seems that all of the instances
happen on line 190 of the org.jboss.aop.util.MarshalledValue, which is where the case is
done to the OutputStream.
Jboss serailization doesn't seem to work in 1.0.3GA
---------------------------------------------------
Key: JBSER-108
URL:
http://jira.jboss.com/jira/browse/JBSER-108
Project: JBoss Serialization
Issue Type: Bug
Affects Versions: 1.0.3 GA
Reporter: Jay Howell
Assigned To: Clebert Suconic
Priority: Critical
Attachments: ejbthree.tar.gz
Users get this stacktrace when using jboss remoting
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException:
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput
at org.jboss.aop.util.MarshalledValue.writeExternal(MarshalledValue.java:190)
at
org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
at org.jboss.aop.metadata.SimpleMetaData.writeExternal(SimpleMetaData.java:226)
at
org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
at org.jboss.aop.joinpoint.MethodInvocation.writeExternal(MethodInvocation.java:321)
at
org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
at
org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
at
org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
at
org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
at
org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at
org.jboss.remoting.serialization.impl.jboss.JBossSerializationManager.sendObject(JBossSerializationManager.java:89)
at
org.jboss.remoting.marshal.serializable.SerializableMarshaller.write(SerializableMarshaller.java:120)
at
org.jboss.remoting.marshal.compress.CompressingMarshaller.write(CompressingMarshaller.java:105)
at
org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:278)
at
org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:136)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
at org.jboss.remoting.Client.invoke(Client.java:1634)
at org.jboss.remoting.Client.invoke(Client.java:548)
Here's the remoting configuration.
<!-- The following is sample configuration for modifying the Connector -->
<mbean code="org.jboss.remoting.transport.Connector"
name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
<depends>jboss.aop:service=AspectDeployer</depends>
<attribute name="Configuration">
<config>
<invoker transport="socket">
<attribute name="numAcceptThreads">1</attribute>
<attribute name="maxPoolSize">300</attribute>
<attribute name="clientMaxPoolSize"
isParam="true">50</attribute>
<attribute name="timeout"
isParam="true">60000</attribute>
<attribute
name="serverBindAddress">${jboss.bind.address}</attribute>
<attribute name="serverBindPort">3873</attribute>
<attribute name="backlog">200</attribute>
<attribute name="serializationtype"
isParam="true">jboss</attribute>
</invoker>
<handlers>
<handler
subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
</handlers>
</config>
</attribute>
</mbean>
Please note that we have two cases that we are seeing this in.
From David Lloyd
"HA! I think I've solved it.
I discovered that I can't reproduce the problems within my IDE, which got me
scratching my head a bit. But it turns out, I've been using Serialization 1.0.3.GA
from the repository, rather than the version in SVN... which is 1.0.0.RC1 (!)."
I don't know just what changed from 1.0.0.RC1 to 1.0.3.GA."
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira