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

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

bug#32265: 26.1; yank-excluded-properties set to t triggers "Error in sy


From: Noam Postavsky
Subject: bug#32265: 26.1; yank-excluded-properties set to t triggers "Error in syntax_table logic for intervals <-" signal
Date: Tue, 31 Jul 2018 21:06:08 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

> I presume just calling set-text-properties with the same arguments
> there doesn't trigger the problem?  If so, I think we need to
> understand how come we got offset=-1 in frame #4.

Actually, it looks like it can be triggered with just
set-text-properties, but there is some interaction with
c-before-change.  I've reduced the testcase to this:

    (defconst dir (file-name-directory
                   (or load-file-name buffer-file-name)))

    (pop-to-buffer-same-window (get-buffer-create "*test*"))
    (erase-buffer)
    (insert-file-contents (expand-file-name "U.java" dir))
    (java-mode)
    (set-text-properties 10467 10542 nil)

The the after and before change functions can be reduced and still
trigger the assertion except for c-before-change which is needed to
reproduce:

    (let ((before-change-functions
           '(c-before-change ;t syntax-ppss-flush-cache
             ))
          (after-change-functions nil))
      (set-text-properties 10467 10542 nil))

The backtrace no longer has a negative offset to blame:

../../src/intervals.c:371: Emacs fatal error: assertion failed: LENGTH (i) > 0

(gdb) bt 8
#0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at 
../../src/emacs.c:364
#1  0x00000000006161d3 in die (msg=0x7795cd "LENGTH (i) > 0", file=0x7794f0 
"../../src/intervals.c", 
    line=371) at ../../src/alloc.c:7410
#2  0x00000000006b51c4 in balance_an_interval (i=0x324b0b0) at 
../../src/intervals.c:371
#3  0x00000000006b5792 in split_interval_right (interval=0x181f380 
<bss_sbrk_buffer+10524736>, 
    offset=4048) at ../../src/intervals.c:504
#4  0x00000000006bfe11 in set_text_properties_1 (start=make_number(10467), 
end=make_number(10542), 
    properties=XIL(0), object=XIL(0x2f64925), i=0x181f380 
<bss_sbrk_buffer+10524736>)
    at ../../src/textprop.c:1436
#5  0x00000000006bfcad in set_text_properties (start=make_number(10467), 
end=make_number(10542), 
    properties=XIL(0), object=XIL(0x2f64925), coherent_change_p=XIL(0xc090))
    at ../../src/textprop.c:1397
#6  0x00000000006bf9d6 in Fset_text_properties (start=make_number(10467), 
end=make_number(10542), 
    properties=XIL(0), object=XIL(0)) at ../../src/textprop.c:1304
#7  0x000000000063c85d in eval_sub (form=XIL(0x1546ae3)) at 
../../src/eval.c:2248
(More stack frames follow...)

Lisp Backtrace:
"set-text-properties" (0xffffbc70)
"eval-buffer" (0xffffbfb0)
"load-with-code-conversion" (0xffffc538)
"load" (0xffffc918)
"command-line-1" (0xffffd270)
"command-line" (0xffffde88)
"normal-top-level" (0xffffe4b0)






reply via email to

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