bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#39577: 27.0.60; Assertion failed during compilation


From: Eli Zaretskii
Subject: bug#39577: 27.0.60; Assertion failed during compilation
Date: Thu, 13 Feb 2020 16:57:26 +0200

> Date: Wed, 12 Feb 2020 08:39:58 +0100
> From: Henrik Grimler <henrik@grimler.se>
> 
> ../configure --enable-checking=yes,glyphs \
> --enable-check-lisp-object-type \
> --without-makeinfo \
> --without-selinux \
> --prefix /data/data/com.termux/files/usr/local \
> CFLAGS="-O0 -g3 -gdwarf-4"
> ```
> 
> but building the emacs-27 branch (commit 06c302d) this fails with:
> 
> ```
> [...]
> Loading 
> /data/data/com.termux/files/home/projects/emacs/lisp/emacs-lisp/syntax.el 
> (source)...
> Loading /data/data/com.termux/files/home/projects/emacs/lisp/font-lock.el 
> (source)...
> Loading /data/data/com.termux/files/home/projects/emacs/lisp/jit-lock.el 
> (source)...
> 
> ../../src/fns.c:2856: Emacs fatal error: assertion failed: !FIXNUM_OVERFLOW_P 
> (lisp_h_make_fixnum_n)

This would mean that the values returned by getloadavg on that system
are preposterously large.  Can you run the offending command under a
debugger, put a breakpoint on line 2856 of fns.c, and see what values
you get in the load_ave[] array?

> This (as well as the segfault) happens both if compiling with clang 9.0.1 and 
> gcc 9.2.0.
> I get a warning earlier multiple times that might be related:
> 
> ```
> [...]
>   CC       dispnew.o
> In file included from ../../src/dispnew.c:29:
> In file included from ../../src/termchar.h:23:
> ../../src/dispextern.h:1917:36: warning: signed shift result (0x3FFFFC00000) 
> requires 43 bits to represent, but 'EMACS_INT' (aka 'int') only has 32 bits 
> [-Wshift-overflow]
>                ? ((EMACS_INT) MAX_FACE_ID << CHARACTERBITS) | MAX_CHAR
>                   ~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~
> 1 warning generated.

I think this warning is bogus, since if your EMACS_INT is not wide
enough to hold MAX_FACE_ID shifted left by 8 bits, the code will not
do that.

> If I remove --enable-checking=yes,glyphs it builds (I am sending this
> bug report from that build) but gets segmentation faults every now and
> then. Easiest way to trigger it is to scroll up and down in some file,
> but it still happens randomly, maybe after 200 lines, maybe after 10
> 000.

Can you show a backtrace from the segfault?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]