Subject: bug#21633: closed (Re: bug#21633: 25.0.50; assertion failure, self-insert-command with negative argument)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 06 Oct 2015 09:55:02 +0000

Your bug report

#21633: 25.0.50; assertion failure, self-insert-command with negative argument

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
21633: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21633
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#21633: 25.0.50; assertion failure, self-insert-command with negative argument
From: Andreas Schwab <[email-masked]>
To: Nicolas Richard <[email-masked]>
Cc: [email-masked]
Date: Tue, 06 Oct 2015 11:54:20 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Fixed in 0befeb0.

Andreas.

-- 
Andreas Schwab, SUSE Labs, [email-masked]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

Subject: 25.0.50; assertion failure, self-insert-command with negative argument
From: Nicolas Richard <[email-masked]>
To: [email-masked]
Date: Tue, 06 Oct 2015 11:11:58 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Using the build mentionned below (i.e. built today) :

emacs -Q
Hit: C-- * (or C-- C-1 *)
=> crash (assertion failed)

Here's my gdb session, when setting a breakpoint :

Breakpoint 3, Fself_insert_command (n=9223372036854775807) at cmds.c:308
308	  CHECK_NUMBER (n);
(gdb) p n
$10 = 9223372036854775807
(gdb) xpr
Lisp_Int1
$11 = -1
(gdb) p CHECK_NUMBER (n)
$12 = void
(gdb) n
310	  if (XFASTINT (n) < 0)
(gdb) p XFASTINT (n)
$13 = 4611686018427387903
(gdb) xpr
Lisp_Misc
warning: value truncated
Cannot access memory at address 0xffffffff

At this point I realize I understand nothing about C and gdb. Anyway, I
say "next" and see that the above `if' statement failed to find the obvious
error :

(gdb) n
313	  if (XFASTINT (n) < 2)
(gdb) l
308	  CHECK_NUMBER (n);
309	
310	  if (XFASTINT (n) < 0)
311	    error ("Negative repetition argument %"pI"d", XFASTINT (n));
312	
313	  if (XFASTINT (n) < 2)
314	    remove_excessive_undo_boundaries ();
315	
316	  /* Barf if the key that invoked this was not a character.  */
317	  if (!CHARACTERP (last_command_event))
(gdb) 

Now I don't know what to do.

In GNU Emacs 25.0.50.2 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2015-10-06
Repository revision: 25b4572073179c8d6dc980ce2df3db4d96cd692f
Windowing system distributor 'The X.Org Foundation', version 11.0.11604000
System Description:	Gentoo Base System release 2.2

Configured using:
 'configure --with-x-toolkit=lucid --enable-checking --with-wide-int
 'CFLAGS= -O0 -g3''

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF
GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS LUCID X11

Important settings:
  value of $LANG: fr_FR.UTF-8
  locale-coding-system: utf-8-unix

-- 
Nicolas Richard