[syslog-ng] An interesting assert in 3.3.1

Gergely Nagy algernon at balabit.hu
Thu Dec 1 14:59:38 CET 2011


Gergely Nagy <algernon at balabit.hu> writes:

> 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 haven't been able to reproduce the assert for some time now, so I
assume it was fixed as a side effect by one of the fixes that went in
since the time I started seeing it.

> 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 did switch to threaded(yes), and poked at my startup scripts, so that
the load is a lot smaller during boot. That might have fixed it too.

I'll try to reproduce it on a running system as time permits, and see if
it is related to any of the program() bugs reported against 3.3.

-- 
|8]



More information about the syslog-ng mailing list