Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-7921

JGRP000225: failed unmarshalling buffer into return value: NPE (ASYM_ENCRYPT + TCP, during server startup)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 11.0.0.Alpha1
    • 10.1.0.Final
    • Clustering
    • None
    • Hide

      Can be reproduced locally:
      1. extract two instances of EAP 7.1.0.DR10, modify standalone-ha.xml (see Description)
      2. add a clustered deployment
      3. start the first server with standalone-ha configuration, and after few seconds start the second one
      4. one of the two servers usually logs the NPE

      Show
      Can be reproduced locally: 1. extract two instances of EAP 7.1.0.DR10, modify standalone-ha.xml (see Description) 2. add a clustered deployment 3. start the first server with standalone-ha configuration, and after few seconds start the second one 4. one of the two servers usually logs the NPE

      Scenario: failover clustering test with enabled "AUTH" and "ASYM_ENCRYPT" protocols + JGroups default stack set to TCP. This issue doesn't occur when using UDP stack.

      Also, encrypt_entire_message needs to be set to "false"

      TCP stack configuration
      <stack name="tcp">
          <transport type="TCP" socket-binding="jgroups-tcp"/>
          <protocol type="MPING" socket-binding="jgroups-mping"/>
          <protocol type="MERGE3"/>
          <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
          <protocol type="FD"/>
          <protocol type="VERIFY_SUSPECT"/>
          <protocol type="ASYM_ENCRYPT">
            <property name="encrypt_entire_message">false</property>
            <property name="sym_keylength">128</property>
            <property name="sym_algorithm">AES/ECB/PKCS5Padding</property>
            <property name="asym_keylength">512</property>
            <property name="asym_algorithm">RSA</property>
          </protocol>
          <protocol type="pbcast.NAKACK2"/>
          <protocol type="UNICAST3"/>
          <protocol type="pbcast.STABLE"/>
          <protocol type="AUTH"> 
            <property name="auth_class">org.jgroups.auth.MD5Token</property>
            <property name="auth_value">jdgservercluster</property>
            <property name="token_hash">MD5</property>
          </protocol>
          <protocol type="pbcast.GMS"/>
          <protocol type="MFC"/>
          <protocol type="FRAG2"/>
      </stack>
      

      During servers startup, after receiving a new cluster view, one of the servers usually logs this error message:

      08:35:36,707 ERROR [org.jgroups.blocks.RequestCorrelator] (thread-1,ee,node2) JGRP000225: failed unmarshalling buffer into return value: java.lang.NullPointerException
              at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:70)                                                                                                                                                                                                 
              at java.nio.ByteBuffer.wrap(ByteBuffer.java:373)                                                                                                                                                                                                          
              at org.jboss.as.clustering.infinispan.ChannelFactoryTransport$1.objectFromBuffer(ChannelFactoryTransport.java:81)
              at org.jgroups.blocks.RequestCorrelator.dispatch(RequestCorrelator.java:419)
              at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:357)
              at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:245)
              at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:664)
              at org.jgroups.JChannel.up(JChannel.java:738)
              at org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:120)
              at org.jgroups.stack.Protocol.up(Protocol.java:380)
              at org.jgroups.protocols.FORK.up(FORK.java:114)
              at org.jgroups.protocols.FRAG2.up(FRAG2.java:165)
              at org.jgroups.protocols.FlowControl.up(FlowControl.java:390)
              at org.jgroups.protocols.pbcast.GMS.up(GMS.java:1037)
              at org.jgroups.protocols.AUTH.up(AUTH.java:150)
              at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
              at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1077)
              at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:792)
              at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:433)
              at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:649)
              at org.jgroups.protocols.EncryptBase.handleEncryptedMessage(EncryptBase.java:242)
              at org.jgroups.protocols.EncryptBase.handleUpMessage(EncryptBase.java:227)
              at org.jgroups.protocols.EncryptBase.up(EncryptBase.java:150)
              at org.jgroups.protocols.ASYM_ENCRYPT.up(ASYM_ENCRYPT.java:116)
              at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155)
              at org.jgroups.protocols.FD.up(FD.java:260)
              at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:325)
              at org.jgroups.protocols.MERGE3.up(MERGE3.java:292)
              at org.jgroups.protocols.Discovery.up(Discovery.java:296)
              at org.jgroups.protocols.MPING.up(MPING.java:178)
              at org.jgroups.protocols.TP.passMessageUp(TP.java:1657)
              at org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1873)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory.lambda$newThread$0(ClassLoaderThreadFactory.java:52)
              at org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory$$Lambda$547/364315896.run(Unknown Source)
              at java.lang.Thread.run(Thread.java:745)
      

              pferraro@redhat.com Paul Ferraro
              mvinkler1@redhat.com Michal Vinkler
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: