[squid-users] logging: TCP connection to x.x.x.x/3128 failed

Alex Rousskov rousskov at measurement-factory.com
Fri Apr 14 13:40:34 UTC 2023


On 4/14/23 05:29, Waldemar Brodkorb wrote:
>> On 4/6/23 06:41, Waldemar Brodkorb wrote:
>>
>>> There is still one assertion which happens sometimes:
>>> cache.log:2023/04/06 07:24:48 kid1| assertion failed: ../src/base/CbcPointer.h:181: "EX"
>>>
>>> Have you ever seen this in the wild? What does it mean?
>>
>> This low-level assertion (where "EX" is usually spelled as "c") corresponds
>> to many high-level Squid bugs, most of them fixed. Please see
>> https://bugs.squid-cache.org/show_bug.cgi?id=5265#c1 for the suggested next
>> steps.

> We have a core dump now. Ubuntu 22.04 with Squid 5.8.

 > Do you can see where the bug is?

On the surface, the stack trace looks like bug #4981 to me. That bug has 
a workaround for v4. I do not know whether that workaround patch still 
applies to v5, but it is worth trying:
https://bugs.squid-cache.org/show_bug.cgi?id=4981

Please keep us posted.

HTH,

Alex.


> gdb /usr/sbin/squid core.13.873301.1681462147
> GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
> Copyright (C) 2022 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> Type "show copying" and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <https://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
>      <http://www.gnu.org/software/gdb/documentation/>.
> 
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /usr/sbin/squid...
> Reading symbols from /usr/lib/debug/.build-id/4d/655715326bdce358de6a95a564b6e4e                                                                                                                                    ec84d5e.debug...
> [New LWP 873301]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> Core was generated by `(squid-1) --kid squid-1 --foreground -sYC'.
> Program terminated with signal SIGABRT, Aborted.
> --Type <RET> for more, q to quit, c to continue without paging--
> #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140419666299392)
>      at ./nptl/pthread_kill.c:44
> 44      ./nptl/pthread_kill.c: No such file or directory.
> (gdb) bt full
> #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140419666299392)
>      at ./nptl/pthread_kill.c:44
>          tid = <optimized out>
>          ret = 0
>          pd = 0x7fb600544a00
>          old_mask = {__val = {94534848520128, 94535132367528, 94533992246864,
>              94532923700193, 94532920519424, 94532966275696, 94533267707520,
>              140419709921070, 94534848520128, 0, 140723926211296,
>              94532958412936, 0, 8, 26902275, 140419709808628}}
>          ret = <optimized out>
>          pd = <optimized out>
>          old_mask = <optimized out>
>          ret = <optimized out>
>          tid = <optimized out>
>          ret = <optimized out>
>          resultvar = <optimized out>
>          resultvar = <optimized out>
>          __arg3 = <optimized out>
>          __arg2 = <optimized out>
>          __arg1 = <optimized out>
>          _a3 = <optimized out>
>          _a2 = <optimized out>
>          _a1 = <optimized out>
> --Type <RET> for more, q to quit, c to continue without paging--
>          __futex = <optimized out>
>          resultvar = <optimized out>
>          __arg3 = <optimized out>
>          __arg2 = <optimized out>
>          __arg1 = <optimized out>
>          _a3 = <optimized out>
>          _a2 = <optimized out>
>          _a1 = <optimized out>
>          __futex = <optimized out>
>          __private = <optimized out>
>          __oldval = <optimized out>
>          result = <optimized out>
> #1  __pthread_kill_internal (signo=6, threadid=140419666299392)
>      at ./nptl/pthread_kill.c:78
> No locals.
> #2  __GI___pthread_kill (threadid=140419666299392, signo=signo at entry=6)
>      at ./nptl/pthread_kill.c:89
> No locals.
> 
> #3  0x00007fb602aa7476 in __GI_raise (sig=sig at entry=6)
>      at ../sysdeps/posix/raise.c:26
>          ret = <optimized out>
> #4  0x00007fb602a8d7f3 in __GI_abort () at ./stdlib/abort.c:79
>          save_stage = 1
> --Type <RET> for more, q to quit, c to continue without paging--
>          act = {__sigaction_handler = {sa_handler = 0x55fa2959746f,
>              sa_sigaction = 0x55fa2959746f}, sa_mask = {__val = {
>                18446744073709551288, 11, 140723926211456, 94532958412928, 181,
>                94532923913327, 140419705906387, 140723926211472,
>                140723926211456, 94532958412928, 94532925905808,
>                140723926211472, 94532920570578, 94533607213200, 99, 99}},
>            sa_flags = 1335251568, sa_restorer = 0x55fa2959746f}
>          sigs = {__val = {32, 0, 94533607213200, 6, 99, 140723926211136,
>              94532958413328, 0, 99, 16762180390345294848, 94532958413040,
>              140723926211456, 0, 94532958413328, 99, 16762180390345294848}}
> #5  0x000055fa29124e55 in xassert (msg=<optimized out>, file=<optimized out>,
>      line=<optimized out>) at ./src/debug.cc:624
>          __FUNCTION__ = <optimized out>
> #6  0x000055fa29118734 in CbcPointer<BodyProducer>::operator-> (
>      this=<optimized out>) at ../src/base/CbcPointer.h:181
>          c = <optimized out>
> #7  CbcPointer<BodyConsumer>::operator-> (this=<optimized out>)
>      at ../src/base/CbcPointer.h:178
>          c = <optimized out>
>          c = <optimized out>
> #8  JobDialer<BodyConsumer>::dial (call=..., this=<optimized out>)
>      at base/AsyncJobCalls.h:182
>          __FUNCTION__ = <optimized out>
> --Type <RET> for more, q to quit, c to continue without paging--
> #9  AsyncCallT<BodyConsumerDialer>::fire (this=0x55fa4f965270)
>      at ../src/base/AsyncCall.h:145
> No locals.
> #10 0x000055fa293cfaab in AsyncCallQueue::fireNext (this=<optimized out>)
>      at base/../../src/base/RefCount.h:73
>          call = {p_ = 0x55fa4f965270}
>          __FUNCTION__ = <optimized out>
> #11 0x000055fa293d189a in AsyncCallQueue::fire (this=0x55fa2b930a20)
>      at base/AsyncCallQueue.cc:43
>          made = true
> #12 0x000055fa291ad500 in EventLoop::dispatchCalls (this=0x7ffcd7a21ef0)
>      at ./src/EventLoop.cc:144
>          dispatchedSome = <optimized out>
> #13 EventLoop::runOnce (this=0x7ffcd7a21ef0) at ./src/EventLoop.cc:121
>          sawActivity = <optimized out>
>          waitingEngine = 0x7ffcd7a21e30
>          __FUNCTION__ = <optimized out>
> #14 0x000055fa292b5f10 in EventLoop::run (this=0x7ffcd7a21ef0)
>      at ./src/EventLoop.cc:83
> No locals.
> #15 SquidMain (argc=<optimized out>, argv=<optimized out>)
>      at ./src/main.cc:1719
>          cmdLine = {argv_ = std::vector of length 6, capacity 6 = {
> --Type <RET> for more, q to quit, c to continue without paging--
>              0x55fa29977220 "(squid-1)", 0x55fa299772e0 "--kid",
>              0x55fa299773a0 "squid-1", 0x55fa29977460 "--foreground",
>              0x55fa29977520 "-sYC", 0x0},
>            shortOptions_ = 0x55fa299a2450 "CDFNRSYXa:d:f:hk:m::n:sl:u:vz?",
>            longOptions_ = std::vector of length 5, capacity 8 = {{<option> = {
>                  name = 0x55fa29977cc0 "foreground", has_arg = 0, flag = 0x0,
>                  val = 2}, <No data fields>}, {<option> = {
>                  name = 0x55fa299778e0 "kid", has_arg = 1, flag = 0x0,
>                  val = 3}, <No data fields>}, {<option> = {
>                  name = 0x55fa299779a0 "help", has_arg = 0, flag = 0x0,
>                  val = 104}, <No data fields>}, {<option> = {
>                  name = 0x55fa29977a80 "version", has_arg = 0, flag = 0x0,
>                  val = 118}, <No data fields>}, {<option> = {name = 0x0,
>                  has_arg = 0, flag = 0x0, val = 0}, <No data fields>}}}
>          WIN32_init_err = 0
>          mainLoop = {errcount = 0, static Running = 0x7ffcd7a21ef0,
>            last_loop = false, engines = std::vector of length 4, capacity 4 = {
>              0x7ffcd7a21e70, 0x55fa296e8fd0 <EventScheduler::_instance>,
>              0x7ffcd7a21e50, 0x7ffcd7a21e30}, timeService = 0x7ffcd7a21da8,
>            primaryEngine = 0x7ffcd7a21e30, loop_delay = 0, error = false,
>            runOnceResult = false}
>          signalEngine = {<AsyncEngine> = {
>              _vptr.AsyncEngine = 0x55fa296e1e50 <vtable for SignalEngine+16>}, <N--Type <RET> for more, q to quit, c to continue without paging--
> o data fields>}
>          store_engine = {<AsyncEngine> = {
>              _vptr.AsyncEngine = 0x55fa296c8310 <vtable for StoreRootEngine+16>}, <No data fields>}
>          comm_engine = {<AsyncEngine> = {
>              _vptr.AsyncEngine = 0x55fa296e1e28 <vtable for CommSelectEngine+16>}, <No data fields>}
>          time_engine = {
>            _vptr.TimeEngine = 0x55fa296e2480 <vtable for TimeEngine+16>}
>          __FUNCTION__ = <optimized out>
> #16 0x000055fa291524e6 in SquidMainSafe (argv=0x7ffcd7a22208, argc=5)
>      at ./src/main.cc:1406
>          __FUNCTION__ = <optimized out>
> #17 main (argc=5, argv=0x7ffcd7a22208) at ./src/main.cc:1394
> No locals.
> (gdb)
> 
> Do you can see where the bug is?
> 
> best regards
>   Waldemar



More information about the squid-users mailing list