GNU bug report logs -
#21999
25.0.50; Binary with --enable-checking immediately aborts with '0<=size'
Previous Next
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: 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.