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)