You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Mark Brouwer (JIRA)" <ji...@apache.org> on 2007/05/07 00:19:15 UTC

[jira] Work started: (RIVER-23) Closing down a LookupDiscovery instance resulted in NPE

     [ https://issues.apache.org/jira/browse/RIVER-23?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on RIVER-23 started by Mark Brouwer.

> Closing down a LookupDiscovery instance resulted in NPE
> -------------------------------------------------------
>
>                 Key: RIVER-23
>                 URL: https://issues.apache.org/jira/browse/RIVER-23
>             Project: River
>          Issue Type: Bug
>            Reporter: Mark Brouwer
>         Assigned To: Mark Brouwer
>            Priority: Minor
>
> Shutting down a Seven instance resulted in the following NPE.
> {noformat:nopanel}
> INFO: JSC Service with ID 1.3.6.1.4.12543.2.4.0_lookup is being destroyed, container managed resources will be released
> 05-Jan-2007 18:21:51 org.cheiron.util.thread.ThreadPoolImpl$WorkerThread run
> WARNING: unexpected exception while running user task
> java.lang.NullPointerException
>         at net.jini.discovery.LookupDiscovery$AnnouncementInfo.access$2702(LookupDiscovery.java:3222)
>         at net.jini.discovery.LookupDiscovery$DecodeAnnouncementTask.run(LookupDiscovery.java:1392)
>         at net.jini.discovery.LookupDiscovery$PacketListenerImpl.deliverAnnouncement(LookupDiscovery.java:1162)
>         at com.sun.jini.discovery.AnnouncementDelivery$ALWrapper$ALTaskManagerDeliveryTask.run(AnnouncementDelivery.java:705)
>         at org.cheiron.util.thread.VirtualTaskManager$ShareableTask.run(VirtualTaskManager.java:416)
>         at org.cheiron.util.thread.ThreadPoolImpl$ContextTask$1.run(ThreadPoolImpl.java:1527)
>         at org.cheiron.seven.security.ContextSecurityManager$4.run(ContextSecurityManager.java:410)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.cheiron.util.thread.ThreadPoolImpl$ContextTask.run(ThreadPoolImpl.java:1522)
>         at org.cheiron.util.thread.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:2657)
> {noformat}
> Note that the line numbers are different from the ones in the latest public release of the JTSK, this is due to modifications made by both Sun and the Cheiron project. But the code responsible for the NPE can be found in the current codebase as well: 
> {noformat:nopanel}
> if (pending instanceof CheckGroupsMarker) {
>     synchronized(registrars) {
>         // Since this is a valid announcement, update the
>         // sequence number.
>         AnnouncementInfo aInfo =
>             (AnnouncementInfo) regInfo.get(srvcID);
>         aInfo.seqNum = ann.getSequenceNumber();
>     }
> }
> {noformat}
> Apparently it is possible a lookup service is removed from the map for ServiceID to multicast announcements while an announce packet is still queued for being analyzed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.