[
https://issues.apache.org/jira/browse/GEODE-7220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16934728#comment-16934728
]
ASF subversion and git services commented on GEODE-7220:
--------------------------------------------------------
Commit 8aad7468e53e9eb08958116e549d9db7ea36df79 in geode's branch
refs/heads/develop from Bruce Schuchardt
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=8aad746 ]
GEODE-7220 NPE in the logs on reconnect (#4074)
* GEODE-7220 NPE in the logs on reconnect
Use reflection to poke a new Receiver into JGroups to avoid
synchronization problems in JGroups code.
No new tests were needed.
* rewrote comment - we're trying to avoid a warning message and an NPE
> 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
> Assignee: Bruce Schuchardt
> Priority: Minor
> Attachments: npe.txt
>
> Time Spent: 2h 10m
> Remaining Estimate: 0h
>
> 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)