From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Brown Newsgroups: gmane.emacs.bugs Subject: bug#14569: 24.3.50; bootstrap fails on Cygwin Date: Fri, 28 Jun 2013 08:20:34 -0400 Message-ID: <51CD7F92.40007@cornell.edu> References: <51BC720D.7080504@alice.it> <51BDB979.3040508@cornell.edu> <20130616150141.GB3622@ednor.casa.cgf.cx> <51BDFB25.8080101@cornell.edu> <51BE01EC.3000701@cornell.edu> <51C60DEB.8030804@alice.it> <51C75149.1070609@alice.it> <51C793FA.9070806@cs.ucla.edu> <51C8275A.4080307@cornell.edu> <51C886D5.3030704@alice.it> <51C8B4AD.7050609@cs.ucla.edu> <51C8DB3A.7050206@alice.it> <51CC529B.9090809@cs.ucla.edu> <51CC9340.3080307@cornell.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1372422130 28115 80.91.229.3 (28 Jun 2013 12:22:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Jun 2013 12:22:10 +0000 (UTC) Cc: "14569@debbugs.gnu.org" <14569@debbugs.gnu.org>, Angelo Graziosi To: Paul Eggert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jun 28 14:22:10 2013 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 1UsXgn-0004u1-M2 for geb-bug-gnu-emacs@m.gmane.org; Fri, 28 Jun 2013 14:22:09 +0200 Original-Received: from localhost ([::1]:44577 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UsXgn-0005el-0b for geb-bug-gnu-emacs@m.gmane.org; Fri, 28 Jun 2013 08:22:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58717) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UsXgh-0005b2-Tz for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2013 08:22:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UsXgg-0008Gi-Md for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2013 08:22:03 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52112) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UsXgg-0008Gc-KK for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2013 08:22:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1UsXgf-000298-S2 for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2013 08:22:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ken Brown Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 28 Jun 2013 12:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14569 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 14569-submit@debbugs.gnu.org id=B14569.13724220978192 (code B ref 14569); Fri, 28 Jun 2013 12:22:01 +0000 Original-Received: (at 14569) by debbugs.gnu.org; 28 Jun 2013 12:21:37 +0000 Original-Received: from localhost ([127.0.0.1]:46428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UsXgG-000283-3b for submit@debbugs.gnu.org; Fri, 28 Jun 2013 08:21:37 -0400 Original-Received: from limerock04.mail.cornell.edu ([128.84.12.60]:44238) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UsXgC-00027b-FB for 14569@debbugs.gnu.org; Fri, 28 Jun 2013 08:21:33 -0400 X-CornellRouted: This message has been Routed already. Original-Received: from authusersmtp.mail.cornell.edu (granite3.serverfarm.cornell.edu [10.16.197.8]) by limerock04.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id r5SCLNCf019678; Fri, 28 Jun 2013 08:21:23 -0400 Original-Received: from [192.168.1.6] (cpe-67-249-194-47.twcny.res.rr.com [67.249.194.47]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id r5SCLL6Z016715 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 28 Jun 2013 08:21:22 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 In-Reply-To: <51CC9340.3080307@cornell.edu> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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:75677 Archived-At: On 6/27/2013 3:32 PM, Ken Brown wrote: > On 6/27/2013 10:56 AM, Paul Eggert wrote: >> On 06/24/2013 04:50 PM, Angelo Graziosi wrote: >>> the bootstrap completed *without* errors! >> >> OK, thanks, as trunk bzr 113206 I installed a change >> to skip the gnulib tickling on Cygwin. >> >> Although this should fix the bootstrap failure, I expect that >> this reintroduces a bug into Cygwin Emacs, namely, >> Emacs can sometimes lose track of subprocesses and/or kill off >> unrelated processes; see Bug#12980 and Bug#8855. >> Fixing this will require someone with access to Cygwin >> and knowledge of how to debug threads under Cygwin, >> neither of which I have. Since the issue appears only >> under Cygwin it could well be a Cygwin bug rather than an >> Emacs or glib bug. > > Another alternative is to replace > > if (! noninteractive || initialized) > > by > > if (! noninteractive) > > at least on Cygwin. That allows the bootstrap to complete without > errors. Assuming this doesn't cause other problems, we wouldn't have to > worry about reintroducing bugs into (interactive) Cygwin Emacs. Just to be clear, here's what I'm proposing: === modified file 'src/process.c' --- src/process.c 2013-06-27 14:47:52 +0000 +++ src/process.c 2013-06-28 11:30:42 +0000 @@ -7092,18 +7092,23 @@ inhibit_sentinels = 0; #ifndef CANNOT_DUMP +#ifdef CYGWIN + if (! noninteractive) +#else if (! noninteractive || initialized) #endif +#endif { -#if defined HAVE_GLIB && !defined WINDOWSNT && !defined CYGWIN +#if defined HAVE_GLIB && !defined WINDOWSNT /* Tickle glib's child-handling code. Ask glib to wait for Emacs itself; this should always fail, but is enough to initialize glib's private SIGCHLD handler, allowing the code below to copy it into LIB_CHILD_HANDLER. - For some reason tickling causes Cygwin bootstrap to fail, so it's - skipped under Cygwin. FIXME: Skipping the tickling likely causes - bugs in subprocess handling under Cygwin (Bug#14569). */ + For some reason tickling causes Cygwin bootstrap to fail, so + it's done under Cygwin only in the interactive case. FIXME: + Skipping the tickling may cause bugs in subprocess handling + under Cygwin in the noninteractive case (Bug#14569). */ g_source_unref (g_child_watch_source_new (getpid ())); #endif catch_child_signal (); Ken