unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: bootstrap & memory allocation troubles
Date: Sat, 14 Jan 2006 12:40:50 -0500	[thread overview]
Message-ID: <873bjqvhjn.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <20060113224220.GA91435@flame.pc> (Giorgos Keramidas's message of "Sat, 14 Jan 2006 00:42:20 +0200")

>>> Can you try and undefine HAVE_POSIX_MEMALIGN so as to tell Emacs not
>>> to use it, so we can see if it's related or if it's a completely
>>> different problem (maybe a problem with unexec)?
>> 
>>> Hmmm.  Comment it out HAVE_POSIX_MEMALIGN in src/config.h allows Emacs
>>> to bootstrap quite fine with the new malloc() implementation too.  Very
>>> nice.  At least, we know how to repeat and work around the bug now :)
>> 

>> So the problem is either in the implementation of posix_memalign, or
>> in my use of it in src/alloc.c.
>> 
>> Can you try and rebuilt with -DENABLE_CHECKING so as to activate the
>> `eassert' I have sprinkled in the src/alloc.c code?
>> 
>> Just to be sure, try with -DENABLE_CHECKING for both cases (with and
>> without HAVE_POSIX_MEMALIGN).
>> 
>> Since Emacs's posix_memalign code has already been used for more than
>> a year under GNU/Linux and probably more platforms, I'm tempted to say
>> the bug is in FreeBSD's new implementation.  But you never know.

> I configured Emacs with:

> 	env CC='cc' CPPFLAGS='-DENABLE_CHECKING' MAKE='gmake' \
> 	    ./configure --prefix="$HOME/opt" --without-x

> On FreeBSD 7.0-CURRENT (amd64) with -DENABLE_CHECKING and the current
> posix_memalign(), the build crashes repeatably with:

> 2006-01-14 00:21:00.000000 - Generating autoloads for calendar/parse-time.el...
> 2006-01-14 00:21:00.000000 - Generating autoloads for calendar/parse-time.el...done
> 2006-01-14 00:21:00.000000 - Generating autoloads for progmodes/pascal.el...
> 2006-01-14 00:21:00.000000 - Generating autoloads for progmodes/pascal.el...done
> 2006-01-14 00:21:01.000000 -
> 2006-01-14 00:21:01.000000 - Emacs fatal error: alloc.c:2678: assertion failed: XTYPE (cons_free_list) == 0

Hmm... so all the assertions related to the code that uses posix_memalign
succeeded.  That makes me more or more suspect it's a bug in FreeBSD's
posix_memalign.  My gut feeling is that calling `free' on a block returned
by `posix_memalign' messes up the malloc library's invariants.



        Stefan

  reply	other threads:[~2006-01-14 17:40 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-13 15:52 bootstrap & memory allocation troubles Giorgos Keramidas
2006-01-13 20:26 ` Chong Yidong
2006-01-13 21:16 ` Giorgos Keramidas
2006-01-13 21:19 ` Stefan Monnier
2006-01-13 21:24   ` Giorgos Keramidas
2006-01-13 21:38     ` Giorgos Keramidas
2006-01-13 22:13       ` Stefan Monnier
2006-01-13 22:42         ` Giorgos Keramidas
2006-01-14 17:40           ` Stefan Monnier [this message]
2006-01-14 19:40             ` Gaute B Strokkenes
2006-01-14 20:00               ` Giorgos Keramidas
2006-01-14 16:14       ` Richard M. Stallman
2006-01-14 16:52         ` Giorgos Keramidas
2006-01-13 22:12     ` Giorgos Keramidas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=873bjqvhjn.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).