pinger crash every night in IcmpPinger::Recv

Bug #1532560 reported by Stephen Hill
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
squid3 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Using sudo apport-retrace -R -s -S system /var/crash/_usr_lib_squid3_pinger.0.crash:

dpkg-source: info: extracting squid3 in squid3-3.3.8
dpkg-source: info: unpacking squid3_3.3.8.orig.tar.bz2
dpkg-source: info: unpacking squid3_3.3.8-1ubuntu6.4.debian.tar.xz
dpkg-source: info: applying 01-cf.data.debian.patch
dpkg-source: info: applying 02-makefile-defaults.patch
dpkg-source: info: applying 15-cachemgr-default-config.patch
dpkg-source: info: applying 16-ipc-statedir.patch
dpkg-source: info: applying 90-cf.data.ubuntu.patch
dpkg-source: info: applying 99-ubuntu-ssl-cert-snakeoil.patch
dpkg-source: info: applying fix-pod2man-config.test.patch
dpkg-source: info: applying fix-distribution.patch
dpkg-source: info: applying CVE-2014-3609.patch
dpkg-source: info: applying fix-icmp-pinger-icmp4-6.patch
dpkg-source: info: applying fix-caching-vary-header.patch
Installing extra package squid3 to get ExecutablePath
--- stack trace ---
#0 __strcmp_sse2 () at ../sysdeps/x86_64/multiarch/../strcmp.S:210
No locals.
#1 0x00007fcd7c2efef1 in __tzfile_compute (timer=1452317153, use_localtime=use_localtime@entry=1, leap_correct=leap_correct
@entry=0x7ffe054ea5b0, leap_hit=leap_hit@entry=0x7ffe054ea5a0, tp=tp@entry=0x7fcd7c5ffde0 <_tmbuf>) at tzfile.c:786
        info = 0x561133638b20
        i = <optimized out>
        __PRETTY_FUNCTION__ = "__tzfile_compute"
#2 0x00007fcd7c2eeac7 in __tz_convert (timer=0x7ffe054ea5f0, use_localtime=1, tp=0x7fcd7c5ffde0 <_tmbuf>) at tzset.c:635
        leap_correction = 8
        leap_extra_secs = 89057104
#3 0x00005611332cd8a3 in debugLogTime () at ../../src/debug.cc:537
        t = 1452317153
        tm = <optimized out>
        buf = "2016/01/08 23:10:14", '\000' <repeats 108 times>
        last_t = 1452294614
#4 _db_print (format=format@entry=0x5611332d2869 "%s\n") at ../../src/debug.cc:123
        f = "\000'-3\021V\000\000i(-3\021V\000\000\326A\220V\000\000\000\000\020\000\000\000\060\000\000\000\200\347N\005\37
6\177\000\000\260\346N\005\376\177\000\000\b\000\000\000\060\000\000\000\200\347N\005\376\177\000\000\260\346N\005\376\177\0
00\000\b\000\000\000\060\000\000\000\200\347N\005\376\177\000\000\260\346N\005\376\177\000\000\062\060\061\066/01/08 23:10:1
4| %s\n\000\346N\005\376\177\000\000\062\060\061\066/01/08 23:10:14| %s\n", '\000' <repeats 8039 times>
        args1 = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7ffe054ee720, reg_save_area = 0x7ffe054ee650}}
        args2 = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7ffe054ee720, reg_save_area = 0x7ffe054ee650}}
        args3 = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7ffe054ee720, reg_save_area = 0x7ffe054ee650}}
