re: Regression in syslog-ng with libglib2.0_0 f2.84.0-1 // GLib:ERROR:../glib/gmain.c:4292:g_main_context_check_unlocked: assertion failed: (i <= 0 || fds[i - 1].fd < fds[i].fd) [libglib2.0_0 2.88.3-1, syslog-ng 3.2.5-3
Jay Libove Alzina via Cygwin <[email protected]>
| Newsgroups | gmane.os.cygwin |
|---|---|
| Message-ID | <BN7PR13MB2482626D084675F4F81C16DDCBDB2@BN7PR13MB2482.namprd13.prod.outlook.com> |
Back a bit over a year ago, Sam Edge reported the below.
I've just added syslog-ng into a CygWin 64 installation on a Windows 11 Pro system on which I've otherwise run CygWin for years, but I'm getting a similar error, log output starting syslog-ng with -F (foreground) -d (debug), below.
Two things:
1. the blocking problem,
GLib:ERROR:../glib/gmain.c:4292:g_main_context_check_unlocked: assertion failed: (i <= 0 || fds[i - 1].fd < fds[i].fd)
Bail out! GLib:ERROR:../glib/gmain.c:4292:g_main_context_check_unlocked: assertion failed: (i <= 0 || fds[i - 1].fd < fds[i].fd)
$ cygcheck -c|grep libglib
libglib2.0_0 2.88.3-1 OK
# so, this is a much newer libglib2 than the one with which Sam reported the error, so much newer that I'm very hesitant (expecting dependency impossibilities) to even try load the older 2.64.6-1 which Sam found to work; and anyway, this much newer, I'd have expected/hoped the problem to have been fixed...)
1. The several "Attempted to register the same plugin multiple times, ignoring" errors.
This configuration was just installed; the config file created by syslog-ng-config, and edited only to add my network source, and a specific /var/log/messages-mycustomname destination:
The config file:
#############################################################################
# Based on the Default syslog-ng.conf file which would collect all local logs into a
# single file called /var/log/messages.
# Added (enabled) UDP 514 network listening.
# Added destination as /var/log/messages-MikroTiks for syslog() messages from my MikroTik routers.
#
@version: 3.2
@include "scl.conf"
source s_local {
system();
internal();
};
source s_network {
udp();
};
destination d_local {
file("/var/log/messages");
};
destination d_TikLogs {
file("/var/log/messages-MikroTiks");
};
log {
source(s_network);
destination(d_TikLogs);
};
log {
# We do not expect any locally generated syslog() messages, but ... ?
source(s_local);
destination(d_local);
};
The output when I start syslog-ng:
$ syslog-ng -F -d
Trying to open module; module='syslogformat', filename='/usr/lib/syslog-ng/cygsyslogformat.dll'
Trying to open module; module='basicfuncs', filename='/usr/lib/syslog-ng/cygbasicfuncs.dll'
Trying to open module; module='afsocket', filename='/usr/lib/syslog-ng/cygafsocket.dll'
Trying to open module; module='affile', filename='/usr/lib/syslog-ng/cygaffile.dll'
Trying to open module; module='afprog', filename='/usr/lib/syslog-ng/cygafprog.dll'
Trying to open module; module='afuser', filename='/usr/lib/syslog-ng/cygafuser.dll'
Trying to open module; module='dbparser', filename='/usr/lib/syslog-ng/cygdbparser.dll'
Trying to open module; module='csvparser', filename='/usr/lib/syslog-ng/cygcsvparser.dll'
Starting to read include file; filename='/etc/syslog-ng/scl.conf', depth='1'
Global value changed; define='scl-root', value='/usr/share/syslog-ng/include/scl'
Global value changed; define='include-path', value='/etc/syslog-ng:/usr/share/syslog-ng/include'
Starting to read include file; filename='/etc/syslog-ng/modules.conf', depth='2'
Global value changed; define='autoload-compiled-modules', value='0'
Attempted to register the same plugin multiple times, ignoring; context='format', name='syslog'
Attempted to register the same plugin multiple times, ignoring; context='template-func', name='echo'
Attempted to register the same plugin multiple times, ignoring; context='template-func', name='grep'
Attempted to register the same plugin multiple times, ignoring; context='template-func', name='if'
Attempted to register the same plugin multiple times, ignoring; context='source', name='unix-stream'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='unix-stream'
Attempted to register the same plugin multiple times, ignoring; context='source', name='unix-dgram'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='unix-dgram'
Attempted to register the same plugin multiple times, ignoring; context='source', name='tcp'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='tcp'
Attempted to register the same plugin multiple times, ignoring; context='source', name='tcp6'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='tcp6'
Attempted to register the same plugin multiple times, ignoring; context='source', name='udp'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='udp'
Attempted to register the same plugin multiple times, ignoring; context='source', name='udp6'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='udp6'
Attempted to register the same plugin multiple times, ignoring; context='source', name='syslog'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='syslog'
Attempted to register the same plugin multiple times, ignoring; context='source', name='file'
Attempted to register the same plugin multiple times, ignoring; context='source', name='pipe'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='file'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='pipe'
Attempted to register the same plugin multiple times, ignoring; context='source', name='program'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='program'
Attempted to register the same plugin multiple times, ignoring; context='destination', name='usertty'
Attempted to register the same plugin multiple times, ignoring; context='parser', name='db-parser'
Attempted to register the same plugin multiple times, ignoring; context='parser', name='csv-parser'
Finishing include; filename='/etc/syslog-ng/modules.conf', depth='2'
Starting to read include file; filename='/usr/share/syslog-ng/include/scl/system/plugin.conf', depth='2'
Trying to open module; module='confgen', filename='/usr/lib/syslog-ng/cygconfgen.dll'
Finishing include; filename='/usr/share/syslog-ng/include/scl/system/plugin.conf', depth='2'
Starting to read include file; filename='/usr/share/syslog-ng/include/scl/pacct/plugin.conf', depth='2'
Finishing include; filename='/usr/share/syslog-ng/include/scl/pacct/plugin.conf', depth='2'
Starting to read include file; filename='/usr/share/syslog-ng/include/scl/syslogconf/plugin.conf', depth='2'
Finishing include; filename='/usr/share/syslog-ng/include/scl/syslogconf/plugin.conf', depth='2'
Finishing include; filename='/etc/syslog-ng/scl.conf', depth='1'
Finishing include; content='source confgen system', depth='1'
Running application hooks; hook='1'
Running application hooks; hook='3'
syslog-ng starting up; version='3.2.5'
**
GLib:ERROR:../glib/gmain.c:4292:g_main_context_check_unlocked: assertion failed: (i <= 0 || fds[i - 1].fd < fds[i].fd)
Bail out! GLib:ERROR:../glib/gmain.c:4292:g_main_context_check_unlocked: assertion failed: (i <= 0 || fds[i - 1].fd < fds[i].fd)
Aborted
Is anyone successfully (I assume, many!) using syslog-ng 3.2.5 in CygWin with a recent libglib2 version (e.g. 2.80whatever)?
Has anyone (Sam?) more recently encountered and overcome (how?) this problem?
many thanks,
-Jay
Sam Edge [email protected]<mailto:sam.edge%40gmx.com?Subject=Re:%20Re%3A%20Regression%20in%20syslog-ng%20with%20libglib2.0_0%20f2.84.0-1&In-Reply-To=%3C2859d75f-e148-48ca-b8a3-4538c221e283%40gmx.com%3E> wrote:
Fri Mar 28 11:20:51 GMT 2025
* Previous message (by thread): Regression in syslog-ng?<https://cygwin.com/pipermail/cygwin/2025-March/257748.html>
* Next message (by thread): sshd times out and disconnects client<https://cygwin.com/pipermail/cygwin/2025-March/257754.html>
* Messages sorted by: [ date ]<https://cygwin.com/pipermail/cygwin/2025-March/date.html#257749> [ thread ]<https://cygwin.com/pipermail/cygwin/2025-March/thread.html#257749> [ subject ]<https://cygwin.com/pipermail/cygwin/2025-March/subject.html#257749> [ author ]<https://cygwin.com/pipermail/cygwin/2025-March/author.html#257749>
________________________________
On 28/03/2025 11:00, Sam Edge via Cygwin wrote:
>
> I've had a weird regression with syslog-ng recently. Dunno if it's
> related to a new release of the Cygwin DLL because I've only just
> spotted it.
>
> When I try to start syslog-ng as a service recently it fails to load
> with the following in /var/log/syslog-ng.log.
>
> cat /var/log/syslog-ng.log
> **
> GLib:ERROR:../glib/gmain.c:4090:g_main_context_check_unlocked: assertion
> failed: (i <= 0 || fds[i - 1].fd < fds[i].fd)
> Bail out! GLib:ERROR:../glib/gmain.c:4090:g_main_context_check_unlocked:
> assertion failed: (i <= 0 || fds[i - 1].fd < fds[i].fd)
>
> I've attached my cygcheck and the contents of /etc/syslog-ng.
>
> Any ideas?
>
> The failing machine is running Windows 11 Pro I'm using the UDP output
> of syslog-ng to generate warning emails when successful sshd/http logins
> occur from public IP addresses on the heavily armoured syslog server so
> I'm loathe to do it but I'll try upgrading the Cygwin DLL on another
> non-critical but Windows 10 machine to see how that goes.
Okay, a bit more info.
I've just upgraded my Cygwin installation on a Windows 10 machine & it
too is now exhibiting the fault.
Attached are the pre- & post-upgrade cygchecks. Doing a diff it appears
that libglib2.0_0 has also been upgraded, amongst other things, so maybe
that's the source of the new error.
Ah-ha! If I downgrade libglib2.0_0 from 2.84.0-1 back to 2.64.6-1 the
problem goes away.