collectd crashes in libcurl

Bug #811345 reported by Ycros
12
This bug affects 2 people
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/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = <value optimised out>
        selftid = 19845
#1 0x00007ff9c00f0ab6 in abort () at abort.c:92
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x200000009, sa_sigaction = 0x200000009}, sa_mask = {__val = {140734211050808, 140734211059539, 8, 140710646958980, 3, 140734211050802,
              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/unix/sysv/linux/libc_fatal.c:189
        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/unix/sysv/linux/x86_64/____longjmp_chk.S:86
No locals.
#5 0x00007ff9c01b70d3 in __longjmp_chk (env=0x7ff9bfcb1940, val=<value optimised out>) at ../setjmp/longjmp.c:40
No locals.
#6 0x00007ff9bfa69b45 in alarmfunc () from /usr/lib/libcurl-gnutls.so.4
No symbol table info available.
#7 <signal handler called>
No symbol table info available.
#8 0x00007ff9c086a4bd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
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
        sig_int_action = {__sigaction_handler = {sa_handler = 0x4053e0 <sig_int_handler>, sa_sigaction = 0x4053e0 <sig_int_handler>}, sa_mask = {__val = {0 <repeats 16 times>}},
          sa_flags = 0, sa_restorer = 0}
        sig_term_action = {__sigaction_handler = {sa_handler = 0x4053f0 <sig_term_handler>, sa_sigaction = 0x4053f0 <sig_term_handler>}, sa_mask = {__val = {0 <repeats 16 times>}},
          sa_flags = 0, sa_restorer = 0}
        sig_usr1_action = {__sigaction_handler = {sa_handler = 0x405420 <sig_usr1_handler>, sa_sigaction = 0x405420 <sig_usr1_handler>}, sa_mask = {__val = {0 <repeats 16 times>}},
          sa_flags = 0, sa_restorer = 0}
        sig_pipe_action = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0}
        configfile = <value optimised out>
        test_config = <value optimised out>
        test_readall = 0
        basedir = <value optimised out>
        sig_chld_action = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0}
        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://bugs.launchpad.net/ubuntu/+source/curl/+bug/613274
---
Architecture: amd64
DistroRelease: Ubuntu 11.04
InstallationMedia: Ubuntu-Server 11.04 "Natty Narwhal" - Release amd64 (20110426)
Package: collectd 4.10.1-2.1ubuntu1
PackageArchitecture: amd64
ProcEnviron:
 LANGUAGE=en_AU:en
 LC_CTYPE=en_US.UTF-8
 PATH=(custom, no user)
 LANG=en_AU.UTF-8
 SHELL=/bin/zsh
ProcVersionSignature: Ubuntu 2.6.38-8.42-server 2.6.38.2
Tags: natty
Uname: Linux 2.6.38-8-server x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

Revision history for this message
Ycros (ycros) wrote :
tags: added: apport-collected natty
description: updated
Revision history for this message
Ycros (ycros) wrote : Dependencies.txt

apport information

Revision history for this message
Robert Brooks (robert-brooks) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in collectd (Ubuntu):
status: New → Confirmed
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.