[jboss-jira] [JBoss JIRA] (JGRP-2423) NPE during unlock operation
Max Shaposhnyk (Jira)
issues at jboss.org
Mon Dec 23 03:26:47 EST 2019
[ https://issues.redhat.com/browse/JGRP-2423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13939452#comment-13939452 ]
Max Shaposhnyk commented on JGRP-2423:
--------------------------------------
I have tried thal locally, adding output as follows:
{code:java}
public void addToPendingReleaseRequests(ClientLock cl) {
if(cl != null) {
String tmp=pending_release_reqs.stream().map(ClientLock::toString).collect(Collectors.joining(", "));
log.info(">>>>>>%s: Pending unlock requests: %s", local_addr, tmp);
log.info(">>>>>>%s: New Clientlock: %s",local_addr, cl.toString());
pending_release_reqs.add(cl);
}
}
{code}
And saw that none of the locks which are already in `pending_release_reqs` are null, neither new lock also not null and their adress fields also not nulls. So it seems quite strange for me. Probably some multithreading issue or something.
> NPE during unlock operation
> ---------------------------
>
> Key: JGRP-2423
> URL: https://issues.redhat.com/browse/JGRP-2423
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 4.1.8
> Reporter: Max Shaposhnyk
> Assignee: Bela Ban
> Priority: Major
> Fix For: 4.1.9
>
>
> The following NPE's are appearing in the che.openshift.io production server logs causing the multiple threads to blocking and break down some fuctionality.
> ATM we're unable to clearly reproduce issue on local installations (it happens very rarely on local, but quite frequently on prod server)
> {noformat}
> java.lang.NullPointerException: null
> at org.jgroups.util.Owner.compareTo(Owner.java:59)
> at org.jgroups.protocols.Locking$ClientLock.compareTo(Locking.java:1142)
> at org.jgroups.protocols.Locking$ClientLock.compareTo(Locking.java:942)
> at java.util.concurrent.ConcurrentSkipListMap.cpr(ConcurrentSkipListMap.java:655)
> at java.util.concurrent.ConcurrentSkipListMap.doPut(ConcurrentSkipListMap.java:835)
> at java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(ConcurrentSkipListMap.java:1979)
> at java.util.concurrent.ConcurrentSkipListSet.add(ConcurrentSkipListSet.java:241)
> at org.jgroups.protocols.Locking$ClientLockTable.addToPendingReleaseRequests(Locking.java:1323)
> at org.jgroups.protocols.Locking$ClientLock._unlock(Locking.java:1070)
> at org.jgroups.protocols.Locking$ClientLock.unlock(Locking.java:996)
> at org.jgroups.protocols.Locking.down(Locking.java:176)
> at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:928)
> at org.jgroups.JChannel.down(JChannel.java:627)
> at org.jgroups.blocks.locking.LockService$LockImpl.unlock(LockService.java:167)
> at org.eclipse.che.multiuser.api.distributed.lock.JGroupsWorkspaceLockService$UnlockerImpl.unlock(JGroupsWorkspaceLockService.java:73)
> at org.eclipse.che.commons.lang.concurrent.Unlocker.close(Unlocker.java:38)
> at org.eclipse.che.api.workspace.server.WorkspaceRuntimes.$closeResource(WorkspaceRuntimes.java:314)
> {noformat}
> additional links:
> [1] https://github.com/eclipse/che/issues/15231
> [2] https://issues.redhat.com/browse/JGRP-2299
> [3] https://issues.redhat.com/browse/JGRP-2364
> [4] https://github.com/eclipse/che/blob/master/assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/jgroups/che-tcp.xml
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list