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
Message #26 received at 21999 <at> debbugs.gnu.org (full text, mbox):
> Cc: deng <at> randomsample.de, 21999 <at> debbugs.gnu.org
> From: Paul Eggert <eggert <at> cs.ucla.edu>
> Date: Tue, 24 Nov 2015 23:52:57 -0800
>
> Eli Zaretskii wrote:
> > 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?
>
> The point of the eassume is that it improves code quality in the common case
> where the size field is actually a size, since the compiler can generate better
> code when it knows that sizes are nonnegative. Also, it should improve checking
> a bit, in case someone trashes a size field.
>
> Looks like this is more trouble than it's worth, and we should get rid of that
> eassume, at least in emacs-25. Or have you fixed it?
I fixed this particular issue, which happened because several macros
on font.h used ASIZE and were called in the context of GC. Now each
such macro has a GC_* variant that calls gc_asize instead. If that's
a clean enough solution, we can safely move on. I was just worried
that ASIZE is no longer safe in GC, and any macro that uses it becomes
unsafe. But currently, any such remaining macros aren't called by GC
code, so there are no more known problems, just a subtlety.
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.