Search squid archive

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

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

 



Hi Steve,
 We have similar crashes.

I created a new bug report in squid bugzilla (I did not found any other similar report), using your stack trace:
  http://bugs.squid-cache.org/show_bug.cgi?id=4238

Also I attached a patch here, which probably fixes this problem. Can you please test it?

Regards,
   Christos


On 04/30/2015 07:14 PM, Steve Hill wrote:

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)
_______________________________________________
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