[syslog-ng] syslog-n 1.6.8 crash and backtrace on FreeBSD 4.10
Steve Shorter
steve at nomad.lets.net
Wed Jun 15 21:08:33 CEST 2005
Howdy!
I want to setup syslog-ng on a large server farm and
set up a test system on FreeBSD 4.10. The syslog-ng package from
the ports collection would crash... so I got the latest
sources of libio and syslog-ng and built it. It still
crashes and dumps core. Here is a backtrace.
Script started on Wed Jun 15 12:26:12 2005
bash-2.05b# gdb -c syslog-ng.core /usr/local/sbin/syslog-ng
[cut out the GNU preamble]
Core was generated by `syslog-ng'.
Program terminated with signal 6, Abort trap.
Reading symbols from /usr/lib/libc.so.4...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0 0x480b2fc4 in kill () from /usr/lib/libc.so.4
(gdb) bt
#0 0x480b2fc4 in kill () from /usr/lib/libc.so.4
#1 0x480f493e in abort () from /usr/lib/libc.so.4
#2 0x480d08d3 in __assert () from /usr/lib/libc.so.4
#3 0x80540be in io_iter (b=0x8062000) at io.c:283
#4 0x8049e5f in main_loop (backend=0x8062000) at main.c:256
#5 0x804a557 in main (argc=4, argv=0xbfbffc24) at main.c:549
(gdb) quit
bash-2.05b# exit
Script done on Wed Jun 15 12:26:40 2005
Looks like the libio call io_iter does an assert() in line 283
and it kills/abort's the process
Any more info required? I can test patches if you like.
Ideas?
thanx - steve
The config file is simple like this
#
# options
#
options {
# gc_idle_threshold();
# gc_busy_threshold();
log_fifo_size(1000);
long_hostnames(off);
use_dns(yes);
dns_cache(yes);
dns_cache_size(1000);
sync(0);
};
#
# sources
#
source src {
unix-dgram("/var/run/log");
udp(ip(0.0.0.0.) port(515));
tcp(ip(10.1.3.4) port(515) max-connections(30));
internal();
# file("/dev/klog");
};
#
# destinations
#
destination d_logfiles {
file("/var/syslog-ng/$HOST/$FACILITY"
template("$DATE <$FACILITY.$LEVEL>: $MSG\n")
template_escape(no)
remove_if_older(86400)
create_dirs(yes)
);
};
destination d_console { file("/dev/console"); };
destination d_root { usertty("root"); };
#
# log facility filters
#
#filter f_user { facility(user); };
#
# log level filters
#
filter f_emerg { level(emerg); };
#
# program filters
#
#filter f_ppp { program("ppp"); };
log { source(src); destination(d_logfiles); };
log { source(src); filter(f_emerg); destination(d_root); };
More information about the syslog-ng
mailing list