X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-5.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <20120713074009.GC26268@calimero.vinschen.de> References: <4FF83C71 DOT 5000803 AT dancol DOT org> <4FF8759A DOT 10400 AT gmail DOT com> <4FF88907 DOT 5060100 AT dancol DOT org> <4FFB4C82 DOT 7050702 AT dancol DOT org> <4FFBB6B3 DOT 2090705 AT dancol DOT org> <20120710081318 DOT GB3051 AT calimero DOT vinschen DOT de> <4FFC4D3C DOT 2010004 AT dancol DOT org> <4FFF9A81 DOT 90403 AT dancol DOT org> <20120713074009 DOT GC26268 AT calimero DOT vinschen DOT de> Date: Fri, 13 Jul 2012 07:52:54 -0500 Message-ID: Subject: Re: clisp crashes on startup From: Reini Urban To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Fri, Jul 13, 2012 at 2:40 AM, Corinna Vinschen wrote: > On Jul 12 20:48, Daniel Colascione wrote: >> On 7/10/12 8:41 AM, Daniel Colascione wrote: >> > On 7/10/12 1:13 AM, Corinna Vinschen wrote: >> >> On Jul 9 21:59, Daniel Colascione wrote: >> >>> On 7/9/12 2:26 PM, Daniel Colascione wrote: >> >>>> [snip] >> >>> >> >>> It turns out that clisp crashes only when I've rebased DLLs into the >> >>> high portion of the 4GB WOW64 address space. >> >> >> >> Where did you rebase them to? You know that on WOW64 and with the >> >> bigaddr flag on, the application heap is located at 0x80000000 by >> >> default, right? Perhaps some of your DLLs just collide with that? >> > >> > I'm using a starting base address of 0xC8000000; I haven't had >> > problems with any other program. >> >> It turns out that clisp uses bit 31 of each pointer for its gc mark >> bit. No wonder the thing blows in bigaddr-aware mode. clisp _does_ > > Ouch. > >> work, however, when compiled with -DWIDE. In this mode, clisp uses two >> words for each lisp value --- one for the pointer and one for the >> metadata. Hmm, I do not really want to maintain lisp32.exe and lisp64.exe variants, but maybe upstream can be persuaded to make that distinction in the clisp.exe driver. It's only for huge data and bad rebase addresses. And for huge data a self-compiled clisp makes sense to me. Serious lisp users use better lisp compilers anyway which compile to native code. (sbcl, lispworks, allegro). clisp's main strength is fast startup and fast IO. >> Also, clisp has a LINUX_NOEXEC_HEAPCODES mode that also >> works, and without bloating memory use, but that requires that no real >> virtual address be in the range [0xC0000000, 0xDFFFFFFF]. > > That can't be guaranteed. WOW64 provides the full 32 bit VM address > space. Maybe also a documentation issue for rebaseing. -- Reini Urban http://cpanel.net/ http://www.perl-compiler.org/ -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple