My proposed patch to fix Bug 1642 is: http://www.squid-cache.org/bugs/attachment.cgi?id=1209&action=view
The big thing that brought along this bug was the semantic change when Duane moved the fwdstate code over to use the refcounted code. My fledgling C++ knowledge tells me that the destructor isn't the place to put this - there's no real explicit way to say "I really, honestly want you to kick off the forwarding completion code *now*" if its hiding in a refcounted destructor. Someone else could be holding the refcount - in this instance, the ftp code was. I'll commit the fix in a couple of minutes. Its one of those little things which could horribly break things so I'd really appreciate some testing and feedback. The code will log errors to cache.log if the completed path gets called more than once for a given connection. Thanks! Adrian
