Just break on SIGABRT and SIGSEGV. The actual place in the code where
things failed will be slightly further up the callstack than the break
point but it -will- be triggered.
Just remember to ignore SIGPIPE's or you'll have a strangely failing Squid. :)
adrian
2009/7/21 Marcus Kool <marcus.kool_at_urlfilterdb.com>:
> my 2 cents:
> someone needs to explain how to set a breakpoint
> because when the assertion fails, the program exits
> (see previous emails: Program exited with code 01)
> The question is where to set the breakpoint
> but probably Amos knows where to set it.
>
> Marcus
>
>
> Silamael wrote:
>>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Zeller, Jan wrote:
>>>
>>> Hi Amos,
>>>
>>> I now explicitly enabled
>>> --enable-stacktraces Enable automatic call backtrace on fatal errors
>>>
>>> during the build and added CFLAGS="-g -ggdb" in front of ./configure but
>>> the result seems to be the same...
>>>
>>> # ./squid -v
>>> Squid Cache: Version 3.1.0.11
>>> configure options: '--prefix=/opt/squid-3.1.0.11' '--enable-icap-client'
>>> '--enable-ssl' '--enable-linux-netfilter' '--disable-ipv6'
>>> '--disable-translation' '--disable-auto-locale' '--with-pthreads'
>>> '--with-filedescriptors=32768' '--enable-stacktraces' 'CFLAGS=-g -ggdb'
>>> --with-squid=/usr/local/src/squid-3.1.0.11 --enable-ltdl-convenience
>>> 2009/07/21 15:43:50| assertion failed: mem.cc:236: "size ==
>>> StrPoolsAttrs[i].obj_size"
>>> Aborted
>>>
>>> # gdb --args ./squid -NCXd9
>>> GNU gdb 6.8-debian
>>> Copyright (C) 2008 Free Software Foundation, Inc.
>>> License GPLv3+: GNU GPL version 3 or later
>>> <http://gnu.org/licenses/gpl.html>
>>> This is free software: you are free to change and redistribute it.
>>> There is NO WARRANTY, to the extent permitted by law. Type "show
>>> copying"
>>> and "show warranty" for details.
>>> This GDB was configured as "x86_64-linux-gnu"...
>>> (gdb) bt
>>> No stack.
>>> (gdb) quit
>>>
>>
>> You forgot to tell gdb to run the program.
>> # gdb --args ./squid -NCXd9
>> start gdb and tell it to use -NCXd9 as arguments for squid
>> When you get the gdb prompt, enter:
>> (gdb) r
>> which will run squid. When it crashes you type
>> (gdb) bt
>> to get the backtrace. If squid does not crash, typing bt is pretty
>> useless. Same, if it even didn't run before ;)
>>
>> - -- Matthias
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.9 (GNU/Linux)
>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>>
>> iEYEARECAAYFAkpl0pYACgkQGgHcOSur6dRRagCfQpDfLaFqg1mLwJCVTcAUJRWP
>> R+oAn2LnoLTxNJV6+YX+Q8Ja8ILUHayl
>> =JhHL
>> -----END PGP SIGNATURE-----
>>
>>
>
>
Received on Tue Jul 21 2009 - 22:28:56 MDT
This archive was generated by hypermail 2.2.0 : Wed Jul 22 2009 - 12:00:05 MDT