#5 0x00005611332ce22b in Debug::finishDebug () at ../../src/debug.cc:760
No locals.
#6 0x00005611332cb401 in IcmpPinger::Recv (this=0x5611334dc620 <control>) at IcmpPinger.cc:190
        _dbo = @0x561133638d10: {<std::basic_ios<char, std::char_traits<char> >> = {<std::ios_base> = {_vptr.ios_base = 0x7f
cd7cb012e0 <vtable for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >+64>, static boolalpha =
 std::_S_boolalpha, static dec = std::_S_dec, static fixed = std::_S_fixed, static hex = std::_S_hex, static internal = std:
:_S_internal, static left = std::_S_left, static oct = std::_S_oct, static right = std::_S_right, static scientific = std::_
S_scientific, static showbase = std::_S_showbase, static showpoint = std::_S_showpoint, static showpos = std::_S_showpos, st
atic skipws = std::_S_skipws, static unitbuf = std::_S_unitbuf, static uppercase = std::_S_uppercase, static adjustfield = s
td::_S_adjustfield, static basefield = std::_S_basefield, static floatfield = std::_S_floatfield, static badbit = std::_S_ba
dbit, static eofbit = std::_S_eofbit, static failbit = std::_S_failbit, static goodbit = std::_S_goodbit, static app = std::
_S_app, static ate = std::_S_ate, static binary = std::_S_bin, static in = std::_S_in, static out = std::_S_out, static trun
c = std::_S_trunc, static beg = std::_S_beg, static cur = std::_S_cur, static end = std::_S_end, _M_precision = 2, _M_width
= 0, _M_flags = 4102, _M_exception = std::_S_goodbit, _M_streambuf_state = std::_S_goodbit, _M_callbacks = 0x0, _M_word_zero
 = {_M_pword = 0x0, _M_iword = 0}, _M_local_word = {{_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pwor
d = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_
pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}}, _M_word_size = 145, _M_word = 0x900000000, _M_ios_locale = {sta
tic none = 0, static ctype = 1, static numeric = 2, static collate = 4, static time = 8, static monetary = 16, static messag
es = 32, static all = 63, _M_impl = 0x0, static _S_classic = 0x7fcd7cb19de0 <(anonymous namespace)::c_locale_impl>, static _
S_global = 0x7fcd7cb19de0 <(anonymous namespace)::c_locale_impl>, static _S_categories = 0x7fcd7cafd920 <__gnu_cxx::category
_names>, static _S_once = 0}}, _M_tie = 0x0, _M_fill = 0 '\000', _M_fill_init = false, _M_streambuf = 0x100000000, _M_ctype
= 0x0, _M_num_put = 0x0, _M_num_get = 0x0}, _vptr.basic_ostream = 0x7fcd7cb012b8 <vtable for std::basic_ostringstream<char,
std::char_traits<char>, std::allocator<char> >+24>}
        pecho = {to = {m_SocketAddr = {sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8
 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}, stat
ic STRLEN_IP4A = 16, static STRLEN_IP4R = 28, static STRLEN_IP4S = 21, static MAX_IP4_STRLEN = 28, static STRLEN_IP6A = 42,
static STRLEN_IP6R = 75, static STRLEN_IP6S = 48, static MAX_IP6_STRLEN = 75, static v4_localhost = {__in6_u = {__u6_addr8 =
 "\000\000\000\000\000\000\000\000\000\000\377\377\177\000\000\001", __u6_addr16 = {0, 0, 0, 0, 0, 65535, 127, 256}, __u6_ad
dr32 = {0, 0, 4294901760, 16777343}}}, static v4_anyaddr = {__in6_u = {__u6_addr8 = "\000\000\000\000\000\000\000\000\000\00
0\377\377\000\000\000", __u6_addr16 = {0, 0, 0, 0, 0, 65535, 0, 0}, __u6_addr32 = {0, 0, 4294901760, 0}}}, static v4_noaddr
= {__in6_u = {__u6_addr8 = "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377", __u6_addr16 = {0, 0, 0, 0, 0,
 65535, 65535, 65535}, __u6_addr32 = {0, 0, 4294901760, 4294967295}}}, static v6_noaddr = {__in6_u = {__u6_addr8 = '\377' <r
epeats 16 times>, __u6_addr16 = {65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535}, __u6_addr32 = {4294967295, 4294967
295, 4294967295, 4294967295}}}}, opcode = 0 '\000', psize = 0, payload = '\000' <repeats 8191 times>}
        n = <optimized out>
        guess_size = <optimized out>
        __FUNCTION__ = "Recv"
#7 0x00005611332c9ece in main (argc=<optimized out>, argv=<optimized out>) at pinger.cc:223
        t = <optimized out>
        last_check_time = 1452317153
        icmp4_worker = 3
        icmp6_worker = 4
        squid_link = 1
        R = {fds_bits = {18, 0 <repeats 1023 times>}}
        x = <optimized out>
        max_fd = <optimized out>
        debug_args = <optimized out>
        __FUNCTION__ = "main"
        tv = {tv_sec = 9, tv_usec = 999998}
--- source code stack trace ---
#0 __strcmp_sse2 () at ../sysdeps/x86_64/multiarch/../strcmp.S:210
  [Error: ../sysdeps/x86_64/multiarch/../strcmp.S was not found in source tree]
#1 0x00007fcd7c2efef1 in __tzfile_compute (timer=1452317153, use_localtime=use_localtime@entry=1, leap_correct=leap_correct
@entry=0x7ffe054ea5b0, leap_hit=leap_hit@entry=0x7ffe054ea5a0, tp=tp@entry=0x7fcd7c5ffde0 <_tmbuf>) at tzfile.c:786
  [Error: tzfile.c was not found in source tree]
#2 0x00007fcd7c2eeac7 in __tz_convert (timer=0x7ffe054ea5f0, use_localtime=1, tp=0x7fcd7c5ffde0 <_tmbuf>) at tzset.c:635
  [Error: tzset.c was not found in source tree]
#3 0x00005611332cd8a3 in debugLogTime () at ../../src/debug.cc:537
  [Error: ../../src/debug.cc was not found in source tree]
#4 _db_print (format=format@entry=0x5611332d2869 "%s\n") at ../../src/debug.cc:123
  [Error: ../../src/debug.cc was not found in source tree]
#5 0x00005611332ce22b in Debug::finishDebug () at ../../src/debug.cc:760
  [Error: ../../src/debug.cc was not found in source tree]
#6 0x00005611332cb401 in IcmpPinger::Recv (this=0x5611334dc620 <control>) at IcmpPinger.cc:190
  185:
  186: memset(&pecho, '\0', sizeof(pecho));
  187: n = recv(socket_from_squid, &pecho, sizeof(pecho), 0);
  188:
  189: if (n < 0) {
  190: debugs(42, DBG_IMPORTANT, "Pinger exiting.");
  191: Close();
  192: exit(1);
  193: }
  194:
  195: if (0 == n) {
#7 0x00005611332c9ece in main (argc=<optimized out>, argv=<optimized out>) at pinger.cc:223
  218: control.Close();
  219: exit(1);
  220: }
  221:
  222: if (FD_ISSET(squid_link, &R)) {
  223: control.Recv();
  224: }
  225:
  226: if (icmp6_worker >= 0 && FD_ISSET(icmp6_worker, &R)) {
  227: icmp6.Recv();
  228: }

Tags: pinger squid3
Revision history for this message
Stephen Hill (steve-d-hill) wrote :
Revision history for this message
Amos Jeffries (yadi) wrote :

This is fixed in the squid package now available in Xenial.

Changed in squid3 (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.