Subject: Re: bug#50096: args-out-of-range in redisplay_internal

From: Eli Zaretskii <[email-masked]>
Date: Tue, 17 Aug 2021 21:16:27 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 17 Aug 2021 20:51:13 +0300
> 
> >>> Debugger entered--Lisp error: (args-out-of-range 1737 1737)
> >>>   redisplay_internal\ \(C\ function\)()
> >>>   message("Running in foreground: %s" #("git --no-pager commit -m
> >>
> >> Is this reproducible?  If so, put a breakpoint on args_out_of_range,
> >> and show the C-level backtrace from the error.
> >
> > It's reproducible only in the optimized build and not with -Q.
> 
> Actually, it fails in non-optimized build too with the next backtrace.
> It fails only after some commit was made after 2021-08-11.
> Should I bisect or do you have an idea what commit caused this?

It's more interesting to understand first why does Emacs think these
"args are out of range".  What is 'object' here:

> #1  0x000055c2daa345d1 in validate_interval_range (object=XIL(0x7f71fab29715), begin=0x7ffdc316c408, end=0x7ffdc316c408, force=false) at textprop.c:159

Ask GDB:

  (gdb) frame 1
  (gdb) p object
  (gdb) xtype

If 'object' is a buffer, then

  (gdb) p BUF_BEGV (XBUFFER (object))
  (gdb) p BUF_ZV (XBUFFER (object))

If 'object' is a string, then

  (gdb) p SCHARS (object)

Thanks.