Search squid archive

Assert(call->dialer.handler == callback)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




I've just migrated a system from Squid 3.4.10 to 3.5.3 and I'm getting frequent crashes with an assertion of "call->dialer.handler == callback" in Read.cc:comm_read_cancel().

call->dialer.handler == (IOCB *) 0x7ffe1493b2d0 <TunnelStateData::ReadClient(Comm::ConnectionPointer const&, char*, size_t, Comm::Flag, int, void*)>

callback == <IdleConnList::Read(Comm::ConnectionPointer const&, char*, size_t, Comm::Flag, int, void*)>


This is quite a busy system doing server-first ssl_bump and I get a lot of SSL negotiation errors in cache.log (these were present under 3.4.10 too). I think a good chunk of these are Team Viewer, which abuses CONNECTs to port 443 of remote servers to do non-SSL traffic, so obviously isn't going to work with ssl_bump. I _suspect_ that the assertion may be being triggered by these SSL errors (e.g. connection being unexpectedly torn down because SSL negotiation failed?), but I can't easily prove that.

I don't quite understand the comm_read_cancel() function though - as far as I can see, the callback parameter is only used in the assert() - is that correct?


Stack trace:
#0 0x00007ffe1155d625 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffe1155ee05 in abort () at abort.c:92
#2 0x00007ffe148210df in xassert (msg=Unhandled dwarf expression opcode 0xf3
) at debug.cc:544
#3 0x00007ffe14a62787 in comm_read_cancel (fd=600, callback=0x7ffe148c8dd0 <IdleConnList::Read(Comm::ConnectionPointer const&, char*, size_t, Comm::Flag, int, void*)>,
    data=0x7ffe176c8298) at Read.cc:204
