[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21999: 25.0.50; Binary with --enable-checking immediately aborts wit
From: |
Eli Zaretskii |
Subject: |
bug#21999: 25.0.50; Binary with --enable-checking immediately aborts with '0<=size' |
Date: |
Tue, 24 Nov 2015 18:12:59 +0200 |
> From: Dima Kogan <dima@secretsauce.net>
> Cc: David Engster <deng@randomsample.de>, Paul Eggert <eggert@cs.ucla.edu>,
> 21999@debbugs.gnu.org
> Date: Tue, 24 Nov 2015 01:55:38 -0800
>
> This comes from recent changes that created gc_asize() for use in
> the GC, and changed ASIZE() to eassume() if we're not in the GC:
>
>
> https://github.com/emacs-mirror/emacs/commit/8afaa1321f808#diff-0e5d67da0ba3fb5c2886841cb3d0ccecR1547
>
> This is a very recent change, so we're now seeing some of the effects.
> In this particular case FONT_ENTITY_P() was called from the GC; it
> called ASIZE(), which saw a marked object so we barfed in the eassume().
> This eassume() is only fatal if --enable-checking, which is why that is
> significant.
>
> I don't know what the plan is here, so no patch is attached. Cc-ing
> Paul, since he authored the patch in question.
Right, thanks. That eassume in ASIZE made any macro that uses ASIZE
unsafe to use in the garbage collector.
I fixed this in commit d5fdffe, but I suggest that we reconsider that
eassume. After all, the size field of the pseudo-vector object is not
really a size, but a bunch of bitfields, so I'm not sure testing it in
its entirety makes sense. Paul?
David, please see that your problem is solved now.
Thanks.