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#9273: 23.3; malloc initialization should (sometimes) happen at runtime Date: Wed, 10 Aug 2011 13:52:39 -0400 Message-ID: <4E42C567.2000303@cornell.edu> References: <4E41940C.2010605@cornell.edu> <83zkjhxnty.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1312998785 10284 80.91.229.12 (10 Aug 2011 17:53:05 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 10 Aug 2011 17:53:05 +0000 (UTC) Cc: "9273@debbugs.gnu.org" <9273@debbugs.gnu.org> To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Aug 10 19:53:00 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QrCxe-000767-R9 for geb-bug-gnu-emacs@m.gmane.org; Wed, 10 Aug 2011 19:52:58 +0200 Original-Received: from localhost ([::1]:38319 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrCxe-0002tO-59 for geb-bug-gnu-emacs@m.gmane.org; Wed, 10 Aug 2011 13:52:58 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:37008) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrCxY-0002sc-Rv for bug-gnu-emacs@gnu.org; Wed, 10 Aug 2011 13:52:56 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QrCxV-0000gt-21 for bug-gnu-emacs@gnu.org; Wed, 10 Aug 2011 13:52:52 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:48369) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrCxU-0000gp-Sv for bug-gnu-emacs@gnu.org; Wed, 10 Aug 2011 13:52:48 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QrCyg-0001hw-BL; Wed, 10 Aug 2011 13:54:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ken Brown Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 10 Aug 2011 17:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 9273 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 9273-submit@debbugs.gnu.org id=B9273.13129988386551 (code B ref 9273); Wed, 10 Aug 2011 17:54:02 +0000 Original-Received: (at 9273) by debbugs.gnu.org; 10 Aug 2011 17:53:58 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QrCyb-0001hb-CD for submit@debbugs.gnu.org; Wed, 10 Aug 2011 13:53:58 -0400 Original-Received: from granite1.mail.cornell.edu ([128.253.83.141] helo=authusersmtp.mail.cornell.edu) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QrCyX-0001hQ-FO for 9273@debbugs.gnu.org; Wed, 10 Aug 2011 13:53:55 -0400 Original-Received: from [128.84.234.236] (dhcp236.math.cornell.edu [128.84.234.236]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id p7AHqcIn009959 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Wed, 10 Aug 2011 13:52:38 -0400 (EDT) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11 In-Reply-To: <83zkjhxnty.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Wed, 10 Aug 2011 13:54:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) 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:49990 Archived-At: On 8/10/2011 11:56 AM, Eli Zaretskii wrote: >> Date: Tue, 09 Aug 2011 16:09:48 -0400 >> From: Ken Brown > >> But when the dumped emacs is run, it uses Cygwin's sbrk, which >> allocates memory on a heap that won't (as of Cygwin 1.7.10) be >> contiguous with the static heap. The saved value of _heapbase, >> which points into the static heap, is never changed, but it will >> mess up later calculations as soon as sbrk is called for the first >> time. > > Are you sure this is all that's at work here? AFAIR, gmalloc does > have code to cope with non-contiguous memory regions returned by sbrk. The issue isn't that sbrk returns non-contiguous regions. The issue is that two different of sbrk are used. One is used when temacs is running, and a different one is used when the dumped emacs.exe is running. This is controlled by the Cygwin-specific code in gmalloc.c, and it has to do with the way unexec works in the Cygwin build of emacs. >> All of this is described in detail on the Cygwin mailing list in the >> thread starting at >> >> http://cygwin.com/ml/cygwin/2011-08/msg00153.html >> >> See especially >> >> http://cygwin.com/ml/cygwin/2011-08/msg00193.html > > I have read all the discussion there, but I'm sorry to say that I > cannot figure out what you are talking about: there's too much > Cygwin-isms in that thread that I couldn't penetrate. Thanks for trying. >> Maybe the solution is for emacs to do malloc initialization, including >> the assignment of _heapbase, every time it starts, at least on systems >> that use gmalloc.c. > > Most supported systems don't need that. The native Windows build > indeed does, see w32heap.c. Perhaps you could reuse some or even most > of it for Cygwin. (What is so special about the Cygwin sbrk that is > worth sticking to it?) Thanks for the suggestions. Ken