On 09/09/2014 8:57 AM, Mathieu Parent (Debian) wrote:
Hello all,

2014-09-08 22:59 GMT+02:00 Dale Schroeder <d...@briannassaladdressing.com>:
On 09/08/2014 3:24 PM, Gilles Darold wrote:
Le 08/09/2014 19:31, Dale Schroeder a écrit :
It looks like I have found the culprit, and it seems to be specific to
users of squidclamav, like me.  If I comment the following lines in
squid.conf, then squid3 starts and restarts with no errors.

icap_service service_req reqmod_precache bypass=1
icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1
icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all

So, there now appears to be a conflict of some sort between
squidclamav and squid3.  I have tried with squidclamav versions 6.10
and 6.11, having identical results.

I've copied the squidclamav developer on this message to see if the
cause of the problem can be determined.  Thanks.

Dale
Hi,

I'm the maintainer of SquidClamav and I'm afraid that the culprit is not
the one you are suspecting or at least it is not so obvious.

I have a VM with squid3 3.3.8-1 and SquidClamav 6.11, I used it a few
days ago to test icap service chaining with qlproxy. Everything works
great, I'm able to watch a web TV stream scanned by clamd through
SquidClamav. I have run logrotate and stop/start squid3 manually but I'm
not able to reproduce your issue.

There's some differences with your installation :

      * even if the base is a Debian jessie/sid this is an Ubuntu server
distribution
      * I have not updated squid to 3.3.8-1.2
      * I've run c-icap + squidclamav on an other server.

Ok I know that's not really helpful.  Let me install c-icap on the
server with squidclamav.

Done. Using c-icap 0.3.4 and SquidClamav 6.11 installed on the same
server than squid doesn't change anything, I'm still able to watch the
web TV. Of course when I stop squid3, the service is interrupted but
after restarting squid I don't any segfault in the logs.

So I hope you are agree that SquidClamav is not the culprit in your bug.

What is your version of c-icap ? Note that if you are using c-icap
0.1.6, it will not works with SquidClamav.

Let me known if/how I can help more.

Regards,

Gilles,

Thank you for replying.  Obviously, you are correct in that c-icap is also
involved.  Perhaps Jessie's versions of squid3 and c-icap do not cooperate
with each other.  I cannot say, as there are no other entries in the logs
other than what I posted in my initial bug report.  Since the config lines I
disabled were about squidclamav, I made the deduction that it was the
problem, and the assumption I made may not be correct.  The evidence you
have provided is quite compelling.

c-icap is version 0.3.4-1
squid is version 3.3.8-1.2
squidclamav is version 6.11

As Debian no longer has squidclamav in its repositories, it may be difficult
to find a solution, but I will add c-icap's maintainers to this thread to
see if any are willing to look at this for potential conflicts.

Thanks again.

Dale Schroeder
I don't use squidclamav.

Can you install squid3-dbg (and gdb) and run squid3 under gdb to see
were the bug is.

Squid3 in sid has not been updated since a while. I hope it will
happen before jessie!

Regards

Here's a picture of the screen when I type "run squid3" under gdb



If I did my research correctly, here's the backtrace output:

#0  0xb7fde424 in __kernel_vsyscall ()
#1 0xb792f267 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2  0xb7930923 in __GI_abort () at abort.c:89
#3 0x801312f4 in xassert (msg=0x803d4c28 "size == StrPoolsAttrs[i].obj_size", file=0x803dbf5c "mem.cc", line=281) at debug.cc:565 #4 0x801cc057 in memFreeString (size=529, buf=0xb7aa8450 <main_arena+48>) at mem.cc:281
#5  0x8020892a in String::clean (this=0x80650fd4) at String.cc:159
#6 0x80341e4c in Adaptation::AccessRule::~AccessRule (this=0x80650fd0, __in_chrg=<optimized out>) at AccessRule.cc:15
#7  0x80342cc5 in Adaptation::Config::FreeAccess () at Config.cc:370
#8 0x803430a4 in Adaptation::Config::freeService (this=0x80645e00 <Adaptation::Icap::TheConfig>) at Config.cc:177 #9 0x803430f8 in Adaptation::Config::~Config (this=0x80645e00 <Adaptation::Icap::TheConfig>, __in_chrg=<optimized out>) at Config.cc:396 #10 0x8035d914 in Adaptation::Icap::Config::~Config (this=0x80645e00 <Adaptation::Icap::TheConfig>, __in_chrg=<optimized out>) at Config.cc:54 #11 0xb7932081 in __run_exit_handlers (status=status@entry=0, listp=0xb7aa83c4 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#12 0xb79320dd in __GI_exit (status=0) at exit.c:104
#13 0x801c951f in watch_child (argv=<optimized out>) at main.cc:1679
#14 SquidMain (argc=2, argv=0xbffff7d4) at main.cc:1441
#15 0x800cd089 in SquidMainSafe (argv=0xbffff7d4, argc=2) at main.cc:1242
#16 main (argc=2, argv=0xbffff7d4) at main.cc:1234

Hope this helps.

Dale

Reply via email to