From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Fabrice Popineau Newsgroups: gmane.emacs.bugs Subject: bug#22534: File notify broken on Windows Date: Wed, 3 Feb 2016 00:36:22 +0100 Message-ID: References: <83h9hrytom.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=089e013a0996400e00052ad1f916 X-Trace: ger.gmane.org 1454456249 25284 80.91.229.3 (2 Feb 2016 23:37:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 2 Feb 2016 23:37:29 +0000 (UTC) Cc: 22534@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Feb 03 00:37:18 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aQkVS-0007ja-Qe for geb-bug-gnu-emacs@m.gmane.org; Wed, 03 Feb 2016 00:37:11 +0100 Original-Received: from localhost ([::1]:59951 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQkVS-00061v-4w for geb-bug-gnu-emacs@m.gmane.org; Tue, 02 Feb 2016 18:37:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36835) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQkVN-00061f-Ik for bug-gnu-emacs@gnu.org; Tue, 02 Feb 2016 18:37:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQkVK-0007NE-9R for bug-gnu-emacs@gnu.org; Tue, 02 Feb 2016 18:37:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48661) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQkVK-0007NA-6T for bug-gnu-emacs@gnu.org; Tue, 02 Feb 2016 18:37:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aQkVK-000093-2E for bug-gnu-emacs@gnu.org; Tue, 02 Feb 2016 18:37:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Fabrice Popineau Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 02 Feb 2016 23:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22534 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22534-submit@debbugs.gnu.org id=B22534.1454456209539 (code B ref 22534); Tue, 02 Feb 2016 23:37:02 +0000 Original-Received: (at 22534) by debbugs.gnu.org; 2 Feb 2016 23:36:49 +0000 Original-Received: from localhost ([127.0.0.1]:57250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aQkV7-00008d-1W for submit@debbugs.gnu.org; Tue, 02 Feb 2016 18:36:49 -0500 Original-Received: from mail-ob0-f177.google.com ([209.85.214.177]:34509) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aQkV5-00008Q-BW for 22534@debbugs.gnu.org; Tue, 02 Feb 2016 18:36:47 -0500 Original-Received: by mail-ob0-f177.google.com with SMTP id wb13so6413980obb.1 for <22534@debbugs.gnu.org>; Tue, 02 Feb 2016 15:36:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=2aOHGVKHq3L8ZGY0vkaNPIh/S4Xsb6xZjK+rAnqzzJQ=; b=wfb+s3zEUqUMeAYff60Cg0O3JxBJ1U8omEKNIVr63EpENRze9jh0QC0YA0ma+au4s2 8n6jXGkdL76KhrHYJsgoRKfC2EVmPXmTFhJdQGy8oSldsibsV2TRhJfEGpqq1f+ZuV5O CyC9uZQvUhXnV1svgwRj6D7ogGOgH4hoPZrIpwzHElN7nIjHN/DkiPUANFAwhPu2xu6I gVNotrQOAQwNS+chDdKPw0v2eRlBoa+cc38aORryAlM8iZGrp4lTR7Z8pf1NCjOQ125c L/0T/N48x3oyChSeLi2hk6kw9eTjcf8ft3mbLTqEVNcA2Yi0CPGUvtcf/sGOKmmAEXA4 QKIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=2aOHGVKHq3L8ZGY0vkaNPIh/S4Xsb6xZjK+rAnqzzJQ=; b=Z9uZm9bY06/D+j9y1RilNHYIH2qZxGHpXmJ5z2jsRfc/oqaTbrh5YxmtUCQegOb/ia elNPf+vxt3YjVlm43aH7TWctB3jXSRZBRxRmOn6K8E0tN50EOpRsn+3RgWQ49WiNmbWb FaXGkHmZNp9Qeaor5VQ5TyD638IlWDcP3tSK3mI9C27GCI+OsROYVdrmA1In3IjHeXGU nMrHBzeUb+lIwoLBTXH6eRp+adR3KZUJS6r66iz79mt85cY2Ct+j0blLMkG6JEhuF8lL C9BKBjIBTFVW/MevwCrMBwWcUDKSuf0r4MAz4MyLJ9CYscvTTJT+ZMOaf350JHSC9by0 lVIA== X-Gm-Message-State: AG10YOQ2gYJluxFS8h6p5cYB0GxioA72IJTMtcSLrGV29AU0+MC0Hno6WW51ETaka8jlqbOriKyWZoj6CbgJ1Q== X-Received: by 10.182.153.10 with SMTP id vc10mr2201101obb.10.1454456201807; Tue, 02 Feb 2016 15:36:41 -0800 (PST) Original-Received: by 10.202.78.67 with HTTP; Tue, 2 Feb 2016 15:36:22 -0800 (PST) In-Reply-To: <83h9hrytom.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:112306 Archived-At: --089e013a0996400e00052ad1f916 Content-Type: text/plain; charset=UTF-8 You will find the commit below (with not too much surprise). However, I don't have much time these days to sort this out. Fabrice $ git bisect good 7bf54d01159eb09bae3c9cd86f2af0812d9afdf6 is the first bad commit commit 7bf54d01159eb09bae3c9cd86f2af0812d9afdf6 Author: Michael Albinus Date: Fri Jan 22 19:56:09 2016 +0100 Backport kqueue integration from master * configure.ac (--with-file-notification): Add kqueue. (top): Remove special test for "${HAVE_NS}" and ${with_file_notification}, this is handled inside gfilenotify tests. Add kqueue tests. Use NOTIFY_CFLAGS and NOTIFY_LIBS instead of library specific variables. Add error message for gfile on Nextstep. * doc/lispref/os.texi (File Notifications): Add kqueue as backend. Fix some glitches in the example. * etc/NEWS: Mention kqueue. * lisp/filenotify.el (file-notify--library) (file-notify-descriptors, file-notify-callback) (file-notify-add-watch, file-notify-rm-watch) (file-notify-valid-p): Add kqueue support. (file-notify--rm-descriptor): Remove WHAT arg. * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS. * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue. * src/inotify.c (inotifyevent_to_event): Extract file name from watch_object if the event doesn't provide it. (Finotify_add_watch): Add file name to watch_object. * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE. * src/kqueue.c: New file. * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue. * test/automated/file-notify-tests.el (file-notify--test-expected-events): Remove. (file-notify--test-cleanup): Do not set that variable. (file-notify--test-timeout) Use different timeouts for different libraries. (file-notify--test-library): New defun. (file-notify--test-event-test): Make stronger checks. (file-notify--test-with-events): EVENTS can also be a list of lists. Flush outstanding events before running the body. Make timeout heuristically depend on the number of events. (file-notify-test01-add-watch, file-notify-test02-events) (file-notify-test04-file-validity, file-notify-test05-dir-validity): Rewrite in order to call file monitors but directory monitors. (file-notify-test02-events, file-notify-test04-file-validity): Do not skip cygwin tests. Add additional test for file creation. Adapt expected result for different backends. (file-notify-test03-autorevert): Some of the tests don't work for w32notify. (file-notify-test06-many-events): New test. :100644 100644 b5e6b77c713ca7fa82c7c23652170dff3c5adfd5 76193fae6dd61d4448b3a304d3a0e4978afb810e M configure.ac :040000 040000 6b5e2cfa75a456e6f4d43e183976d6e8ece21462 41f9bd9c7893cbdccf22e97d7ddc3500c4443d5c M doc :040000 040000 98523d83bfa75e0401f7a1049548c4f94ddb6b0d 4a87e49af135328911e0b31099f0e9d0f4f13aaf M etc :040000 040000 96c8883a122a08fe59a772611eff59a8330a37c1 8e04830234a1d3e8af4fd37ceb3eb9c4503718c3 M lisp :040000 040000 ebdfee938f44d5d2818a29bd07f795521a3583ee 53a01fd613d99e20cb563ab8418ec2776c146f09 M src :040000 040000 9d27cfce0b9d77d43b2180ecd95451469309da92 71329cdc731a284e563265a90876cbf8ea94305b M test 2016-02-02 17:15 GMT+01:00 Eli Zaretskii : > > From: Fabrice Popineau > > Date: Tue, 2 Feb 2016 07:23:43 +0100 > > > > When I run 'make check', the process is stuck on filenotify tests. > > If I try to run the tests interactively, I have to hit 'Ctrl-g'. > > Emacs waits forever on the first test. > > Can you bisect to find the commit which broke this? > > Thanks. > --089e013a0996400e00052ad1f916 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
You will find the commit below (with not too much surprise= ).
However, I don't have much time these days to sort this out.

