Re: [squid-users] Unhandled exception: c

From: Alex Crow <alex_at_nanogherkin.com>
Date: Thu, 15 May 2014 20:42:27 +0100

Grr, I apologise profusely. The server does run 3.3.11, *not* 3.2.11,
Had a couple of nights being waken up by our devs askng about DNS...

However - i just downloaded squid-3.3.12-20140309-r12678, unpacked it,
and see this:

root_at_user-ThinkPad-T61p:/home/user/Downloads/squid-3.3.12-20140309-r12678#
find -name forward.cc
./src/forward.cc

So the source file still exists in 3.3.11, and is referenced in
Makefile.in/.am:

root_at_user-ThinkPad-T61p:/home/user/Downloads/squid-3.3.12-20140309-r12678#
grep -r forward.cc *
ChangeLog: - Bug 3111: Mid-term fix for the forward.cc "err" assertion
src/Makefile.in: forward.cc forward.h fqdncache.h fqdncache.cc
ftp.h ftp.cc \
src/Makefile.in: forward.cc fqdncache.h fqdncache.cc ftp.h ftp.cc
gopher.h \
src/Makefile.in: FileMap.h filemap.cc forward.cc fqdncache.h
fqdncache.cc ftp.h \
src/Makefile.in: FileMap.h filemap.cc forward.cc fqdncache.h
fqdncache.cc ftp.h \
src/Makefile.in: tests/stub_fatal.cc fd.h fd.cc fde.cc forward.cc
fqdncache.h \
src/Makefile.in: forward.cc fqdncache.h fqdncache.cc ftp.h ftp.cc
gopher.h \
src/Makefile.in: forward.cc fqdncache.h fqdncache.cc ftp.h ftp.cc
gopher.h \
src/Makefile.in: FileMap.h filemap.cc forward.cc forward.h
fqdncache.h \
src/Makefile.in: forward.cc \
src/Makefile.in: forward.cc \
src/Makefile.in: forward.cc \
src/Makefile.in: forward.cc \
src/Makefile.in: forward.cc \
src/Makefile.in: forward.cc \
src/Makefile.am: forward.cc \
src/Makefile.am: forward.cc \
src/Makefile.am: forward.cc \
src/Makefile.am: forward.cc \
src/Makefile.am: forward.cc \
src/Makefile.am: forward.cc \
src/Makefile.am: forward.cc \

Again I'm sorry about giving you the wrong version, but I'm really
scratching my head now as you did say that forward.cc should not be used
in 3.3, However I've also done this:

root_at_user-ThinkPad-T61p:/home/user/Downloads/squid-3.3.12-20140309-r12678#
grep -ri isconnectreq *
src/forward.cc: const bool isConnectRequest =
!request->clientConnectionManager->port->spoof_client_ip &&
src/forward.cc: if (request->flags.sslPeek &&
!isConnectRequest) {
src/forward.cc: const bool isConnectRequest =
!request->clientConnectionManager->port->spoof_client_ip &&
src/forward.cc: if (!request->flags.sslPeek || isConnectRequest)
src/client_side.cc: const bool isConnectRequest =
!port->spoof_client_ip && !port->intercepted;
src/client_side.cc: if (intendedDest.IsAnyAddr() || isConnectRequest)

and the isConnectRequest is still there!

Am I really missing something here? Do I need to adjust my debain rules
file or similar?

Cheers

Alex

On 15/05/14 17:51, Alex Crow wrote:
> Hi
>
> Thanks for that. This is odd because I compiled .debs myself from the
> source using the debian folder from an older version of squid as a
> template. I'm pretty sure I cleaned out the debian/patches folder and
> removed the lines in the rules file before building, but I will check
> this.
>
> Alex
>
> On 15/05/14 08:06, Amos Jeffries wrote:
>> On 15/05/2014 7:37 a.m., Alex Crow wrote:
>>> Hi,
>>>
>>> Is this any good at all or do I need ro provide more? It seems a
>>> trivial
>>> issue to restart a browser but the bigwigs are climbing all over me
>>> now!
>>>
>>> Cheers
>>>
>>> Alex
>>>
>>>
>>> On 12/05/14 16:22, Alex Crow wrote:
>>>> Hi Amos,
>>>>
>>>> New backtrace - I hope this helps!
>>>>
>>
>>>> #3 0x00000000005279d1 in CbcPointer<ConnStateData>::operator->
>>>> (this=<value optimized out>) at base/CbcPointer.h:147
>>>> c = <value optimized out>
>>>> #4 0x000000000057238e in FwdState::initiateSSL (this=0x80f14ba8) at
>>>> forward.cc:827
>>>> hostname = 0x80e6d7e8 "secure.flashtalking.com"
>>>> isConnectRequest = <value optimized out>
>>>> peer = <value optimized out>
>>>> fd = 812
>>>> __FUNCTION__ = "initiateSSL"
>>>> peeked_cert = <value optimized out>
>>>> ssl = 0x940e87e0
>>>> sslContext = <value optimized out>
>>>> #5 0x00000000005725e3 in FwdState::connectDone (this=0x80f14ba8,
>>>> conn=..., status=<value optimized out>, xerrno=0) at forward.cc:895
>>>> __FUNCTION__ = "connectDone"
>> Bit of a strange trace there.
>>
>> It is in forward.cc which does not exist in any 3.3 or later release of
>> Squid. Correlating to your info about it being 3.2.11.
>>
>> But is using variables isConnectRequest and peeked_cert which only exist
>> in the 3.HEAD releases of Squid. So your Squid is patched in the area of
>> code crashing. Time to direct this bug at the vendor who backported that
>> patch for you.
>>
>> Amos
>>
>
Received on Thu May 15 2014 - 19:42:31 MDT

This archive was generated by hypermail 2.2.0 : Fri May 16 2014 - 12:00:05 MDT