GC closes my ServerSocket

Alan Bateman Alan.Bateman at oracle.com
Wed Jun 13 01:51:02 PDT 2012


On 13/06/2012 09:38, Weijun Wang wrote:
> Hi All
>
> I have a test that basically looks like:
>
>     int p = new ServerSocket(0).getLocalPort();
>     //....
>     new Socket("localhost", p);
>
> Recently it's failing on solaris-i586, and after some investigation, I 
> realize that the ServerSocket object is GC'ed and auto-closed.
>
> (But why only recently?)
>
> So I change the first line to
>
>     ServerSocket ss = new ServerSocket(0);
>     int p = ss.getLocalPort();
>
> and it's running fine.
>
> I want to know if the ServerSocket object still has a chance to be 
> closed. If yes, I'll add a
>
>     ss.close();
>
> at the end to be safer.
>
> Thanks
> Max
HotSpot changes I assume, perhaps changes to the reference processing or 
default heap settings.

-Alan



More information about the net-dev mailing list