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#17510: 24.3.91; Problem with `emacs --daemon' in cygw32 build Date: Sat, 24 May 2014 18:18:47 -0400 Message-ID: <53811AC7.7060809@cornell.edu> References: <53764FD9.8090600@cornell.edu> <53766FBC.1000601@cornell.edu> <5377F335.2080609@cornell.edu> <831tvremfz.fsf@gnu.org> <5378C404.8050405@cornell.edu> <83wqdjceah.fsf@gnu.org> <53790BAB.3020909@cornell.edu> <837g5hd8cf.fsf@gnu.org> <537A5AB4.8070602@cornell.edu> <538092B6.9000807@cornell.edu> <5380F2FA.1080007@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1400969970 7975 80.91.229.3 (24 May 2014 22:19:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 24 May 2014 22:19:30 +0000 (UTC) Cc: 17510@debbugs.gnu.org, dmantipov@yandex.ru To: Daniel Colascione , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun May 25 00:19:23 2014 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 1WoKHh-00047W-Pd for geb-bug-gnu-emacs@m.gmane.org; Sun, 25 May 2014 00:19:21 +0200 Original-Received: from localhost ([::1]:49515 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoKHh-0004bE-1q for geb-bug-gnu-emacs@m.gmane.org; Sat, 24 May 2014 18:19:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40942) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoKHW-0004aL-M3 for bug-gnu-emacs@gnu.org; Sat, 24 May 2014 18:19:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WoKHP-0000j1-2j for bug-gnu-emacs@gnu.org; Sat, 24 May 2014 18:19:10 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60569) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WoKHO-0000iw-W5 for bug-gnu-emacs@gnu.org; Sat, 24 May 2014 18:19:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WoKHO-0004Q4-Ht for bug-gnu-emacs@gnu.org; Sat, 24 May 2014 18:19: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: Sat, 24 May 2014 22:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17510 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17510-submit@debbugs.gnu.org id=B17510.140096993216962 (code B ref 17510); Sat, 24 May 2014 22:19:02 +0000 Original-Received: (at 17510) by debbugs.gnu.org; 24 May 2014 22:18:52 +0000 Original-Received: from localhost ([127.0.0.1]:59446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WoKHD-0004PW-SL for submit@debbugs.gnu.org; Sat, 24 May 2014 18:18:52 -0400 Original-Received: from limerock04.mail.cornell.edu ([128.84.12.60]:33782) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WoKH9-0004Ow-Al for 17510@debbugs.gnu.org; Sat, 24 May 2014 18:18:48 -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 s4OMIY3o004673; Sat, 24 May 2014 18:18:35 -0400 Original-Received: from [192.168.1.3] (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 s4OMIX9R029309 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Sat, 24 May 2014 18:18:34 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 In-Reply-To: <5380F2FA.1080007@dancol.org> 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:89471 Archived-At: On 5/24/2014 3:28 PM, Daniel Colascione wrote: > On 05/24/2014 05:38 AM, Ken Brown wrote: >> On 5/19/2014 3:25 PM, Ken Brown wrote: >>> On 5/19/2014 12:46 PM, Eli Zaretskii wrote: >>>> I guess it's OK for the branch, thanks. But it strikes me that simply >>>> replacing the car of dpyinfo->name_list_element by something like >>>> "!!!DELETED DISPLAY!!!", or even just an empty string, would serve the >>>> same purpose, and save us the nuisance of an additional list in >>>> cygw32_display_name_list. After all, all you need is to mark a >>>> display deleted without actually deleting it, right? IOW, the main >>>> problem is in x_delete_display, and all the rest is just the overhead >>>> you needed to fix that, correct? >>> >>> I think that's correct, and I agree that there should be a much simpler >>> fix. I'll have to look into the code and try to understand better >>> exactly what happens when emacs is started as a daemon and then a client >>> frame is opened and closed. >> >> My guess as to the cause of this bug was completely wrong. What happens >> in my recipe is that the pointer dpyinfo->w32_id_name is freed twice. >> (This is done in x_delete_display each time the only existing client >> frame is deleted.) An attempt to create a client frame for the third >> time then leads to a crash because of malloc corruption. > > Thanks for finding that. I wonder whether this double-free also has > something to do with random crashes people have been seeing in 64-bit > Cygwin cygw32 Emacs builds. I doubt it, because this double-free occurs in both 64-bit and 32-bit Cygwin. Also, I think it can only be triggered by running emacs as a daemon, and none of the people reporting crashes mentioned doing that. Ken