- From: Henrik Frystyk Nielsen <frystyk@w3.org>
- Date: Wed, 01 May 1996 14:08:15 -0400
- To: www-lib-bugs@w3.org
------- Forwarded Message Return-Path: lib-friends-request@w3.org Return-Path: <lib-friends-request@w3.org> Received: from www10.w3.org by www20 (5.0/NSCS-1.0S) id AA25196; Fri, 1 Mar 1996 13:04:45 -0500 Received: from www19.w3.org by www10.w3.org (5.0/NSCS-1.0S) id AA27209; Fri, 1 Mar 1996 13:04:45 +0500 Received: by www19.w3.org (8.6.12/8.6.12) id NAA10858; Fri, 1 Mar 1996 13:04:24 -0500 Resent-Date: Fri, 1 Mar 1996 13:04:24 -0500 Resent-Message-Id: <199603011804.NAA10858@www19.w3.org> Message-Id: <01BB0770.AEBEEBE0@vun.isdnsys.com> From: Vu Nguyen <vun@isdnsys.com> To: "'lib-friends@w3.org'" <lib-friends@w3.org> Subject: Libwww4.1: maxfds is 0 Date: Fri, 1 Mar 1996 13:12:01 -0500 Encoding: 73 TEXT X-Info: ISDN Technology Leaders Resent-From: lib-friends@w3.org X-Mailing-List: <lib-friends@w3.org> archive/latest/38 X-Loop: lib-friends@w3.org Sender: lib-friends-request@w3.org Resent-Sender: lib-friends-request@w3.org Precedence: list Content-Type: text Content-Length: 2417 Hello Henrik, Remember, my question about 'broken pipe' awhile ago with libwww4.0D? I can reproduce the same problem with libwww4.1 Let me recap what the problem was: During an "accept" state the lib uses the listen()'ing socket to look for a request and it then creates a new socket/new request, and handles it - good Trouble shows up when the client prematurely closed the connection during the 'accept' state. DoAccept() fails ---> the *listen()'ing* socket get UnRegistered! Below is a copy of trace that shows what happened: Processing.. Read socket set. max_sock is 3 Retrieve.... Found socket 3 Accepting... socket 3 HTNet_new... starting SERVER request 8091188 with net object 808d120 HTTP Serve.. request 8091188 on socket 3 Alert Find.. No entry found for opcode 4 Error Add... number: 44 Severity: 4 Parameter: `accept: Protocol error' Where: `accept' Memory.... Freeing 8097958 HTDoAccept.. Accept failed HTNetDelete. Object and call callback functions Memory.... Freeing 8096c48 HTNet_delete Remove net object 808d120 UnRegister.. Found entry for socket 3 with ops 3f Unregister.. operations set for socket is 0 ResetMaxSock max socket is 3 ResetMaxSock new max is 0 Memory.... Freeing 8086c70 HTNet_delete closing 3 Memory.... Freeing 808d120 Net callback 804f750 (request=8091188, status=-1) SERVER...... 8091188 ended with status -1 Memory.... Freeing 80979f8 Memory.... Freeing 8097938 HTNet_delete Remove net object 808d120 UnRegister.. Found entry for socket 3 with ops 3f Unregister.. operations set for socket is 0 ResetMaxSock max socket is 3 ResetMaxSock new max is 0 Memory.... Freeing 8086c70 HTNet_delete closing 3 Memory.... Freeing 808d120 Net callback 804f750 (request=8091188, status=-1) SERVER...... 8091188 ended with status -1 Memory.... Freeing 80979f8 Memory.... Freeing 8097938 Memory.... Freeing 8096c38 Memory.... Freeing 8096c68 Memory.... Freeing 8091188 Memory.... Freeing 8086b40 Event Loop.. calling select: maxfds is 0 Now how did I cause that to happen? I use Netscape browser to issue the initial request, while the requested document is being loaded, I *repeatedly* click the 'Reload' button until I see the listen()ing socket get UnRegistered. The trick is to request a huge doc so that it takes the server a while to transfer data and do the 'Reload' during that time Regards, Vu Nguyen PS, Keep up the Good Work - Thanks ------- End of Forwarded Message
Received on Wednesday, 1 May 1996 14:08:20 UTC