pinger crash every night in IcmpPinger::Recv
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
squid3 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Using sudo apport-retrace -R -s -S system /var/crash/
dpkg-source: info: extracting squid3 in squid3-3.3.8
dpkg-source: info: unpacking squid3_
dpkg-source: info: unpacking squid3_
dpkg-source: info: applying 01-cf.data.
dpkg-source: info: applying 02-makefile-
dpkg-source: info: applying 15-cachemgr-
dpkg-source: info: applying 16-ipc-
dpkg-source: info: applying 90-cf.data.
dpkg-source: info: applying 99-ubuntu-
dpkg-source: info: applying fix-pod2man-
dpkg-source: info: applying fix-distributio
dpkg-source: info: applying CVE-2014-3609.patch
dpkg-source: info: applying fix-icmp-
dpkg-source: info: applying fix-caching-
Installing extra package squid3 to get ExecutablePath
--- stack trace ---
#0 __strcmp_sse2 () at ../sysdeps/
No locals.
#1 0x00007fcd7c2efef1 in __tzfile_compute (timer=1452317153, use_localtime=
@entry=
info = 0x561133638b20
i = <optimized out>
#2 0x00007fcd7c2eeac7 in __tz_convert (timer=
#3 0x00005611332cd8a3 in debugLogTime () at ../../src/
t = 1452317153
tm = <optimized out>
buf = "2016/01/08 23:10:14", '\000' <repeats 108 times>
last_t = 1452294614
#4 _db_print (format=
f = "\000'-
6\177\000\
00\000\
4| %s\n\000\
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/
No locals.
#6 0x00005611332cb401 in IcmpPinger::Recv (this=0x5611334
_dbo = @0x561133638d10: {<std::
cd7cb012e0 <vtable for std::basic_
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)
S_global = 0x7fcd7cb19de0 <(anonymous namespace)
_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_
std::char_
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\
dr32 = {0, 0, 4294901760, 16777343}}}, static v4_anyaddr = {__in6_u = {__u6_addr8 = "\000\000\
0\377\377\
= {__in6_u = {__u6_addr8 = "\000\000\
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>
#7 0x00005611332c9ece in main (argc=<optimized out>, argv=<optimized out>) at pinger.cc:223
t = <optimized out>
squid_link = 1
R = {fds_bits = {18, 0 <repeats 1023 times>}}
x = <optimized out>
max_fd = <optimized out>
debug_args = <optimized out>
tv = {tv_sec = 9, tv_usec = 999998}
--- source code stack trace ---
#0 __strcmp_sse2 () at ../sysdeps/
[Error: ../sysdeps/
#1 0x00007fcd7c2efef1 in __tzfile_compute (timer=1452317153, use_localtime=
@entry=
[Error: tzfile.c was not found in source tree]
#2 0x00007fcd7c2eeac7 in __tz_convert (timer=
[Error: tzset.c was not found in source tree]
#3 0x00005611332cd8a3 in debugLogTime () at ../../src/
[Error: ../../src/debug.cc was not found in source tree]
#4 _db_print (format=
[Error: ../../src/debug.cc was not found in source tree]
#5 0x00005611332ce22b in Debug::finishDebug () at ../../src/
[Error: ../../src/debug.cc was not found in source tree]
#6 0x00005611332cb401 in IcmpPinger::Recv (this=0x5611334
185:
186: memset(&pecho, '\0', sizeof(pecho));
187: n = recv(socket_
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(
223: control.Recv();
224: }
225:
226: if (icmp6_worker >= 0 && FD_ISSET(
227: icmp6.Recv();
228: }
This is fixed in the squid package now available in Xenial.