Subject: bug#18668: 24.3.94; Assertion violation in add_text_properties_1

From: Eli Zaretskii <[email-masked]>
Date: Thu, 09 Oct 2014 16:58:54 +0300

I was editing a C source file, when Emacs 24.3.94 hit an assertion
violation.  Here's the backtrace and some data:

Breakpoint 1, terminate_due_to_signal (sig=sig@entry=22,
    backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:350
350     {
(gdb) up
#1  0x0117096e in die (
    msg=msg@entry=0x14bf05a <modifier_len+2186> "modified",
    file=file@entry=0x14bef95 <modifier_len+1989> "textprop.c",
    line=line@entry=1259) at alloc.c:6833
6833      terminate_due_to_signal (SIGABRT, INT_MAX);
(gdb)
#2  0x012044f0 in add_text_properties_1 (start=start@entry=310800,
    end=end@entry=310804, properties=<optimized out>,
    properties@entry=139616918, object=76471301, object@entry=66533410,
    set_type=set_type@entry=TEXT_PROPERTY_REPLACE) at textprop.c:1259
1259                  eassert (modified);
(gdb) p modified
$1 = false
(gdb) up
#3  0x012046a4 in Fadd_text_properties (start=310800, end=310804,
    properties=139616918, object=66533410) at textprop.c:1303
1303      return add_text_properties_1 (start, end, properties, object,
(gdb) down
#2  0x012044f0 in add_text_properties_1 (start=start@entry=310800,
    end=end@entry=310804, properties=<optimized out>,
    properties@entry=139616918, object=76471301, object@entry=66533410,
    set_type=set_type@entry=TEXT_PROPERTY_REPLACE) at textprop.c:1259
1259                  eassert (modified);
(gdb) l
1254                {
1255                  if (BUFFERP (object))
1256                    signal_after_change (XINT (start), XINT (end) - XINT (st
art),
1257                                         XINT (end) - XINT (start));
1258
1259                  eassert (modified);
1260                  return Qt;
1261                }
1262
1263              if (LENGTH (i) == len)
(gdb) p start
$2 = 310800
(gdb) p end
$3 = 310804
(gdb) p i
$4 = (INTERVAL) 0x860472c
(gdb) bt
#0  terminate_due_to_signal (sig=sig@entry=22,
    backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:350
#1  0x0117096e in die (
    msg=msg@entry=0x14bf05a <modifier_len+2186> "modified",
    file=file@entry=0x14bef95 <modifier_len+1989> "textprop.c",
    line=line@entry=1259) at alloc.c:6833
#2  0x012044f0 in add_text_properties_1 (start=start@entry=310800,
    end=end@entry=310804, properties=<optimized out>,
    properties@entry=139616918, object=76471301, object@entry=66533410,
    set_type=set_type@entry=TEXT_PROPERTY_REPLACE) at textprop.c:1259
#3  0x012046a4 in Fadd_text_properties (start=310800, end=310804,
    properties=139616918, object=66533410) at textprop.c:1303
#4  0x0119689b in Ffuncall (nargs=nargs@entry=4, args=args@entry=0x82ee7c)
    at eval.c:2823
#5  0x011e44dd in exec_byte_code (bytestr=<optimized out>, vector=19534661,
    maxdepth=44, args_template=args_template@entry=3084, nargs=nargs@entry=3,
    args=<optimized out>, args@entry=0x82f01c) at bytecode.c:916
#6  0x01195e1a in funcall_lambda (fun=19534621, nargs=nargs@entry=3,
    arg_vector=arg_vector@entry=0x82f01c) at eval.c:2979
#7  0x01196ad7 in Ffuncall (nargs=nargs@entry=4, args=args@entry=0x82f018)
    at eval.c:2861
#8  0x011e44dd in exec_byte_code (bytestr=<optimized out>, vector=19534093,
    maxdepth=52, args_template=args_template@entry=2056, nargs=nargs@entry=2,
    args=<optimized out>, args@entry=0x82f1ac) at bytecode.c:916
#9  0x01195e1a in funcall_lambda (fun=19534053, nargs=nargs@entry=2,
    arg_vector=arg_vector@entry=0x82f1ac) at eval.c:2979
#10 0x01196ad7 in Ffuncall (nargs=nargs@entry=3, args=args@entry=0x82f1a8)
    at eval.c:2861
