-
Bug
-
Resolution: Done
-
Major
-
1.4.10.Final
-
None
There appears to be a race condition in the caching of the SerializableClass in org.jboss.marshalling.reflect.SerializableClassRegistry.lookup() such that an infinite loop in UnlockedHashMap.doPut() is triggered.
The stacktrace is as follows:
"http-executor-threads - 200" #426 prio=5 os_prio=0 tid=0x00007eff14cc1800 nid=0x6d43 runnable [0x00007efef4559000] java.lang.Thread.State: RUNNABLE at org.jboss.marshalling.reflect.UnlockedHashMap.doPut(UnlockedHashMap.java:201) at org.jboss.marshalling.reflect.UnlockedHashMap.putIfAbsent(UnlockedHashMap.java:300) at org.jboss.marshalling.reflect.SerializableClassRegistry.lookup(SerializableClassRegistry.java:92) at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:985) at org.jboss.marshalling.river.RiverUnmarshaller.doReadArray(RiverUnmarshaller.java:1591) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:329) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:224) at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1745) at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1658) at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1285) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:276) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209) at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41) at org.jboss.ejb.client.remoting.MethodInvocationResponseHandler$MethodInvocationResultProducer.getResult(MethodInvocationResponseHandler.java:108) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:276)
- is cloned by
-
JBEAP-11031 (7.0.z) Race condition in SerializableClassRegistry.lookup
- Closed