libwww pipelining recovery bug?

I noticed that in some cases requests get stuck in libwww and never
return in corresponding callbacks. I turned libwww tracing and did
grep for word 'pending'. It seems that after performing pipeline 
"recovery" libwww completely brokes with requests to this particular
host (which it tried to recover).

Here is the log which I think could light the problem:

Host info... Added Net 40045e98 (request 40045c70) to pipe on Host 4002b790,
353 requests made, 31 requests in pipe, 0 pending
Net Object.. Check for pending Net objects
Host info... Added Net 4004b7b8 (request 4004bcb0) to pipe on Host 4002b790,
354 requests made, 31 requests in pipe, 0 pending
Net Object.. Check for pending Net objects
Host info... Added Net 40047a88 (request 40047730) to pipe on Host 4002b790,
355 requests made, 31 requests in pipe, 0 pending
Net Object.. Check for pending Net objects
Host info... Added Net 40047e40 (request 40047be8) to pipe on Host 4002b790,
356 requests made, 31 requests in pipe, 0 pending
Net Object.. Check for pending Net objects
Host info... Added Net 400482c8 (request 40048058) to pipe on Host 4002b790,
357 requests made, 31 requests in pipe, 0 pending
Net Object.. Check for pending Net objects
Host info... Added Net 40048758 (request 400484e8) to pipe on Host 4002b790,
358 requests made, 31 requests in pipe, 0 pending

Everything went smoothly till this moment.
After that libwww decides to start "recovery" and brokes badly

Net Object.. Check for pending Net objects
Net Object.. Check for pending Net objects
Net Object.. Check for pending Net objects
Net Object.. Check for pending Net objects
Net Object.. Check for pending Net objects
Net Object.. Check for pending Net objects
Host info... Added Net 400433c8 (request 40048948) to pipe on Host 4002b790,
359 requests made, 26 requests in pipe, 0 pending
Host recover 4002b790 recovered 1 times. Moving 26 Net objects from pipe line
to pending queue
Host has 26 object(s) pending - attempting launch
Host info... Popping 40043718 from pending net queue on host 4002b790
Launch pending net object 40043718 with 0 reqs in pipe (0 reqs made)
Host info... Added Net 40043718 (request 400435f8) to pipe on Host 4002b790, 1
requests made, 1 requests in pipe, 25 pending
Net Object.. Check for pending Net objects
Host info... Popping 40044690 from pending net queue on host 4002b790
Launch pending net object 40044690 with 0 reqs in pipe (1 reqs made)
Host info... Added Net 40044690 (request 40044550) to pipe on Host 4002b790, 2
requests made, 1 requests in pipe, 24 pending
Net Object.. Check for pending Net objects
Host info... Popping 40044898 from pending net queue on host 4002b790
Launch pending net object 40044898 with 0 reqs in pipe (2 reqs made)
Host info... Added Net 40044898 (request 400449c8) to pipe on Host 4002b790, 3
requests made, 1 requests in pipe, 23 pending
Net Object.. Check for pending Net objects
Host info... Popping 40044bd8 from pending net queue on host 4002b790
Launch pending net object 40044bd8 with 0 reqs in pipe (3 reqs made)
Host info... Added Net 40044bd8 (request 40044e58) to pipe on Host 4002b790, 4
requests made, 1 requests in pipe, 22 pending
Net Object.. Check for pending Net objects
Host info... Popping 400452e0 from pending net queue on host 4002b790
Launch pending net object 400452e0 with 0 reqs in pipe (4 reqs made)
Host info... Added Net 400452e0 (request 40045098) to pipe on Host 4002b790, 5
requests made, 1 requests in pipe, 21 pending
Net Object.. Check for pending Net objects
Host info... Popping 40045460 from pending net queue on host 4002b790
Launch pending net object 40045460 with 0 reqs in pipe (5 reqs made)
Host info... Added Net 40045460 (request 40045768) to pipe on Host 4002b790, 6
requests made, 1 requests in pipe, 20 pending
Host info... Added Net 40043718 (request 400435f8) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 21 pending
Net Object.. Check for pending Net objects
Host info... Popping 40046750 from pending net queue on host 4002b790
Launch pending net object 40046750 with 0 reqs in pipe (6 reqs made)
Host info... Added Net 40046750 (request 40046858) to pipe on Host 4002b790, 7
requests made, 1 requests in pipe, 20 pending
Host recover 4002b790 recovered 2 times. Moving 1 Net objects from pipe line
to pending queue
Host has 21 object(s) pending - attempting launch
Host info... Popping 40046750 from pending net queue on host 4002b790
Launch pending net object 40046750 with 0 reqs in pipe (0 reqs made)
Host info... Added Net 40046750 (request 40046858) to pipe on Host 4002b790, 1
requests made, 1 requests in pipe, 20 pending
Net Object.. Check for pending Net objects
Host info... Popping 4004bf88 from pending net queue on host 4002b790
Launch pending net object 4004bf88 with 0 reqs in pipe (1 reqs made)
Host info... Added Net 4004bf88 (request 4004c5c0) to pipe on Host 4002b790, 2
requests made, 1 requests in pipe, 19 pending
Net Object.. Check for pending Net objects
Host info... Popping 400467c0 from pending net queue on host 4002b790
Launch pending net object 400467c0 with 0 reqs in pipe (2 reqs made)
Host info... Added Net 400467c0 (request 40046d28) to pipe on Host 4002b790, 3
requests made, 1 requests in pipe, 18 pending
Net Object.. Check for pending Net objects
Host info... Popping 40046e90 from pending net queue on host 4002b790
Launch pending net object 40046e90 with 0 reqs in pipe (3 reqs made)
Host info... Added Net 40046e90 (request 400499e0) to pipe on Host 4002b790, 4
requests made, 1 requests in pipe, 17 pending
Net Object.. Check for pending Net objects
Host info... Popping 40049730 from pending net queue on host 4002b790
Launch pending net object 40049730 with 0 reqs in pipe (4 reqs made)
Host info... Added Net 40049730 (request 40049b00) to pipe on Host 4002b790, 5
requests made, 1 requests in pipe, 16 pending
Net Object.. Check for pending Net objects
Host info... Popping 400475c8 from pending net queue on host 4002b790
Launch pending net object 400475c8 with 0 reqs in pipe (5 reqs made)
Host info... Added Net 400475c8 (request 40047328) to pipe on Host 4002b790, 6
requests made, 1 requests in pipe, 15 pending
Host info... Added Net 40043ae0 (request 400439c0) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 16 pending
Host info... Added Net 40044730 (request 400445f0) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 17 pending
Host info... Added Net 400449f8 (request 40044860) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 18 pending
Host info... Added Net 40044cd0 (request 40044b28) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 19 pending
Host info... Added Net 40044fa8 (request 40044e00) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 20 pending
Host info... Added Net 40045328 (request 40045120) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 21 pending
Host info... Added Net 40045620 (request 40045458) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 22 pending
Host info... Added Net 400459d0 (request 40045810) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 23 pending
Host info... Added Net 40045fe0 (request 40046148) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 24 pending
Host info... Added Net 40046310 (request 40046508) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 25 pending
Host info... Added Net 40046628 (request 40046848) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 26 pending
Host info... Added Net 400467d0 (request 40046bc0) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 27 pending
Host info... Added Net 40046e40 (request 40046ce0) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 28 pending
Host info... Added Net 40047050 (request 40048a68) as pending on Host
4002b790, 6 requests made, 1 requests in pipe, 29 pending
Host info... Added Net 400478b0 (request 40048b88) as pending on Host
4002b790,


Now it keeps adding new requests as pending...

Does anyone have any ideas what could be possibly broken in libwww?

Thanks,
Mikhail Grouchinski
 

____________________________________________________________________
Get free email and a permanent address at http://www.netaddress.com/?N=1

Received on Monday, 13 March 2000 14:02:09 UTC