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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.