You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Simon IJskes (JIRA)" <ji...@apache.org> on 2012/10/05 10:24:48 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 ]

Simon IJskes updated RIVER-23:
------------------------------

    Assignee:     (was: 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
>          Components: net_jini_discovery
>    Affects Versions: jtsk_2.1
>            Reporter: Mark Brouwer
>            Priority: Minor
>             Fix For: River_2.2.1
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira