Current -cvs crashing when invalid hostname in client requested URL

From: Reuben Farrelly <reuben-squid-dev@dont-contact.us>
Date: Sun, 07 May 2006 00:20:05 +1200

Seems to be new breakage in the last few days, but if I try to surf to a URL
which is invalid eg www.fireeeefox.org, squid-3/CVS dies an ugly death:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47741279648528 (LWP 29234)]
0x000000000043543c in clientReplyContext::processMiss (this=0x2b6ba27dd028)
     at ../include/RefCount.h:110
110 p.p_->RefCountReference();
(gdb) bt full
#0 0x000000000043543c in clientReplyContext::processMiss (this=0x2b6ba27dd028)
     at ../include/RefCount.h:110
         url = Variable "url" is not available.
(gdb) frame 0
#0 0x000000000043543c in clientReplyContext::processMiss (this=0x2b6ba27dd028)
     at ../include/RefCount.h:110
110 p.p_->RefCountReference();
(gdb) frame 1
#1 0x00000000004358e8 in clientReplyContext::doGetMoreData (
     this=0x2b6ba27dd028) at client_side_reply.cc:1718
1718 processMiss();
(gdb) frame 2
#2 0x00000000004389b6 in ClientHttpRequest::httpStart (this=0xbddeb8)
     at client_side_request.cc:953
953 clientStreamRead(node, this, node->readBuffer);
(gdb) frame 3
#3 0x000000000043970f in ClientHttpRequest::doCallouts (this=0xbddeb8)
     at client_side_request.cc:1097
1097 processRequest();
(gdb) frame 4
#4 0x000000000040c305 in ACLChecklist::checkCallback (this=0xbefa98,
     answer=ACCESS_ALLOWED) at ACLChecklist.cc:248
248 callback_(answer, cbdata_);
(gdb) frame 5
#5 0x000000000047ec90 in ipcacheCallback (i=0x83c620) at ipcache.cc:265
265 callback(i->flags.negcached ? NULL : &i->addrs, cbdata);
(gdb) frame 6
#6 0x00000000004520ae in idnsCallback (q=0x2b6ba2800010, answers=0x0, n=-3,
     error=0x51e158 "Name Error: The domain name does not exist.")
     at dns_internal.cc:877
877 callback(cbdata, answers, n, error);
(gdb) frame 7
#7 0x000000000045384a in idnsGrokReply (buf=Variable "buf" is not available.
) at dns_internal.cc:984
984 idnsCallback(q, message->answer, n, q->error);
(gdb) frame 8
#8 0x0000000000453d9a in idnsRead (fd=8, data=Variable "data" is not available.
) at dns_internal.cc:1052
1052 idnsGrokReply(rbuf, len);
(gdb) frame 9
#9 0x0000000000444ad6 in comm_select (msec=Variable "msec" is not available.
) at comm_epoll.cc:269
269 hdl(fd, F->read_data);
(gdb) frame 10
#10 0x00000000004813ba in main (argc=Variable "argc" is not available.
) at main.cc:1177
1177 switch (comm_select(loop_delay)) {
(gdb) info locals
wait = 4294967295
loop_delay = Variable "loop_delay" is not available.
(gdb)

100% reproduceable.

Reuben
Received on Sat May 06 2006 - 06:20:13 MDT

This archive was generated by hypermail pre-2.1.9 : Thu Jun 01 2006 - 12:00:04 MDT