delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/06/25/22:17:57

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:mime-version:to:subject
:content-type:content-transfer-encoding; q=dns; s=default; b=sFc
GPYsp0RiGcTvY/S3/qGc+dY0lBnWWTDpD2C504XDK1rkhCU8IrUwwmrsGPUELZi5
JIP66oRM25x5eCRM/RCXkiZBR8+GSTzikDhZXo2KTE2GRUYCkNr2paNoPx0jNILW
BZK09Yv1T6fz864t4wYhyGdXioC2i39jzZ8f1W7U=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:mime-version:to:subject
:content-type:content-transfer-encoding; s=default; bh=ts8n8FlAc
LfjbnynOj40dHVk4Bo=; b=CheFfoyHXn6rVXy+1tBkE/+tZqg1bjM9fBv1mZRHh
0Y/31FeDee/HG299VFlws7zYoBgvGyf+G1uK1Tgl5Ft0x+aJUVxwXC5hsnQA4MIl
0OQh7Pcx2v0xiOH6BYMZKTd2fhEDQRblTmts0U9YLgI/Ze+oJiJW4EEAEuM5eiDH
Os=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2
X-HELO: limerock01.mail.cornell.edu
X-CornellRouted: This message has been Routed already.
Message-ID: <53AB82AB.5000304@cornell.edu>
Date: Wed, 25 Jun 2014 22:17:15 -0400
From: Ken Brown <kbrown AT cornell DOT edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: cygwin <cygwin AT cygwin DOT com>
Subject: Crash in g_file_monitor on 32-bit Cygwin
X-IsSubscribed: yes

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019