#11 0x011e44dd in exec_byte_code (bytestr=<optimized out>, vector=19534301,
    maxdepth=40, args_template=args_template@entry=1028, nargs=nargs@entry=1,
    args=<optimized out>, args@entry=0x82f32c) at bytecode.c:916
#12 0x01195e1a in funcall_lambda (fun=19534261, nargs=nargs@entry=1,
    arg_vector=arg_vector@entry=0x82f32c) at eval.c:2979
#13 0x01196ad7 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x82f328)
    at eval.c:2861
#14 0x011e44dd in exec_byte_code (bytestr=<optimized out>, vector=19534221,
    maxdepth=24, args_template=args_template@entry=1028, nargs=nargs@entry=1,
    args=<optimized out>, args@entry=0x82f4ac) at bytecode.c:916
#15 0x01195e1a in funcall_lambda (fun=19534181, nargs=nargs@entry=1,
    arg_vector=arg_vector@entry=0x82f4ac) at eval.c:2979
#16 0x01196ad7 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x82f4a8)
    at eval.c:2861
#17 0x011e44dd in exec_byte_code (bytestr=<optimized out>, vector=19944917,
    maxdepth=20, args_template=args_template@entry=1024, nargs=nargs@entry=1,
    args=<optimized out>, args@entry=0x82f674) at bytecode.c:916
#18 0x01195e1a in funcall_lambda (fun=19944869, nargs=nargs@entry=1,
    arg_vector=arg_vector@entry=0x82f674) at eval.c:2979
#19 0x01196ad7 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x82f670)
    at eval.c:2861
#20 0x011924cc in Fcall_interactively (function=68492130,
    record_flag=66533410, keys=66554741) at callint.c:836
#21 0x01196833 in Ffuncall (nargs=nargs@entry=4, args=args@entry=0x82f7bc)
    at eval.c:2819
#22 0x011e44dd in exec_byte_code (bytestr=<optimized out>, vector=19931909,
    maxdepth=52, args_template=args_template@entry=4100, nargs=nargs@entry=1,
    args=<optimized out>, args@entry=0x82f94c) at bytecode.c:916
#23 0x01195e1a in funcall_lambda (fun=19931869, nargs=nargs@entry=1,
    arg_vector=arg_vector@entry=0x82f94c) at eval.c:2979
#24 0x01196ad7 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x82f948)
    at eval.c:2861
#25 0x01196cb5 in call1 (fn=66579618, arg1=68492130) at eval.c:2611
#26 0x011148fa in command_loop_1 () at keyboard.c:1559
#27 0x01193fa9 in internal_condition_case (
    bfun=bfun@entry=0x111415d <command_loop_1>, handlers=66584930,
    hfun=hfun@entry=0x110678b <cmd_error>) at eval.c:1348
#28 0x010feb07 in command_loop_2 (ignore=66533410) at keyboard.c:1177
#29 0x01193ec4 in internal_catch (tag=66580290,
    func=func@entry=0x10feae7 <command_loop_2>, arg=66533410) at eval.c:1112
#30 0x010fea99 in command_loop () at keyboard.c:1156
#31 0x01106247 in recursive_edit_1 () at keyboard.c:777
#32 0x011066aa in Frecursive_edit () at keyboard.c:848
#33 0x010fe5d3 in main (argc=<optimized out>, argv=0xa43fe8) at emacs.c:1646

Lisp Backtrace:
"add-text-properties" (0x82ee80)
"yank-handle-category-property" (0x82f01c)
"remove-yank-excluded-properties" (0x82f1ac)
"insert-for-yank-1" (0x82f32c)
"insert-for-yank" (0x82f4ac)
"yank" (0x82f674)
"call-interactively" (0x82f7c0)
"command-execute" (0x82f94c)

In GNU Emacs 24.3.94.1 (i686-pc-mingw32)
 of 2014-10-04 on HOME-C4E4A596F7
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --prefix=/d/usr --enable-checking=yes,glyphs 'CFLAGS=-Og
 -g3''

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1255

Major mode: Mail

Minor modes in effect:
  diff-auto-refine-mode: t
  flyspell-mode: t
  desktop-save-mode: t
  show-paren-mode: t
  display-time-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  line-number-mode: t
  auto-fill-function: mail-mode-auto-fill
  abbrev-mode: t

Recent input:
<up> <up> <up> <up> <up> <up> C-x C-s <down> <down> 
<down> <C-left> M-u <down> <down> <down> <down> <down> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <C-right> 
<C-right> <right> <right> M-u <M-left> <up> <up> <C-right> 
<C-right> <C-right> <right> M-d <delete> <down> <down> 
<C-right> <C-right> <C-right> <C-left> M-l <down> <down> 
<down> <down> <down> <down> <C-left> <C-left> M-u <down> 
<down> <down> <down> <C-left> M-u C-z C-z C-z C-z C-z 
C-z C-z C-z C-z <up> <up> <up> <up> <up> <C-left> <C-left> 
<C-left> ( <C-right> ) <M-left> SPC SPC SPC <down> 
<down> <down> <down> <up> <up> <up> <C-right> <C-right> 
<C-right> <C-right> <C-left> ( <C-right> ) <down> <down> 
<down> <down> <C-left> ( <C-right> ) <M-left> <down> 
<down> <down> M-u <C-left> ( <C-right> ) <M-left> SPC 
SPC SPC <M-left> C-z C-z C-z C-z C-z C-z C-z C-z C-z 
C-z M-z M-z M-z M-z M-z M-z M-z M-z M-z M-z M-z M-z 
C-z C-z C-z C-z C-z C-z C-z C-z C-z C-z C-z C-z C-z 
C-z C-z C-z C-z C-z C-z C-x C-s <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> C-z C-z C-z C-z C-z C-z C-z C-z C-z C-z C-z 
C-z C-z C-z C-z C-z <down> <down> <down> <down> <down> 
<down> <return> P U S H _ B P M-/ SPC ( b p a _ s p 
, SPC e m b e M-/ , SPC l a s t _ s M-/ ) ; <right> 
C-SPC <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> C-w 
C-x C-s <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <switch-frame> <help-echo> 
<help-echo> <switch-frame> M-x r e p o r t - e m a 
c s - b u <tab> <return>

Recent messages:
Making completion list...
Saving file d:/gnu/bzr/emacs/test/src/bidi.c...
Wrote d:/gnu/bzr/emacs/test/src/bidi.c
Saving file d:/gnu/bzr/emacs/test/src/bidi.c...
Wrote d:/gnu/bzr/emacs/test/src/bidi.c
Saving file d:/gnu/bzr/emacs/test/src/bidi.c...
Wrote d:/gnu/bzr/emacs/test/src/bidi.c
Mark set
Saving file d:/gnu/bzr/emacs/test/src/bidi.c...
Wrote d:/gnu/bzr/emacs/test/src/bidi.c

Load-path shadows:
None found.

Features:
(shadow mailalias emacsbug sendmail dabbrev help-mode ld-script tcl
conf-mode org-element org-rmail org-mhe org-irc org-info org-gnus
gnus-util org-docview doc-view image-mode dired-x dired org-bibtex
bibtex org-bbdb org-w3m org byte-opt bytecomp byte-compile cconv
advice org-macro org-footnote org-pcomplete pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-src
ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs find-func cal-menu calendar
cal-loaddefs arc-mode archive-mode parse-time diff-mode sh-script smie
executable generic jka-compr vc-cvs make-mode autorevert filenotify
bat-mode gud comint ansi-color ring flyspell noutline outline
easy-mmode info vc-bzr cc-langs qp rmailsum rmailmm message
format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mailabbrev gmm-utils mailheader mail-parse rfc2231 rmail rfc2047
rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils desktop
frameset warnings server filecache mairix cus-edit cus-start cus-load
wid-edit cl-loaddefs cl-lib saveplace midnight ispell generic-x
cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs paren battery time time-date tooltip
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32
ls-lisp w32-common-fns disp-table w32-win w32-vars tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
w32notify w32 multi-tty emacs)

Memory information:
((conses 8 627415 94254)
 (symbols 32 39542 0)
 (miscs 32 2927 2752)
 (strings 16 96216 10380)
 (string-bytes 1 2791428)
 (vectors 8 29703)
 (vector-slots 4 811758 11860)
 (floats 8 160 493)
 (intervals 28 57349 168)
 (buffers 508 298))