Re: Error during icap_acl parsing in Squid 3.

From: ralf <ralf@dont-contact.us>
Date: Tue, 29 Nov 2005 09:08:34 +0100

Hello Ghislain Garcon,

on Mon, 28 Nov 2005, Ghislain Garcon wrote:

> Hello,
>
> I've made a check out this morning of squid 3 and I've tried to add
> ICAP access rules.
> When I set : icap_access class_0 allow all
> and I launch squid -z to create swap files I get a core dump in file
> acl.cc line 339
>
> If I comment only this ICAP Access rule, parsing finishes normally.
>
> I've no more investigated but here is gdb output :
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0804e294 in aclParseAccessLine (head=0x83108d0) at acl.cc:339
> 339 for (B = *head, T = head; B; T = &B->next, B = B->next);
> (gdb) bt
> #0 0x0804e294 in aclParseAccessLine (head=0x83108d0) at acl.cc:339
> #1 0x0811c8d0 in ICAPConfig::parseICAPAccess (this=0x82a6a20)
> at ICAPConfig.cc:346
> #2 0x08069e92 in parse_icap_access_type (cfg=0x82a6a20) at cache_cf.cc:3398
> #3 0x0806dc91 in parse_line (buff=0x83108a0 "icap_access")
> at cf_parser.h:1560
> #4 0x0806ea57 in parseConfigFile (
> file_name=0x82cf908 "/usr/local/squid3/etc/squid.conf") at
> cache_cf.cc:364
> #5 0x080ca565 in main (argc=2, argv=0xbfb8b044) at main.cc:1009

Perhaps try this patch, it solved the bug for me:

Index: ICAPConfig.h
===================================================================
RCS file: /cvsroot/squid/squid3/src/ICAP/ICAPConfig.h,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 ICAPConfig.h
--- ICAPConfig.h 21 Nov 2005 21:05:51 -0000 1.1.2.1
+++ ICAPConfig.h 22 Nov 2005 11:52:06 -0000
@@ -51,7 +51,7 @@
 
     Vector<ICAPServiceRep::Pointer> services;
 
- ICAPClass() : key(NULL) {};
+ ICAPClass() : key(NULL), accessList(NULL) {};
 
     int prepare();
 };

Cheers,
Ralf
Received on Tue Nov 29 2005 - 01:08:43 MST

This archive was generated by hypermail pre-2.1.9 : Thu Dec 01 2005 - 12:00:16 MST