This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Crash in g_file_monitor on 32-bit Cygwin

This is a followup to, from which I extracted the following test case:

$ cat gfile-test.c
#include <stdio.h>
#include <gio/gio.h>

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);
    printf ("Watching file %s\n", file);

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.


Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]