[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