#4 0x00007ffe148c5e62 in IdleConnList::clearHandlers (this=0x7ffe176c8298, conn=...) at pconn.cc:157 #5 0x00007ffe148c94ab in IdleConnList::findUseable (this=0x7ffe176c8298, key=...) at pconn.cc:269 #6 0x00007ffe148c979d in PconnPool::pop (this=0x7ffe145db010, dest=..., domain=Unhandled dwarf expression opcode 0xf3
) at pconn.cc:449
#7 0x00007ffe14852142 in FwdState::pconnPop (this=Unhandled dwarf expression opcode 0xf3
) at FwdState.cc:1153
#8 0x00007ffe14855605 in FwdState::connectStart (this=0x7ffe2034c4e8) at FwdState.cc:850 #9 0x00007ffe14856a31 in FwdState::startConnectionOrFail (this=0x7ffe2034c4e8) at FwdState.cc:398 #10 0x00007ffe148d2fa5 in peerSelectDnsPaths (psstate=0x7ffe1fd0c028) at peer_select.cc:302 #11 0x00007ffe148d6a1d in peerSelectDnsResults (ia=0x7ffe14f0ac20, details=Unhandled dwarf expression opcode 0xf3
) at peer_select.cc:383
#12 0x00007ffe148a8e71 in ipcache_nbgethostbyname (name=Unhandled dwarf expression opcode 0xf3
) at ipcache.cc:518
#13 0x00007ffe148d23c1 in peerSelectDnsPaths (psstate=0x7ffe1fd0c028) at peer_select.cc:259 #14 0x00007ffe148d6a1d in peerSelectDnsResults (ia=0x7ffe14f0ac20, details=Unhandled dwarf expression opcode 0xf3
) at peer_select.cc:383
#15 0x00007ffe148a8e71 in ipcache_nbgethostbyname (name=Unhandled dwarf expression opcode 0xf3
) at ipcache.cc:518
#16 0x00007ffe148d23c1 in peerSelectDnsPaths (psstate=0x7ffe1fd0c028) at peer_select.cc:259 #17 0x00007ffe148d382b in peerSelectFoo (ps=0x7ffe1fd0c028) at peer_select.cc:522 #18 0x00007ffe149bba6a in ACLChecklist::checkCallback (this=0x7ffe2065b9e8, answer=...) at Checklist.cc:167 #19 0x00007ffe148d3f5a in peerSelectFoo (ps=0x7ffe1fd0c028) at peer_select.cc:459 #20 0x00007ffe148d5176 in peerSelect (paths=0x7ffe2034c540, request=0x7ffe1b660b70, al=Unhandled dwarf expression opcode 0xf3
) at peer_select.cc:163
#21 0x00007ffe14852ae3 in FwdState::Start (clientConn=..., entry=0x7ffe1b0da790, request=0x7ffe1b660b70, al=...) at FwdState.cc:366 #22 0x00007ffe14801401 in clientReplyContext::processMiss (this=0x7ffe1fcf5838) at client_side_reply.cc:691 #23 0x00007ffe14801eb0 in clientReplyContext::doGetMoreData (this=0x7ffe1fcf5838) at client_side_reply.cc:1797 #24 0x00007ffe14805a89 in ClientHttpRequest::httpStart (this=0x7ffe1dcda618) at client_side_request.cc:1518 #25 0x00007ffe14808cac in ClientHttpRequest::processRequest (this=0x7ffe1dcda618) at client_side_request.cc:1504 #26 0x00007ffe14809013 in ClientHttpRequest::doCallouts (this=0x7ffe1dcda618) at client_side_request.cc:1830 #27 0x00007ffe1480b453 in checkNoCacheDoneWrapper (answer=..., data=0x7ffe1e5db378) at client_side_request.cc:1400 #28 0x00007ffe149bba6a in ACLChecklist::checkCallback (this=0x7ffe1c88b4a8, answer=...) at Checklist.cc:167 #29 0x00007ffe1480b40a in ClientRequestContext::checkNoCache (this=0x7ffe1e5db378) at client_side_request.cc:1385 #30 0x00007ffe14809c04 in ClientHttpRequest::doCallouts (this=0x7ffe1dcda618) at client_side_request.cc:1748 #31 0x00007ffe1480d109 in ClientRequestContext::clientAccessCheckDone (this=0x7ffe1e5db378, answer=Unhandled dwarf expression opcode 0xf3
) at client_side_request.cc:821
#32 0x00007ffe1480d898 in ClientRequestContext::clientAccessCheck2 (this=0x7ffe1e5db378) at client_side_request.cc:718 #33 0x00007ffe14809767 in ClientHttpRequest::doCallouts (this=0x7ffe1dcda618) at client_side_request.cc:1721 #34 0x00007ffe1480afca in ClientHttpRequest::handleAdaptedHeader (this=0x7ffe1dcda618, msg=Unhandled dwarf expression opcode 0xf3
) at client_side_request.cc:1935
#35 0x00007ffe14abbcaa in JobDialer<Adaptation::Initiator>::dial (this=0x7ffe1ce04990, call=...) at ../../src/base/AsyncJobCalls.h:174 #36 0x00007ffe149bea69 in AsyncCall::make (this=0x7ffe1ce04960) at AsyncCall.cc:40 #37 0x00007ffe149c272f in AsyncCallQueue::fireNext (this=Unhandled dwarf expression opcode 0xf3
) at AsyncCallQueue.cc:56
#38 0x00007ffe149c2a60 in AsyncCallQueue::fire (this=0x7ffe16f70bf0) at AsyncCallQueue.cc:42 #39 0x00007ffe1484110c in EventLoop::runOnce (this=0x7fffcb8c4be0) at EventLoop.cc:120 #40 0x00007ffe148412c8 in EventLoop::run (this=0x7fffcb8c4be0) at EventLoop.cc:82 #41 0x00007ffe148ae191 in SquidMain (argc=Unhandled dwarf expression opcode 0xf3
) at main.cc:1511
#42 0x00007ffe148af2e9 in SquidMainSafe (argc=Unhandled dwarf expression opcode 0xf3
) at main.cc:1243
#43 main (argc=Unhandled dwarf expression opcode 0xf3
) at main.cc:1236

(sorry about the DWARF errors - it looks like I've got a version mismatch between gcc and gdb)

--
 - Steve Hill
   Technical Director
   Opendium Limited     http://www.opendium.com

Direct contacts:
   Instant messager: xmpp:steve@xxxxxxxxxxxx
   Email:            steve@xxxxxxxxxxxx
   Phone:            sip:steve@xxxxxxxxxxxx

Sales / enquiries contacts:
   Email:            sales@xxxxxxxxxxxx
   Phone:            +44-1792-824568 / sip:sales@xxxxxxxxxxxx

Support contacts:
   Email:            support@xxxxxxxxxxxx
   Phone:            +44-1792-825748 / sip:support@xxxxxxxxxxxx
begin:vcard
fn:Steve Hill
n:Hill;Steve
org:Opendium Limited
adr:1 Brue Close;;Highfield House;Bruton;Somerset;BA10 0HY;England
email;internet:steve@xxxxxxxxxxxx
title:Technical Director
tel;work:+44-1792-824568
x-mozilla-html:FALSE
url:http://www.opendium.com
version:2.1
end:vcard

_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux