GNU bug report logs - #21999
25.0.50; Binary with --enable-checking immediately aborts with '0<=size'

Previous Next

Package: emacs;

Reported by: David Engster <deng <at> randomsample.de>

Date: Mon, 23 Nov 2015 19:54:02 UTC

Severity: normal

Tags: fixed

Found in version 25.0.50

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dima Kogan <dima <at> secretsauce.net>
Cc: 21999 <at> debbugs.gnu.org, eggert <at> cs.ucla.edu, deng <at> randomsample.de
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 <at> secretsauce.net>
> Cc: David Engster <deng <at> randomsample.de>, Paul Eggert <eggert <at> cs.ucla.edu>, 21999 <at> 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.




This bug report was last modified 4 years and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.