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

Waldemar Brodkorb wbx at openadk.org
Fri Apr 14 09:29:48 UTC 2023


Hi Alex,
Alex Rousskov 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.

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