[squid-users] Fw: [Bug 4977] stmem.cc:98: "lowestOffset () <= target_offset" assertion when adapting Content-Range value

Alex Rousskov rousskov at measurement-factory.com
Mon Nov 4 17:13:06 UTC 2019


On 11/4/19 11:21 AM, Matus UHLAR - fantomas wrote:
> the last request:
> 
> CONNECT www.google.com:443 HTTP/1.1
> Host: www.google.com


That request does not seem to match the stack trace: The stack trace
points to a non-CONNECT transaction AFAICT. Perhaps you are bumping that
tunnel? Please note that you are not looking for the last request, but
for the request that triggered the assertion. It is very difficult to do
that with just ALL,2 and stripped executable, especially when you have
lots of concurrent transactions flying by.


Alex.



> ----------
> 2019/11/04 16:59:09.721 kid1| 85,2| client_side_request.cc(752)
> clientAccessCheckDone: The request CONNECT www.google.com:443 is
> ALLOWED; last ACL checked: work_time1
> 2019/11/04 16:59:09.721 kid1| 85,2| client_side_request.cc(728)
> clientAccessCheck2: No adapted_http_access configuration. default: ALLOW
> 2019/11/04 16:59:09.721 kid1| 85,2| client_side_request.cc(752)
> clientAccessCheckDone: The request CONNECT www.google.com:443 is
> ALLOWED; last ACL checked: work_time1
> 2019/11/04 16:59:09.721 kid1| 44,2| peer_select.cc(281)
> peerSelectDnsPaths: Find IP destination for: www.google.com:443' via
> www.google.com
> 2019/11/04 16:59:09.721 kid1| 44,2| peer_select.cc(302)
> peerSelectDnsPaths: Found sources for 'www.google.com:443'
> 2019/11/04 16:59:09.721 kid1| 44,2| peer_select.cc(303)
> peerSelectDnsPaths:   always_direct = DENIED
> 2019/11/04 16:59:09.721 kid1| 44,2| peer_select.cc(304)
> peerSelectDnsPaths:    never_direct = DENIED
> 2019/11/04 16:59:09.721 kid1| 44,2| peer_select.cc(308)
> peerSelectDnsPaths:          DIRECT = local=[::]
> remote=[2a00:1450:4014:801::2004]:443 flags=1
> 2019/11/04 16:59:09.721 kid1| 44,2| peer_select.cc(308)
> peerSelectDnsPaths:          DIRECT = local=0.0.0.0
> remote=216.58.201.100:443 flags=1
> 2019/11/04 16:59:09.721 kid1| 44,2| peer_select.cc(317)
> peerSelectDnsPaths:        timedout = 0
> 2019/11/04 16:59:09.725 kid1| 20,2| store.cc(980) checkCachable:
> StoreEntry::checkCachable: NO: not cachable
> 2019/11/04 16:59:09.727 kid1| 33,2| client_side.cc(582) swanSong:
> local=192.168.251.230:3128 remote=192.168.169.31:62822 flags=1
> 2019/11/04 16:59:09.730 kid1| 20,2| store.cc(980) checkCachable:
> StoreEntry::checkCachable: NO: not cachable
> 2019/11/04 16:59:09.730 kid1| assertion failed: stmem.cc:98:
> "lowestOffset () <= target_offset"
> 
> 
> and the gdb backtrace:
> 
> Core was generated by `(squid-1) --kid squid-1 -YC -f
> /etc/squid/squid.conf'.
> Program terminated with signal SIGABRT, Aborted.
> #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
> 50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> [Current thread is 1 (Thread 0x7f939ea82e80 (LWP 13179))]
> (gdb) backtrace
> #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
> #1  0x00007f93a15b2535 in __GI_abort () at abort.c:79
> #2  0x00005654ebcee5ad in ?? ()
> #3  0x00005654ebe6c170 in mem_hdr::freeDataUpto(long) ()
> #4  0x00005654ebe27440 in MemObject::trimSwappable() ()
> #5  0x00005654ebe74bf5 in StoreEntry::trimMemory(bool) ()
> #6  0x00005654ec100a80 in Store::Controller::memoryOut(StoreEntry&,
> bool) ()
> #7  0x00005654ebe84305 in StoreEntry::swapOut() ()
> #8  0x00005654ebe7b3fd in StoreEntry::invokeHandlers() ()
> #9  0x00005654ebe736ac in StoreEntry::write(StoreIOBuffer) ()
> #10 0x00005654ebf0a590 in Client::storeReplyBody(char const*, long) ()
> #11 0x00005654ebdeca37 in HttpStateData::writeReplyBody() ()
> #12 0x00005654ebdf1bd5 in HttpStateData::processReplyBody() ()
> #13 0x00005654ebdf382a in HttpStateData::processReply() ()
> #14 0x00005654ebdf4da8 in HttpStateData::readReply(CommIoCbParams
> const&) ()
> #15 0x00005654ebdf8d6b in JobDialer<HttpStateData>::dial(AsyncCall&) ()
> #16 0x00005654ebf5be51 in AsyncCall::make() ()
> #17 0x00005654ebf5d3a4 in AsyncCallQueue::fireNext() ()
> #18 0x00005654ebf5d6e9 in AsyncCallQueue::fire() ()
> #19 0x00005654ebdb98ea in EventLoop::runOnce() ()
> #20 0x00005654ebdb99d8 in EventLoop::run() ()
> #21 0x00005654ebe22ab9 in SquidMain(int, char**) ()
> #22 0x00005654ebd13901 in main ()
> (gdb)
> 
> I don't know where do those raise.c and raise.c belong (libthread? glibc?)
> 
> squid is stripped, i could probably compile it without stripping and re-try
> 
> Any ideas how to debug further? (disabling multi-cpu?)
> 



More information about the squid-users mailing list