[syslog-ng]io.c:263: failed assertion `i == nfds'

Doug Winter dwinter@icpeurope.net
Mon, 24 Jun 2002 11:37:17 +0100


--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi syslog-ng people,

I've just installed syslog-ng 1.4.15, using libol 0.2.23 as directed in
the INSTALL instructions.

I am running it on a:

    SunOS 5.7 Generic_106541-11 sun4u sparc SUNW,Ultra-250

When I run syslog-ng with the attached configuration file, it runs for a
short period (< 10 minutes) and exits.  When it exits, I get this
message in one of the output files:

    syslog:io.c:263: failed assertion `i == nfds'

which file it appears in varies, which is presumably down to a file
descriptor mixup.

line 263 of io.c in libol is indeed:

                assert(i == nfds);

When I run syslog-ng in debugging mode (with the -d -v switches), this
problem does not occur (I have run for two days without the fault).  I
assume this is because in debugging mode fds 0,1 & 2 are kept open,
whereas they are closed when syslog-ng becomes a daemon (note many
assumptions :).

I have tried to find reference to this problem on the web without
success - the archives of this list aren't searchable as far as I can
find, so apologies if this is a known and fixed problem.

Many Thanks,

Doug Winter

-- 
020 79610341 / 07879 423002 / dwinter@icpeurope.net
3 Waterhouse Square, Holborn Bars, 142 Holborn, London EC1N 2NX
www.businesseurope.com   www.icpeurope.net   www.venturedome.com
1024D/1AB26B8C C88E DC6D A578 DEFB C493  A44D 0156 0479 1AB2 6B8C


--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="syslog-ng.conf"

# syslog-ng configuration
# doug winter 21/6/2002

options {
	keep_hostname(no);
};

# source messages from syslog-ng itself
source local {
	internal();
};

# source messages from Sun's STREAMS driver and door
source logdev {
	sun-streams("/dev/log" 
		door("/etc/.syslog_door"));
};

# split into one file per facility per day
destination split {
	file("/var/log.bydate/$YEAR-$MONTH-$DAY/$FACILITY"
		owner(root)
		group(root)
		perm(0600)
		dir_perm(0755)
		create_dirs(yes));
};

destination messages {
	file("/var/log.bydate/$YEAR-$MONTH-$DAY/messages"
		owner(root)
		group(root)
		perm(0644)
		dir_perm(0755)
		create_dirs(yes));
};

filter lpr_debug {
	facility(lpr) and priority(debug);
};

filter kern_debug {
	facility(kern) and priority(debug);
};

filter not_lpr_debug {
	not filter(lpr_debug);
};

filter important {
	priority(err) or
	priority(notice) or
	priority(crit) or
	filter(kern_debug);
};

# put it all together
log {
	source(local);
	source(logdev);
	filter(not_lpr_debug);
	destination(split);
};

log {
	source(logdev);
	filter(important);
	destination(messages);
};


--2fHTh5uZTiUOsy+g--