[
https://issues.jboss.org/browse/ISPN-2330?page=com.atlassian.jira.plugin....
]
Scott Marlow commented on ISPN-2330:
------------------------------------
I attached new logs (anotherAS7clusteringtestServerLogs.zip) to help determine if I'm
also hitting a form of ISPN-2330.
Search for "BANG org.infinispan.util.ImmutableListCopy case hit for" in
jbossas-clustering-SYNC-tcp-0/standalone/log/server.log, as that is when we are actually
going to marshall with the wrong class resolver (a ContextClassResolver). The first one
reached is:
{quote}
16:55:38,187 INFO [stdout] (transport-thread-15) BANG
org.infinispan.util.ImmutableListCopy case hit for AbstractClassResolver
this=org.jboss.marshalling.ContextClassResolver@2a73f761
{quote}
Search backwards for the constructor of ContextClassResolver@2a73f761 and note the call
stack.
{quote}
16:55:27,182 INFO [stdout] (transport-thread-15) ContextClassResolver ctor for
org.jboss.marshalling.ContextClassResolver@2a73f761
{quote}
Look ahead at the marshaller ctor, you will soon see it (same call stack as above
originating from
org.infinispan.marshall.jboss.AbstractJBossMarshaller$PerThreadInstanceHolder.getMarshaller(AbstractJBossMarshaller.java:348)):
{quote}
16:55:27,186 INFO [stdout] (transport-thread-15) xxx AbstractMarshaller ctor is using
classresolver of org.jboss.marshalling.ContextClassResolver ,
this=org.infinispan.marshall.jboss.ExtendedRiverMarshaller@3cecc1e1
{quote}
You will soon see the log message from the AbstractMarshaller ctor that shows the
marshaller + class resolver together:
{quote}
16:55:27,188 INFO [stdout] (transport-thread-15) xxx AbstractMarshaller ctor using
lassResolver org.jboss.marshalling.ContextClassResolver@2a73f761 ,
this=org.infinispan.marshall.jboss.ExtendedRiverMarshaller@3cecc1e1
{quote}
Repeating the first "BANG" from above, note that if find the thead dump below
this line that is for thread transport-thread-15, it is triggered from
org.jboss.marshalling.AbstractClassResolver.annotateClass and shows the same
ContextClassResolver@2a73f761 is being used.
{quote}
16:55:38,187 INFO [stdout] (transport-thread-15) BANG
org.infinispan.util.ImmutableListCopy case hit for AbstractClassResolver
this=org.jboss.marshalling.ContextClassResolver@2a73f761
{quote}
JBossMarshaller uses wrong class resolver after stop/start
----------------------------------------------------------
Key: ISPN-2330
URL:
https://issues.jboss.org/browse/ISPN-2330
Project: Infinispan
Issue Type: Bug
Components: Marshalling
Affects Versions: 5.1.4.FINAL
Reporter: Dennis Reed
Assignee: Galder Zamarreño
Priority: Critical
Labels: jdg, jdg6
Fix For: 5.2.0.CR1, 5.2.0.Final
Attachments: anotherAS7clusteringtestServerLogs.zip,
AS7clusteringtestServerLogs.zip
org.infinispan.marshall.jboss.JBossMarshaller initializes the classResolver in its
inject() method and clears it in its stop() method.
If the cache is stopped and restarted (for example when redeploying a clustered web app
in EAP), the wrong class resolver is used.
Either the classResolver should not be removed in stop() (testing with it removed did not
show any class leaking issues), or it should be reset in start().
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira