[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