Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 1.4.10.Final
    • Fix Version/s: 1.4.12.Final
    • Component/s: JBoss Serialization
    • Labels:
      None
    • Environment:

      Java 1.8.0_91 64-Bit
      CentOS 6.8

      Description

      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)
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dmlloyd David Lloyd
                  Reporter:
                  datallah Daniel Atallah
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: