Here's what I'm trying to put in the bug report but bugzilla is acting buggy:
The biggest problem here is that the abort handlers aren't being called. I think Henrik noted it. The transactionComplete() function can see there's an ABORT flag set on the StoreEntry and try to unwind things differently. This stuff is a test. It seems to fix the problem Robert had by doing this: [EMAIL PROTECTED]:~/work/squid3/src$ ../tools/squidclient -p 3128 -m HEAD ftp://ftp.easynet.be/ubuntu-iso/6.06/foo What my stuff does is to forcibly call the abort handlers - which will unwind them top down. It kills the ftpstate, then it kills the forward state through the abort handler. This seems to DTRT in the error case. What I _think_ transactionComplete() needs to do is check for the ABORT flag and if it finds it tell the forward layer that its hit an error condition. Right now it just treats it as valid - unregisters, closes ctrl.fd, then fwd->complete(). The 2.6 code didn't do it this way. The patch: http://www.creative.net.au/diffs/ftpstate.diff adrian
