Great! I was hoping that would do it. Cheers, - Andreas
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]] On Behalf Of Baveco, Hans > Sent: Thursday, February 14, 2002 2:22 PM > To: '[EMAIL PROTECTED]' > Subject: RE: [pws] Problem with Swiki not serving images > > > For me it looks like the new VM solves the problem (on W2K) of > 1) swiki-icons not (re)appearing always > 2) edits resulting in server not found (IIRC) errors > A nice catch! Thanks, > Hans > > -----Original Message----- > From: Andreas Raab [mailto:[EMAIL PROTECTED]] > Sent: Thursday, February 14, 2002 1:09 PM > To: [EMAIL PROTECTED] > Subject: RE: [pws] Problem with Swiki not serving images > > > Folks, > > I still didn't have any time to test on Win2K but Diego Gomez > reported a > networking problem which allowed me to track down another of those > network buggers (fortunately, he had a reliable test case). Could > somebody try to see if the latest fixes do solve the problems you've > been seeing?! There's a new VM in town at: > > > http://isgwww.cs.uni-magdeburg.de/~raab/squeak/alpha/SqueakNetFix2.zip > > If you're interested, below is the message to Diego explaining the > problem. > > Cheers, > - Andreas > > > -----Original Message----- > From: Andreas Raab [mailto:[EMAIL PROTECTED]] > Sent: Thursday, February 14, 2002 12:19 AM > To: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]' > Subject: RE: RE: A Windows socket question > > > Diego, > > I found it. As I said that was an _excellent_ catch. For your > amusement > here's what happened: The real problem was that the VM didn't clean up > the OS socket handle when a close operation succeeded. Now > this doesn't > sound like a big problem, but you need to consider that there's a > destroy operation following afterwards which may operate on the > (successfully closed) socket handle. Usually, this results in > a sequence > where if the close succeeds the destroy fails. Which is > effectively fine > since abort is really the last resort and may fail without > causing harm. > > _HOWEVER_, something in your configuration went slightly > different (I'm > not even quite sure how ;-) In effect, what happened was that > inbetween > the close and the destroy a new socket was accepted. This > happens on the > VM level (e.g., in a separate thread which is basically run > at interrupt > time). And this operation could give the newly accepted socket the > handle of the socket which was closed before (since after a successful > close the socket handle is invalid). Which - just a second later - got > destroyed. E.g., the sequence is roughly as follows: > > server accepts socket with handle XXX > server processes data using socket > server closes socket with handle XXX > <- client attempt new connection -> > <- server VM accepts new socket in thread with handle XXX -> > server destroys socket with handle XXX > > This leaves the client in the state where it thinks the connection has > been abnormally closed by the host (which is correct!) and > the host in a > state where it may even think that the socket is entirely valid! Note > that one of the interesting things here is that due to Squeak process > scheduling the time between the close and the destroy can be > arbitrarily > large. > > Anyways, I've uploaded a new VM onto > > http://isgwww.cs.uni-magdeburg.de/~raab/squeak/alpha/SqueakNetFix2.zip which solves that problem. Let me know how it goes - if it works out I'll inform the PWS people. Cheers, - Andreas
