Re: Status = -902

Henrik,

I have tried you fix. Now select doesn't return error, but sometime hangs. And
again it happens when some host closes connection (?). In the trace below the
previous request (to the one that hangs) was stopped in the before filter.
Maybe this somehow interferes with the last request?

Did you make relevant changes to modules other than HTChannl.c? I am wondering
because I have noticed that wwwsys.h has the same modification date and time.

Thanks for you help.

Olga.

--------------------------------------------------

There is the trace:


Request..... Created 1002d7f8
Net Before.. Add 4190ac with order 0 tmplate `*' context 7fff1afc
Net After... Add 417920 with order 65535 tmplate `<null>' code 1 context 0
Net After... Add 41830c with order 32767 tmplate `<null>' code 200 context 0
Net After... Add 45992c with order 32767 tmplate `<null>' code -401 context 0
HTAccess.... Accessing document
http://kingkong:1080/projects/Demos/mars_rover/rover_jt/abdomen_rear.jt
HTNet. -------------  HTNet_newClient
Net Before.. calling 4190ac (request 1002d7f8, context 7fff1afc)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this request is cancelled in before filter



Net After... Delete 41830c
Timer....... Created one shot timer 1002c830 with callback 422c6c, context
10078598, and relative timeout 1
Event Loop.. calling select: maxfds is 11
Event Loop.. select returns 0
Timer....... Dispatch timer 1002c830
HTNet: AfterFilterEvent
HTNet....... Continuing calling AFTER filters 10078598 with timer 1002c830
HTNet_executeAfterAll. Calling HTNetCall_executeAfter for locals
Net After... ENTERING  HTNetCall_executeAfter, visit No = 316
Response.... Created 1007acb8
Net After... calling 417920 (request 1002d7f8, response 1007acb8, status -200,
context 0), visit No = 316
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Here next request is started:

Request..... Created 1005b080
Net Before.. Add 4190ac with order 0 tmplate `*' context 7fff1afc
Net After... Add 417920 with order 65535 tmplate `<null>' code 1 context 0
Net After... Add 41830c with order 32767 tmplate `<null>' code 200 context 0
Net After... Add 45992c with order 32767 tmplate `<null>' code -401 context 0
Error....... Add  53    Severity: 2     Parameter: `/var/tmp/hhaa0034p.jt'     
Where: `HTLoadToFile'

Event Loop.. calling select: maxfds is 11
Event Loop.. select returns 1
EventOrder.. execute ordered events
EventList... calling socket 11, request 1005b080 handler 42651c type
HTEvent_READ
Host Event.. host 1004a010 `kingkong' closed connection.
Event.. Entering HTEventList_unregister
Event....... No more events registered for socket 11
Event....... Reset MaxSock from 11 to 1
Event....... Socket 11 unregistered for HTEvent_READ
Event.. Entering HTEventList_unregister
Event....... Couldn't find socket 11. Can't unregister type HTEvent_WRITE
Channel..... Delete 1003b3b8 with semaphore 0
Socket read. FREEING....
Socket write FREEING....
Event.. Entering HTEventList_unregister
Event....... Couldn't find socket 11. Can't unregister type 0xffff
Net Manager. Decreasing active sockets to 0, 1 persistent sockets
Channel..... Deleted 1003b3b8, socket 11
Net Manager. 0 active sockets, decreasing persistent sockets to 0
Host info... removed host 1004a010 as persistent
Event Loop.. calling select: maxfds is 1
Event Loop.. select returns 0
Timer....... Dispatch timer 1005bf60
Host Event.. host 1004a010 `kingkong' closed connection.
Event Loop.. calling select: maxfds is 1

Timer....... Dispatch timer 1005bf60
Host Event.. host 1004a010 `kingkong' closed connection.
Event Loop.. calling select: maxfds is 1

-------------------------------------------------------------------

On 15-Jan-99 Henrik Frystyk Nielsen wrote:
> 
> Excellent analysis - yes I think this is the problem - and the
> uncommented line with a bogus parameter seems to indicate this wasn't
> quite finished as should have been. I have committed this patch which I
> think solves the problem:
> 
>       http://dev.w3.org/cgi-bin/cvsweb/libwww/Library/src/HTChannl.c
> 
> Please try it out and see what happens.
> 
> Thanks!
> 
> Henrik
> 
>> /////////////////////////////////////////////////////////////////
>> 
>> In CHChannl : free_channel(..)
>> ch->sockfd is set to INVSOC.
>> 
>>       /* Close the socket */
>>         if (ch->sockfd != INVSOC) {
>>             NETCLOSE(ch->sockfd);
>>             /*      HTEvent_unregister(ch->sockfd, all options); */
>>             HTNet_decreaseSocket();
>>             if (PROT_TRACE)
>>                 HTTrace("Channel..... Deleted %p, socket %d\n",
>>                 ch,ch->sockfd);
>>             ch->sockfd = INVSOC;
>> 
>> Could this cause the problem? Maybe the socket should be deleted from the
>> fd_set
>> also before calling select on this set?
>> 
>> Thanks,
>> 
>> Olga Antropova.

----------------------------------
E-Mail: olga <olga@eai.com>
Date: 17-Jan-99
Time: 18:05:01

This message was sent by XFMail
----------------------------------

Received on Sunday, 17 January 1999 19:26:04 UTC