Fabrice

$ git bisect good=
7bf54d01159eb09bae3c9cd86f2af0812d9afdf6 is the first bad commit=
commit 7bf54d01159eb09bae3c9cd86f2af0812d9afdf6
Author= : Michael Albinus <michael.alb= inus@gmx.de>
Date: =C2=A0 Fri Jan 22 19:56:09 2016 +0100

=C2=A0 =C2=A0 Backport kqueue integration from mast= er

=C2=A0 =C2=A0 * configure.ac (--with-file-notification): Add kqueue.
=C2=A0 = =C2=A0 (top): Remove special test for "${HAVE_NS}" and
= =C2=A0 =C2=A0 ${with_file_notification}, this is handled inside gfilenotify=
=C2=A0 =C2=A0 tests.=C2=A0 Add kqueue tests.=C2=A0 Use NOTIFY_CF= LAGS and NOTIFY_LIBS
=C2=A0 =C2=A0 instead of library specific va= riables.=C2=A0 Add error message for
=C2=A0 =C2=A0 gfile on Nexts= tep.

=C2=A0 =C2=A0 * doc/lispref/os.texi (File Not= ifications): Add kqueue as backend.
=C2=A0 =C2=A0 Fix some glitch= es in the example.

=C2=A0 =C2=A0 * etc/NEWS: Menti= on kqueue.

