I received the following stack trace under Solaris [SunOS <host> 5.6 Generic_105181-23 sun4u sparc SUNW,Ultra-30] and JDK1.3 [Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0)]:
Exception in thread "main" java.security.PrivilegedActionException: java.net.SocketException: Socket closed
at java.net.PlainDatagramSocketImpl.datagramSocketClose(Native Method)
at java.net.PlainDatagramSocketImpl.close(PlainDatagramSocketImpl.java:115)
at java.net.DatagramSocket.close(DatagramSocket.java:577)
at net.jini.discovery.LookupDiscovery$AnnouncementListener.interrupt(LookupDiscovery.java:165)
at net.jini.discovery.LookupDiscovery$4.run(LookupDiscovery.java:783)
at java.security.AccessController.doPrivileged(Native Method)
at net.jini.discovery.LookupDiscovery.nukeThreads(LookupDiscovery.java:770)
at net.jini.discovery.LookupDiscovery.terminate(LookupDiscovery.java:1108)
at net.jini.discovery.LookupDiscoveryManager.terminate(LookupDiscoveryManager.java:720)
at net.jini.lookup.ServiceDiscoveryManager.terminate(ServiceDiscoveryManager.java:1846)
at example6.LookupCacheFilters.main(LookupCacheFilters.java:106)
This exception has only occurred once (for me) and doesn't seem to be reproducible, but a quick look at the source seems to indicate that the native method Java_java_net_PlainDatagramSocketImpl_datagramSocketClose() does in fact throw a SocketException.
Exception in thread "main" java.security.PrivilegedActionException: java.net.SocketException: Socket closed
at java.net.PlainDatagramSocketImpl.datagramSocketClose(Native Method)
at java.net.PlainDatagramSocketImpl.close(PlainDatagramSocketImpl.java:115)
at java.net.DatagramSocket.close(DatagramSocket.java:577)
at net.jini.discovery.LookupDiscovery$AnnouncementListener.interrupt(LookupDiscovery.java:165)
at net.jini.discovery.LookupDiscovery$4.run(LookupDiscovery.java:783)
at java.security.AccessController.doPrivileged(Native Method)
at net.jini.discovery.LookupDiscovery.nukeThreads(LookupDiscovery.java:770)
at net.jini.discovery.LookupDiscovery.terminate(LookupDiscovery.java:1108)
at net.jini.discovery.LookupDiscoveryManager.terminate(LookupDiscoveryManager.java:720)
at net.jini.lookup.ServiceDiscoveryManager.terminate(ServiceDiscoveryManager.java:1846)
at example6.LookupCacheFilters.main(LookupCacheFilters.java:106)
This exception has only occurred once (for me) and doesn't seem to be reproducible, but a quick look at the source seems to indicate that the native method Java_java_net_PlainDatagramSocketImpl_datagramSocketClose() does in fact throw a SocketException.