You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Peter Firmstone (JIRA)" <ji...@apache.org> on 2010/11/13 00:56:15 UTC

[jira] Updated: (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 ]

Peter Firmstone updated RIVER-23:
---------------------------------

    Fix Version/s:     (was: River_2.1.3)
                   AR4

Issue resolution delayed until following release

> 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
>          Components: net_jini_discovery
>    Affects Versions: jtsk_2.1
>            Reporter: Mark Brouwer
>            Assignee: Mark Brouwer
>            Priority: Minor
>             Fix For: AR4
>
>
> 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.