This is a followup to https://cygwin.com/ml/cygwin/2014-06/msg00324.html, from which I extracted the following test case:
$ cat gfile-test.c #include <stdio.h> #include <gio/gio.h> void gfile_add_watch (const char *file) { GFile *gfile = g_file_new_for_path (file); GFileMonitor *monitor; GFileMonitorFlags gflags = G_FILE_MONITOR_NONE; monitor = g_file_monitor (gfile, gflags, NULL, NULL); if (! monitor) printf ("Can't watch file %s\n", file); else printf ("Watching file %s\n", file); } int main () { const char *file = "gfile-test.c"; gfile_add_watch (file); } $ gcc -g -O0 -o gfile-test $(pkg-config --cflags gio-2.0) gfile-test.c $(pkg-config --libs gio-2.0) In the 64-bit case, this behaves as expected: $ ./gfile-test.exe Watching file gfile-test.c In the 32-bit case, however, it crashes. Running it under gdb shows that the call to g_file_monitor leads to a SEGV, but I can't tell exactly where; when I try to single step through the Glib code, I eventually hit an assertion violation in gdb. strace shows lots of exceptions, but I can't make much sense out of it otherwise. Ken -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple