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

Reply via email to