=C2=A0 =C2=A0 * lisp/filenotify.el (fil= e-notify--library)
=C2=A0 =C2=A0 (file-notify-descriptors, file-n= otify-callback)
=C2=A0 =C2=A0 (file-notify-add-watch, file-notify= -rm-watch)
=C2=A0 =C2=A0 (file-notify-valid-p): Add kqueue suppor= t.
=C2=A0 =C2=A0 (file-notify--rm-descriptor): Remove WHAT arg.

=C2=A0 =C2=A0 * src/Makefile.in: Use NOTIFY_CFLAGS = and NOTIFY_LIBS.

=C2=A0 =C2=A0 * src/emacs.c (main= ): Call globals_of_kqueue and syms_of_kqueue.

=C2= =A0 =C2=A0 * src/inotify.c (inotifyevent_to_event): Extract file name from<= /div>
=C2=A0 =C2=A0 watch_object if the event doesn't provide it.
=C2=A0 =C2=A0 (Finotify_add_watch): Add file name to watch_object.=

=C2=A0 =C2=A0 * src/keyboard.c (make_lispy_event)= : Check also for HAVE_KQUEUE.

=C2=A0 =C2=A0 * src/= kqueue.c: New file.

=C2=A0 =C2=A0 * src/lisp.h: De= clare extern globals_of_kqueue and syms_of_kqueue.

=C2=A0 =C2=A0 * test/automated/file-notify-tests.el
=C2=A0 =C2= =A0 (file-notify--test-expected-events): Remove.
=C2=A0 =C2=A0 (f= ile-notify--test-cleanup): Do not set that variable.
=C2=A0 =C2= =A0 (file-notify--test-timeout) Use different timeouts for
=C2=A0= =C2=A0 different libraries.
=C2=A0 =C2=A0 (file-notify--test-lib= rary): New defun.
=C2=A0 =C2=A0 (file-notify--test-event-test): M= ake stronger checks.
=C2=A0 =C2=A0 (file-notify--test-with-events= ): EVENTS can also be a list of
=C2=A0 =C2=A0 lists.=C2=A0 Flush = outstanding events before running the body.
=C2=A0 =C2=A0 Make ti= meout heuristically depend on the number of events.
=C2=A0 =C2=A0= (file-notify-test01-add-watch, file-notify-test02-events)
=C2=A0= =C2=A0 (file-notify-test04-file-validity, file-notify-test05-dir-validity)= :
=C2=A0 =C2=A0 Rewrite in order to call file monitors but direct= ory monitors.
=C2=A0 =C2=A0 (file-notify-test02-events, file-noti= fy-test04-file-validity): Do
=C2=A0 =C2=A0 not skip cygwin tests.= =C2=A0 Add additional test for file creation.
=C2=A0 =C2=A0 Adapt= expected result for different backends.
=C2=A0 =C2=A0 (file-noti= fy-test03-autorevert): Some of the tests don't work for
=C2= =A0 =C2=A0 w32notify.
=C2=A0 =C2=A0 (file-notify-test06-many-even= ts): New test.

:100644 100644 b5e6b77c713ca7fa82c7= c23652170dff3c5adfd5 76193fae6dd61d4448b3a304d3a0e4978afb810e M =C2=A0 =C2= =A0 =C2=A0configure.ac
:04000= 0 040000 6b5e2cfa75a456e6f4d43e183976d6e8ece21462 41f9bd9c7893cbdccf22e97d7= ddc3500c4443d5c M =C2=A0 =C2=A0 =C2=A0doc
:040000 040000 98523d83= bfa75e0401f7a1049548c4f94ddb6b0d 4a87e49af135328911e0b31099f0e9d0f4f13aaf M= =C2=A0 =C2=A0 =C2=A0etc
:040000 040000 96c8883a122a08fe59a772611= eff59a8330a37c1 8e04830234a1d3e8af4fd37ceb3eb9c4503718c3 M =C2=A0 =C2=A0 = =C2=A0lisp
:040000 040000 ebdfee938f44d5d2818a29bd07f795521a3583e= e 53a01fd613d99e20cb563ab8418ec2776c146f09 M =C2=A0 =C2=A0 =C2=A0src
<= div>:040000 040000 9d27cfce0b9d77d43b2180ecd95451469309da92 71329cdc731a284= e563265a90876cbf8ea94305b M =C2=A0 =C2=A0 =C2=A0test


2= 016-02-02 17:15 GMT+01:00 Eli Zaretskii <eliz@gnu.org>:
> From: Fabrice Popineau <fabrice.popineau@gmail.com>
> Date: Tue, 2 Feb 2016 07:23:43 +0100
>
> When I run 'make check', the process is stuck on filenotify te= sts.
> If I try to run the tests interactively, I have to hit 'Ctrl-g'= ;.
> Emacs waits forever on the first test.

Can you bisect to find the commit which broke this?

Thanks.

--089e013a0996400e00052ad1f916--