[Bug 1815852] Re: squid FATAL: check failed: ios[0].iov_len == sizeof(data)#012 exception location: TypedMsgHdr.cc(70) sync#012
Andreas Hasenack
andreas at canonical.com
Thu Feb 28 17:43:02 UTC 2019
** Description changed:
[Impact]
Squid doesn't work if "workers" is set in squid.conf.
[Test Case]
* install squid
sudo apt update && sudo apt install squid -y
* apply workaround for #1816006
sudo mkdir -p /var/run/squid
sudo chown proxy:proxy /var/run/squid
* confirm no FATAL errors in logs so far
sudo grep FATAL /var/log/squid/cache.log
(empty)
* confirm squid working:
http_proxy=http://localhost:3128/ wget http://www.ubuntu.com -O /dev/null
echo $?
0
* add workers config
echo "workers 5" | sudo tee -a /etc/squid/squid.conf
* to speed the test up a bit, reduce the shutdown timeout
echo "shutdown_lifetime 5 seconds" | sudo tee -a /etc/squid/squid.conf
* restart squid
sudo systemctl restart squid
* verify new FATAL error in logs
sudo grep FATAL /var/log/squid/cache.log
2019/02/28 17:05:04 kid2| FATAL: check failed: ios[0].iov_len == sizeof(data)
2019/02/28 17:05:04 kid4| FATAL: check failed: ios[0].iov_len == sizeof(data)
(...)
* verify squid not working
$ http_proxy=http://localhost:3128/ wget http://www.ubuntu.com -O /dev/null
(...)
Connecting to localhost (localhost)|127.0.0.1|:3128... failed: Connection refused.
$ echo $?
4
With the updated packages, there is (new) FATAL error in the logs, and
wget works just fine with the workers setting.
[Regression Potential]
The fix applies on top of another fix that was used to fix a FTBFS with gcc-8. The full gcc-8 set of fixes is quite big and some are still open, like https://github.com/squid-cache/squid/pull/270, and triggered some refactoring upstream. That being said, this particular change was committed many months ago (July 2018) and is already included in Disco in the newer upstream release we ship there.
[Other Info]
The fix applies on top of another patch from Debian. I chose to use a new patch instead of changing the existing one in order to simplify things, keep a clear dep3 header, and ease maintenance.
There is another pending SRU for squid in bug #1816006, and the test
instructions above include a workaround to not hit that bug, otherwise
we wouldn't even hit the condition where this bug here occurs. Both will
- be fixed with one upload, but for now I'll leave the workaround
- instructions in place until I have the other fix done.
+ be fixed with one upload,
[Original Description]
Hi,
It seems squid fails when configured with SMP. Steps I took to
reproduce:
* spin up a fresh cosmic instance
* add 'workers 5' to /etc/squid/squid.conf
* sudo service squid restart
Logging shows this:
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Starting Squid Cache version 4.1 for x86_64-pc-linux-gnu...
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Service Name: squid
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Process ID 10728
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Process Roles: worker
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: With 1024 file descriptors available
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Initializing IP Cache...
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: DNS Socket created at [::], FD 5
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: DNS Socket created at 0.0.0.0, FD 13
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Adding nameserver 127.0.0.53 from /etc/resolv.conf
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Adding domain lcy02.canonistack from /etc/resolv.conf
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Store logging disabled
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Swap maxSize 0 + 262144 KB, estimated 20164 objects
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Target number of buckets: 1008
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Using 8192 Store buckets
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Max Mem size: 262144 KB [shared]
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Max Swap size: 0 KB
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Using Least Load store dir selection
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Set Current Directory to /var/spool/squid
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Logfile: opening log daemon:/var/log/squid/access.log
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Logfile Daemon: opening log /var/log/squid/access.log
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10723]: Finished loading MIME types and icons.
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10723]: FATAL: check failed: ios[0].iov_len == sizeof(data)#012 exception location: TypedMsgHdr.cc(70) sync#012
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10657]: Squid Parent: squid-1 process 10723 exited with status 255
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10657]: Squid Parent: squid-1 process 10723 will not be restarted for 3600 seconds due to repeated, frequent failures
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: Finished loading MIME types and icons.
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Store logging disabled
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10726]: FATAL: check failed: ios[0].iov_len == sizeof(data)#012 exception location: TypedMsgHdr.cc(70) sync#012
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Swap maxSize 0 + 262144 KB, estimated 20164 objects
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Target number of buckets: 1008
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Using 8192 Store buckets
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Max Mem size: 262144 KB [shared]
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Max Swap size: 0 KB
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Using Least Load store dir selection
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Set Current Directory to /var/spool/squid
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10657]: Squid Parent: squid-4 process 10726 exited with status 255
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10657]: Squid Parent: squid-4 process 10726 will not be restarted for 3600 seconds due to repeated, frequent failures
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: Finished loading MIME types and icons.
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10728]: FATAL: check failed: ios[0].iov_len == sizeof(data)#012 exception location: TypedMsgHdr.cc(70) sync#012
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10657]: Squid Parent: squid-3 process 10728 exited with status 255
| Feb 14 03:39:56 juju-be3f45-default-20 squid[10657]: Squid Parent: squid-3 process 10728 will not be restarted for 3600 seconds due to repeated, frequent failures
| Feb 14 03:39:57 juju-be3f45-default-20 squid[10659]: storeLateRelease: released 0 objects
| ubuntu at juju-be3f45-default-20:~$ apt-cache policy squid
| squid:
| Installed: 4.1-1ubuntu3
| Candidate: 4.1-1ubuntu3
| Version table:
| *** 4.1-1ubuntu3 500
| 500 http://nova.clouds.archive.ubuntu.com/ubuntu cosmic/main amd64 Packages
| 100 /var/lib/dpkg/status
--
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1815852
Title:
squid FATAL: check failed: ios[0].iov_len == sizeof(data)#012
exception location: TypedMsgHdr.cc(70) sync#012
To manage notifications about this bug go to:
https://bugs.launchpad.net/squid/+bug/1815852/+subscriptions
More information about the Ubuntu-server-bugs
mailing list