On 02/18/2013 12:38 PM, Alex Rousskov wrote: > On 01/11/2013 05:39 PM, Alex Rousskov wrote: >> I think there is an off-by-one error in the external_acl.cc code >> that kills Squid: >> >>> 2013/01/11 15:13:18.037| external_acl.cc(843) aclMatchExternal: >>> "http://example-3.com/req=debug,uniq4,abort_at=AfterReqHs/resp=debug/": >>> queueing a call. >>> 2013/01/11 15:13:18.037| external_acl.cc(845) aclMatchExternal: >>> "http://example-3.com/req=debug,uniq4,abort_at=AfterReqHs/resp=debug/": >>> return -1. >>> 2013/01/11 15:13:18.037| Acl.cc(321) checklistMatches: >>> ACL::ChecklistMatches: result for 'dummyfilter' is -1 >>> 2013/01/11 15:13:18.037| Acl.cc(339) matches: ACLList::matches: result is >>> false >>> 2013/01/11 15:13:18.037| Checklist.cc(275) matchNode: 0x99fe8a8 matched=0 >>> async=1 finished=0 >>> 2013/01/11 15:13:18.037| Checklist.cc(312) matchNode: 0x99fe8a8 going async >>> 2013/01/11 15:13:18.037| Acl.cc(61) FindByName: ACL::FindByName >>> 'dummyfilter' >>> 2013/01/11 15:13:18.037| Checklist.cc(131) asyncInProgress: >>> ACLChecklist::asyncInProgress: 0x99fe8a8 async set to 1 >>> 2013/01/11 15:13:18.037| external_acl.cc(1407) Start: fg lookup in >>> 'dummyfilter' for >>> 'http://example-3.com/req=debug,uniq4,abort_at=AfterReqHs/resp=debug/' >>> 2013/01/11 15:13:18.037| external_acl.cc(1450) Start: 'dummyfilter' queue >>> is too long >>> 2013/01/11 15:13:18.037| assertion failed: external_acl.cc:1451: >>> "inBackground" >> >> >> The enqueue check for external ACL lookups is inconsistent with the >> final queue length check in ExternalACLLookup::Start(). The former >> allows adding to the already full (but not yet overflowing) queue while >> the latter rightfully(?) asserts that the queue should not overflow.
> We discussed future steps to remove the whole queuing mess, and it > looks like we were in agreement on what needs to be done there. > Meanwhile, any objections to committing this specific bug fixing patch? I committed the specific bug fix to trunk as r12775. BTW, we have started making good progress on addressing the bigger issues discussed on this thread. I hope to post first patches for review in a week or so. Thank you, Alex.
