[jboss-jira] [JBoss JIRA] Commented: (JGRP-1260) NPE in UUID.toString

Bela Ban (JIRA) jira-events at lists.jboss.org
Tue Aug 23 03:27:17 EDT 2011


    [ https://issues.jboss.org/browse/JGRP-1260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623371#comment-12623371 ] 

Bela Ban commented on JGRP-1260:
--------------------------------

I have absolutely no idea how this could happen !

We have 

static final Cache cache;

static {
    cache=...;
}

Then, in UUID.toString() or UUID.get():

cache.get(...);

At this point, static variable 'cache' must be intialized as the static context is (1) initialized when the UUID class is loaded and (b) this initialization is synchronized !

A use case would be highly appreciated.

Perhaps this is one of the dreaded classloader issue ? Are you running multiple instances in different classloaders ? But even then, 'cache' would get instantiated once per classloader...

> NPE in UUID.toString
> --------------------
>
>                 Key: JGRP-1260
>                 URL: https://issues.jboss.org/browse/JGRP-1260
>             Project: JGroups
>          Issue Type: Bug
>    Affects Versions: 2.10
>         Environment: Linux/Cent OS 5.X
>            Reporter: Adrian Tarau
>            Assignee: Bela Ban
>             Fix For: 2.12
>
>
> Intermittent failures in NACKAK due to a NPE in UUID.toString
> java.lang.NullPointerException
>     at org.jgroups.util.UUID.toString(UUID.java:183)
>     at java.lang.String.valueOf(String.java:2826)
>     at java.lang.StringBuilder.append(StringBuilder.java:115)
>     at org.jgroups.Message.toString(Message.java:459)
>     at java.lang.String.valueOf(String.java:2826)
>     at java.lang.StringBuilder.append(StringBuilder.java:115)
>     at
> org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:880)
>     at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:671)
>     at org.jgroups.protocols.BARRIER.up(BARRIER.java:120)
>     at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132)
>     at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:177)
>     at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:270)
>     at org.jgroups.protocols.MERGE2.up(MERGE2.java:210)
>     at org.jgroups.protocols.Discovery.up(Discovery.java:281)
>     at org.jgroups.protocols.PING.up(PING.java:67)
>     at org.jgroups.protocols.TP.passMessageUp(TP.java:1009)
>     at org.jgroups.protocols.TP.access$100(TP.java:56)
>     at
> org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1549)
>     at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1531)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
> va:886)
>  

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list