[squid-users] squid5: assert with IPv6 address

Jason Spashett jason.spashett at menlosecurity.com
Tue Nov 30 17:19:53 UTC 2021


Hello Folks,

We are running squid5, and have noticed that squid asserts when an
ipv6 address is used. In fact the initial problem was noticed when
squid's resolver returned, and used an ip v6 address. Browsing to
[2001:4860:4864:5::6d] can cause the assertion

The situation seems to be similar to this older bug, but I have not
worked through it yet:
https://bugs.squid-cache.org/show_bug.cgi?id=3732. So this would
appear to be a bug, but perhaps there is something on the OS that
isn't correct.

Note that ipv6 is disabled in configure, and we also have the sysctl setting:
net.ipv6.conf.all.disable_ipv6 = 1

$ ./squid --version
Squid Cache: Version 5.2-VCS
Service Name: squid

This binary uses OpenSSL 1.1.1  11 Sep 2018. For legal restrictions on
distribution see https://www.openssl.org/source/license.html

configure options:  '--disable-arch-native'
'--disable-dependency-tracking' '--disable-eui' '--enable-auth'
'--enable-basic-auth-helpers=getpwnam,LDAP,PAM'
'--enable-digest-auth-helpers=password'
'--enable-external-acl-helpers=file_userip,LDAP_group,unix_group'
'--enable-follow-x-forwarded-for' '--enable-ssl-crtd'
'--enable-translation' '--localstatedir=/var'
'--with-logdir=/var/log/squid' '--with-openssl' '--disable-ipv6'
'--enable-linux-netfilter' '--prefix=/usr/local/squid5


The stack trace follows:
-------------------------------

Program terminated with signal SIGABRT, Aborted.
#0  0x00007fbea1047fb7 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007fbea1047fb7 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fbea1049921 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fbea103948a in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007fbea1039502 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x000055a0706a3edc in Ip::Address::getAddrInfo
(this=this at entry=0x55a07d191c28, dst=@0x7ffc00c10480: 0x55a073de3c80,
force=force at entry=0) at Address.cc:663
#5  0x000055a07069f330 in comm_openex (sock_type=sock_type at entry=1,
proto=proto at entry=6, addr=..., flags=1, note=0x55a0838a0b60
"[2001:4860:4864:5::6d]") at comm.cc:345
#6  0x000055a0706efe6e in Comm::ConnOpener::createFd
(this=this at entry=0x55a079e1d258) at ConnOpener.cc:266
#7  0x000055a0706f0973 in Comm::ConnOpener::start
(this=0x55a079e1d258) at ConnOpener.cc:240
#8  0x000055a070690992 in JobDialer<AsyncJob>::dial
(this=0x55a0881f3848, call=...) at ../../src/base/AsyncJobCalls.h:175
#9  0x000055a07068bd59 in AsyncCall::make
(this=this at entry=0x55a0881f3810) at AsyncCall.cc:44
#10 0x000055a07068d528 in AsyncCallQueue::fireNext
(this=this at entry=0x55a071be1500) at AsyncCallQueue.cc:60
#11 0x000055a07068d8dc in AsyncCallQueue::fire (this=0x55a071be1500)
at AsyncCallQueue.cc:43
#12 0x000055a07045e179 in EventLoop::dispatchCalls
(this=0x7ffc00c10d50) at EventLoop.cc:144
#13 EventLoop::runOnce (this=this at entry=0x7ffc00c10d50) at EventLoop.cc:121
#14 0x000055a07045e268 in EventLoop::run (this=0x7ffc00c10d50) at
EventLoop.cc:83
#15 0x000055a07056701e in SquidMain (argc=<optimized out>,
argv=<optimized out>) at main.cc:1716
#16 0x000055a07040fac1 in SquidMainSafe (argv=0x7ffc00c111b8, argc=6)
at main.cc:1403
#17 main (argc=6, argv=0x7ffc00c111b8) at main.cc:1391

Regards,

Jason


More information about the squid-users mailing list