Re: [squid-dev] [MERGE] Fix splay

2015-01-06 Thread Tsantilas Christos
Hi all, I am getting assertions while squid.conf parsed using the latest squid sources. Looks that the reason is the splay trees. Is it possible that this patch causes these bugs? I am seeing this problem when an acl localhost src 127.0.0.1/32 line is parsed (duplicate value?) or when

Re: [squid-dev] [MERGE] Fix splay

2015-01-06 Thread Kinkie
Fix committed as r13825. I am not convinced this is all however. For some reason duplicate values in ACLs are not handled correctly in calling code, and this triggers an assert in Splay-insert(). I suspect that this was not noticed before as this check is not performed when clients call

[squid-dev] [MERGE] Fix splay

2015-01-02 Thread Kinkie
Hi, splay uses lots of C-isms still, which make recent clang fail the build badly. Things like: SplayNodefoo *root = NULL root-insert(data) The attached patch : - migrates all clients from using the now-private SplayNode API to Splay - fixes Splay to account for some corner-cases - removes

Re: [squid-dev] [MERGE] Fix splay

2015-01-02 Thread Amos Jeffries
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2/01/2015 11:25 p.m., Kinkie wrote: Hi, splay uses lots of C-isms still, which make recent clang fail the build badly. Things like: SplayNodefoo *root = NULL root-insert(data) The attached patch : - migrates all clients from using the

Re: [squid-dev] [MERGE] Fix splay

2015-01-02 Thread Kinkie
I believe this is missing several delete Foo; in the ACL destructors. You used new() to allocate the Splay objects, there should be matching delete() at the same owner/abstraction level. For example: ACLIP::~ACLIP() { if (data) { data-destroy(IPSplay::DefaultFree);