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.

Reply via email to