You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Bruce Schuchardt (Jira)" <ji...@apache.org> on 2019/09/19 21:21:00 UTC

[jira] [Commented] (GEODE-7220) NPE in the logs on reconnect

    [ https://issues.apache.org/jira/browse/GEODE-7220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16933774#comment-16933774 ] 

Bruce Schuchardt commented on GEODE-7220:
-----------------------------------------

Looking at the log for the failed test I think it's more likely that this code in GMSQuorumChecker caused this particular NPE
{code:java}
public void resume() {
  channel.setReceiver(null);
  channel.setReceiver(new QuorumCheckerReceiver());
}{code}
Both the quorum checker and JGroupsMessenger need to establish a new Channel receiver in some other way.

> NPE in the logs on reconnect
> ----------------------------
>
>                 Key: GEODE-7220
>                 URL: https://issues.apache.org/jira/browse/GEODE-7220
>             Project: Geode
>          Issue Type: Bug
>          Components: membership
>            Reporter: Dan Smith
>            Priority: Major
>         Attachments: npe.txt
>
>
> We saw a NullPointerException in the logs when a member reconnects, see below.
> It looks like it is likely caused by this code in JGroupsMessenger.start(), which is setting the receiver to null for a window of time. Because myChannel here is the same channel that was created before the reconnect, this means it may be receiving messages at this time:
> {code:java}
> myChannel.setReceiver(null);      
> jgroupsReceiver = new JGroupsReceiver();      
> myChannel.setReceiver(jgroupsReceiver); 
> {code}
> {noformat}
> java.lang.AssertionError: Suspicious strings were written to the log during this run.
> Fix the strings or use IgnoredException.addIgnoredException to ignore.
> -----------------------------------------------------------------------
> Found suspect string in log4j at line 2233
> [error 2019/09/19 17:14:01.998 GMT <unicast receiver,bbe9b1b57f4c-16062> tid=81] JGRP000027: failed passing message up
> java.lang.NullPointerException
> 	at org.jgroups.JChannel.invokeCallback(JChannel.java:816)
> 	at org.jgroups.JChannel.up(JChannel.java:741)
> 	at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1030)
> 	at org.jgroups.protocols.FRAG2.up(FRAG2.java:165)
> 	at org.jgroups.protocols.FlowControl.up(FlowControl.java:390)
> 	at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:442)
> 	at org.apache.geode.distributed.internal.membership.gms.messenger.StatRecorder.up(StatRecorder.java:73)
> 	at org.apache.geode.distributed.internal.membership.gms.messenger.AddressManager.up(AddressManager.java:72)
> 	at org.jgroups.protocols.TP.passMessageUp(TP.java:1658)
> 	at org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1876)
> 	at org.jgroups.util.DirectExecutor.execute(DirectExecutor.java:10)
> 	at org.jgroups.protocols.TP.handleSingleMessage(TP.java:1789)
> 	at org.jgroups.protocols.TP.receive(TP.java:1714)
> 	at org.apache.geode.distributed.internal.membership.gms.messenger.Transport.receive(Transport.java:152)
> 	at org.jgroups.protocols.UDP$PacketReceiver.run(UDP.java:701)
> 	at java.lang.Thread.run(Thread.java:748)
>  {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)