On Fri, 14 Apr 2000, Paul Kappler wrote: <snip> > You are correct line 71 SHOULD setSoTimeout back to zero. It seems it does > not. If comment out line 71 the problem disappears. Its very repeatable > but only on a mac. This is why I thought it might be a JVM bug. > > If a stream dies won't it throw an exception from the read or write within > the message handlers or conduit? It would if we set a long SO_Timeout. > Maybe 5 min?
I see now that you misunderstood me when I said to change this. I meant to change that the second time the SoTimeOut is set it is set to something like 10 minutes (rather then 0 which the mac seemed to choke on), it still needs to be short for that loop. I did it this way now, does that reintroduce this bug on the Mac? > What do ya think? > > Paul > > > > From: Oskar Sandberg <md98-osa at nada.kth.se> > > Reply-To: freenet-dev at lists.sourceforge.net > > Date: Fri, 14 Apr 2000 12:53:05 +0200 (MET DST) > > To: freenet-dev at lists.sourceforge.net > > Subject: Re: [Freenet-dev] Build 120 -- Mac bug. > > > > > > But there shouldn't be a timeout at all, regardless of what happens. > > Line 71 in ConnectionHandler.java sets the SoTimeout value back to 0, > > which means no SoTimeout. It would really be a lot easier if you > > would put exact logs (without Dcompile so we can see the line > > numbers) with your bug reports. > > > > There is already an end of stream message, or every message can be > > one if it sets the option KeepAlive to false. But you need to be able > > to tell whether the stream dies unexpectedly as well, and nobody > > could tell me how to do that without reading off it. > > > > Oskar Sandberg - mail/finger md98-osa at nada.kth.se > > > > - > > > > Crypto is a human right > > > > On Fri, 14 Apr 2000, Paul Kappler wrote: > > > >> This one took a while to hunt down..... > >> > >> There is a Timeout problem on my Macintosh > >> c.setSoTimeout(100); in connection handler causes problems. It causes > >> timeouts when most insert commands are given. I found that increasing the > >> value to 1000 fixed the problem for client interaction with the localhost. > >> However, in if the client tries to insert a file into another computer it > >> often times out in large files unless there is an extremely large value > 2 > >> min. > >> > >> The odd thing is...it seems that the the timeout exception does not occur > >> in > >> the code to which setSoTimeout refers...instead the timeout is thrown from > >> the conduit when the file is transferring. The cause of the failure on the > >> Mac may be a bug in the VM or OS. I think if you set SO_Timeout once it > >> may > >> be applying it to the socket for the rest of its life. This causes > >> problems > >> if there is normal network latency and/or computer slowness during a file > >> transfer. > >> > >> I would argue that it would help everyone to set SO_Timeout to a larger > >> value, or better yet try to think of a way to do this without busy > >> waiting.(Reduce CPU usage) For example, add an end of stream message or > >> message flag? > >> > >> Until we add such a message, any released mac version will need to have > >> SO_Timeout increased at the of having extra threads sitting around. Could > >> such a message be added? What do you think? > >> > >> > >> > >> Paul Kappler > >> > >>> From: Oskar Sandberg <md98-osa at nada.kth.se> > >>> Reply-To: freenet-dev at lists.sourceforge.net > >>> Date: Thu, 13 Apr 2000 21:07:54 +0200 > >>> To: freenet-dev at lists.sourceforge.net > >>> Subject: [Freenet-dev] Build 120 > >> > >>> > >>> d) I caught a problem with a race condition in the ConnectionHandler that > >>> causing it to hang after reading a trailing field. I think this may have > >>> been > >>> the reason for nodes picking up so many threads and connections. Hopefully > >>> things will work better now. > >>> > >>> -- > >>> > >>> Oskar Sandberg > >>> > >> > >> > >> _______________________________________________ > >> Freenet-dev mailing list > >> Freenet-dev at lists.sourceforge.net > >> http://lists.sourceforge.net/mailman/listinfo/freenet-dev > >> > > > > > > _______________________________________________ > > Freenet-dev mailing list > > Freenet-dev at lists.sourceforge.net > > http://lists.sourceforge.net/mailman/listinfo/freenet-dev > > > _______________________________________________ > Freenet-dev mailing list > Freenet-dev at lists.sourceforge.net > http://lists.sourceforge.net/mailman/listinfo/freenet-dev -- Oskar Sandberg md98-osa at nada.kth.se #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
