From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Brown Newsgroups: gmane.emacs.devel Subject: Re: 64-bit emacs crashes a lot Date: Fri, 16 Aug 2013 10:20:00 -0400 Message-ID: <520E3510.8080101@cornell.edu> References: <51F3151D.7040000@cs.utoronto.ca> <51F33565.1090406@cornell.edu> <51F33F52.4060405@cs.utoronto.ca> <51FB1D9E.5090102@cs.utoronto.ca> <20130802080211.GA18054@calimero.vinschen.de> <51FB9228.2020309@cornell.edu> <51FBA100.90005@cs.utoronto.ca> <51FD5462.5020400@cs.utoronto.ca> <51FFBDFF.7040501@cornell.edu> <51FFC4F2.8080909@cs.utoronto.ca> <5203D89E.6030801@cornell.edu> <5203DCCA.1010105@cs.utoronto.ca> <5205B364.8090007@cs.utoronto.ca> <52064730.50404@cornell.edu> <"52065B3C.6060104@cs.utoronto <520CCA41.3000107"@cs.utoronto.ca> <520D089A.1020806@cornell.edu> <83ioz6op5v.fsf@gnu.org> <520D4036.8010303@cs.utoronto.ca> <520D900A.8000907@cornell.edu> <834naqnh9t.fsf@gnu.org> <520E0FF8.1070709@cs.utoronto.ca> <83txipn4n4.fsf@gnu.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 1376662836 11920 80.91.229.3 (16 Aug 2013 14:20:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 16 Aug 2013 14:20:36 +0000 (UTC) Cc: Ryan Johnson , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 16 16:20:38 2013 Return-path: Envelope-to: ged-emacs-devel@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 1VAKtK-0002KU-Gl for ged-emacs-devel@m.gmane.org; Fri, 16 Aug 2013 16:20:38 +0200 Original-Received: from localhost ([::1]:59370 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAKtK-0008IP-2G for ged-emacs-devel@m.gmane.org; Fri, 16 Aug 2013 10:20:38 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46479) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAKtA-0008I9-VA for emacs-devel@gnu.org; Fri, 16 Aug 2013 10:20:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VAKt6-0001cy-43 for emacs-devel@gnu.org; Fri, 16 Aug 2013 10:20:28 -0400 Original-Received: from limerock01.mail.cornell.edu ([128.84.12.99]:42671) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VAKt0-0001cC-7R; Fri, 16 Aug 2013 10:20:18 -0400 X-CornellRouted: This message has been Routed already. Original-Received: from authusersmtp.mail.cornell.edu (granite4.serverfarm.cornell.edu [10.16.197.9]) by limerock01.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id r7GEK0n2010748; Fri, 16 Aug 2013 10:20:00 -0400 Original-Received: from [128.84.234.244] (dhcp244.math.cornell.edu [128.84.234.244]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id r7GEJxpL018022 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 16 Aug 2013 10:20:00 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 In-Reply-To: <83txipn4n4.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 128.84.12.99 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:162812 Archived-At: On 8/16/2013 9:31 AM, Eli Zaretskii wrote: >> Date: Fri, 16 Aug 2013 07:41:44 -0400 >> From: Ryan Johnson >> >> On 16/08/2013 4:58 AM, Eli Zaretskii wrote: >>> Again, please move this discussion to emacs-devel. >> Back pointer: http://cygwin.com/ml/cygwin/2013-08/msg00273.html >> >>>> Date: Thu, 15 Aug 2013 22:35:54 -0400 >>>> From: Ken Brown >>>> >>>> 1. Invoke 'emacs-nox -Q' in mintty. >>>> >>>> 2. M-x compile C-a C-k ls RET >>>> >>>> 3. C-x o >>>> >>>> 4. Hit 'g' repeatedly. >>>> >>>> I got it to abort with Fatal error 6 after slightly over 100 repetitions. >>>> >>>> I then tried the same thing with emacs-X11 (running under X, not in >>>> mintty). I hit 'g' 200 times without a problem. I repeated this with >>>> emacs-w32, again 200 times without a problem. >>>> >>>> So there's a bug somewhere. But if it's an emacs bug, it's strange that >>>> it only occurs with emacs-nox and not with either of the GUI versions of >>>> emacs. >>> I suspect that buffer relocation might be the reason. Can you show a >>> backtrace from the fatal error in an unoptimized build, with the above >>> recipe? >> I'll try to get one. Meanwhile, is there a quick way to disable buffer >> relocation as a sanity test? > > I don't think so, but maybe it's already disabled in your build. What > do you see on these two lines when configure finishes: > > Should Emacs use a relocating allocator for buffers? yes > Should Emacs use mmap(2) for buffer allocation? no Should Emacs use a relocating allocator for buffers? no Should Emacs use mmap(2) for buffer allocation? yes > In any case, you could configure with --enable-checking=all, it might > catch the problem earlier. > >> If the optimized build still crashes reliably without it, the real >> problem is probably something else. > > Maybe, but not necessarily. FWIW, I just tried this on the trunk, both with and without optimization. The bug is still there in the optimized build, but I couldn't trigger it in the unoptimized build. I've also checked that the bug occurs only in 64-bit Cygwin, not 32-bit Cygwin. Here's some speculation. On 64-bit Cygwin, the space allocated to the heap and mmap goes from 0x6:00000000 to 0x700:00000000, with the heap starting at the bottom and mmaps allocated from the top down. (I've added the colons for readability). Is it possible that the optimized build takes shortcuts that are somehow incompatible with this model? I'm grasping at straws here, but I'm just trying to think of things that differ between the 32-bit and 64-bit systems. Ken