[jboss-jira] [JBoss JIRA] (JBCLUSTER-315) Jboss 5.x ATTRIBUTE level session replication throws NullPointerException

log an (Jira) issues at jboss.org
Mon Jun 3 01:08:00 EDT 2019


log an created JBCLUSTER-315:
--------------------------------

             Summary: Jboss 5.x ATTRIBUTE level session replication throws NullPointerException
                 Key: JBCLUSTER-315
                 URL: https://issues.jboss.org/browse/JBCLUSTER-315
             Project: JBoss Clustering
          Issue Type: Bug
          Components: HA-Server-Cache-JBC
    Affects Versions: HA-Server-Cache-JBC 2.0.3.Final 
         Environment: jboss-eap-5.1
            Reporter: log an
            Assignee: Paul Ferraro


I have JSF based web application deployed in Jboss 5.1 EAP server. Enabled the distributable tag for session replication across two jboss nodes with Apache web server for failover feature and my business requires Attribute level replication but the system throws NullPointerException.

"Failed to replicate session java.lang.NullPointerException"

jboss-web.xml:

<replication-granularity>ATTRIBUTE</replication-granularity>
web.xml:

<distributable/>

Expected: Session should be replicated without NPE.

Actual: Failed to replicate session 9jYCBgKn2mIIVS2g8EzEzQ__.XXXX

Failed to replicate session 9jYCBgKn2mIIVS2g8EzEzQ__.XXXX
java.lang.NullPointerException
        at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getMarshalledValue(AbstractJBossCacheService.java:679)
        at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AttributeBasedJBossCacheService.storeSessionAttributes(AttributeBasedJBossCacheService.java:185)
        at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AttributeBasedJBossCacheService.storeSessionAttributes(AttributeBasedJBossCacheService.java:40)
        at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.storeSessionData(AbstractJBossCacheService.java:402)
        at org.jboss.web.tomcat.service.session.ClusteredSession.processSessionReplication(ClusteredSession.java:1192)
        at org.jboss.web.tomcat.service.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:2221)
        at org.jboss.web.tomcat.service.session.JBossCacheManager.storeSession(JBossCacheManager.java:321)
        at org.jboss.web.tomcat.service.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:51)
        at org.jboss.web.tomcat.service.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:147)
        at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:94)
        at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteValve.java:88)
        at org.jboss.web.tomcat.service.session.LockingValve.invoke(LockingValve.java:62)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
        at java.lang.Thread.run(Thread.java:682)

Debugging details:

I have debugged the application and found that one of the attribute value is null.

Here is the line throws NPE:

org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.class (Line no: 679)

if(MarshalledValueHelper.isTypeExcluded(value.getClass())) {
    return value;               
}

Please let me know if you need more detail. Also, I am trying to reproduce the issue with sample application but could not able to do. Kindly, provide some suggestions.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list