[syslog-ng] An interesting assert in 3.3.1

Gergely Nagy algernon at balabit.hu
Tue Oct 11 17:25:53 CEST 2011


A while ago I noticed that my syslog-ng 3.3 segfaults every time I boot
up my desktop machine at home (but then it gets restarted by the
supervisor), and once its booted up, I can't reproduce the problem
anymore.

I assume it has something to do with the system being in a reasonably
early state, or the load being particularly high.

While I didn't have time to debug it further, I'd like to record the
current state of investigation here:

Core was generated by `/usr/sbin/syslog-ng -p /var/run/syslog-ng.pid --enable-core'.
Program terminated with signal 6, Aborted.
#0  0x00007fd927cc6405 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
        in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0  0x00007fd927cc6405 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007fd927cc9680 in *__GI_abort () at abort.c:92
#2  0x00007fd928ae6e31 in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x7fd929609dc0 "log_writer_work_perform", 
    message=0x7fd920007a60 "assertion failed: ((self->super.flags & PIF_INITIALIZED) != 0)") at /tmp/buildd/glib2.0-2.28.6/./glib/gtestutils.c:1358
#3  0x00007fd928ae73d0 in g_assertion_message_expr (domain=0x0, file=0x7fd929609acb "../../../lib/logwriter.c", line=128, func=0x7fd929609dc0 "log_writer_work_perform", expr=<optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gtestutils.c:1369
#4  0x00007fd9295d3570 in log_writer_work_perform (s=0x1d68080) at ../../../lib/logwriter.c:128
#5  0x00007fd9295d3897 in log_writer_io_flush_output (s=0x1d68080) at ../../../lib/logwriter.c:198
#6  0x00007fd9295ff986 in iv_run_active_list (active=0x7fff3da27700) at ../../../../../lib/ivykis/lib/iv_main.c:226
#7  0x00007fd9295ffb0d in iv_main () at ../../../../../lib/ivykis/lib/iv_main.c:269
#8  0x00007fd9295d8082 in main_loop_run () at ../../../lib/mainloop.c:722
#9  0x0000000000401a22 in main (argc=1, argv=0x7fff3da27878) at ../../../syslog-ng/main.c:260
(gdb)

The particular writer is a program destination (sshguard), and at that
point, it's probably not running yet. (For the record, I don't have
threaded(yes) in my config at the moment).

I'll look into this further, as time permits.

-- 
|8]



More information about the syslog-ng mailing list