collectd crashes in libcurl
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
collectd (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
collectd is crashing regularly, with this message in syslog:
collectdmon[1551]: Warning: collectd was terminated by signal 6
I turned on core dumping, and this is the backtrace I got:
#0 0x00007ff9c00ecd05 in raise (sig=6) at ../nptl/
resultvar = 0
pid = <value optimised out>
selftid = 19845
#1 0x00007ff9c00f0ab6 in abort () at abort.c:92
save_stage = 2
act = {__sigaction_
6, 140710646958984, 2, 140734211050790, 2, 140710646949973, 1, 140710646958980, 3, 140734211050796}}, sa_flags = 12, sa_restorer = 0x7ff9c020cb88}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007ff9c0125d7b in __libc_message (do_abort=2, fmt=0x7ff9c020cb23 "*** %s ***: %s terminated\n") at ../sysdeps/
ap = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff3ca85628, reg_save_area = 0x7fff3ca85538}}
ap_copy = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fff3ca85628, reg_save_area = 0x7fff3ca85538}}
fd = 2
on_2 = <value optimised out>
list = <value optimised out>
nlist = <value optimised out>
cp = <value optimised out>
written = <value optimised out>
#3 0x00007ff9c01b71d7 in __fortify_fail (msg=0x7ff9c020cae2 "longjmp causes uninitialized stack frame") at fortify_fail.c:32
No locals.
#4 0x00007ff9c01b7169 in ____longjmp_chk () at ../sysdeps/
No locals.
#5 0x00007ff9c01b70d3 in __longjmp_chk (env=0x7ff9bfcb
No locals.
#6 0x00007ff9bfa69b45 in alarmfunc () from /usr/lib/
No symbol table info available.
#7 <signal handler called>
No symbol table info available.
#8 0x00007ff9c086a4bd in nanosleep () at ../sysdeps/
No locals.
#9 0x0000000000405d2e in do_loop (argc=<value optimised out>, argv=<value optimised out>) at collectd.c:358
tv_now = {tv_sec = 1310775820, tv_usec = 614248}
tv_next = {tv_sec = 1310775830, tv_usec = 614104}
tv_wait = {tv_sec = 9, tv_usec = 999856}
ts_wait = {tv_sec = 9, tv_nsec = 65739785}
#10 main (argc=<value optimised out>, argv=<value optimised out>) at collectd.c:618
sa_flags = 0, sa_restorer = 0}
sa_flags = 0, sa_restorer = 0}
sa_flags = 0, sa_restorer = 0}
configfile = <value optimised out>
test_config = <value optimised out>
basedir = <value optimised out>
pid = <value optimised out>
daemonize = 0
exit_status = 0
After a bit of digging, it seems that libcurl uses signals to handle timeouts when resolving dns names which can trigger exactly this sort of bug. The recommended solution seems to be to enable c-ares support in libcurl; however, see https:/
---
Architecture: amd64
DistroRelease: Ubuntu 11.04
InstallationMedia: Ubuntu-Server 11.04 "Natty Narwhal" - Release amd64 (20110426)
Package: collectd 4.10.1-2.1ubuntu1
PackageArchitec
ProcEnviron:
LANGUAGE=en_AU:en
LC_CTYPE=
PATH=(custom, no user)
LANG=en_AU.UTF-8
SHELL=/bin/zsh
ProcVersionSign
Tags: natty
Uname: Linux 2.6.38-8-server x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:
apport information