From: Pip Cet <pipcet@gmail.com>
To: 36312@debbugs.gnu.org
Subject: bug#36312: 27.0.50; (message) in display spec condition causes emacs_abort()
Date: Thu, 20 Jun 2019 16:06:25 +0000 [thread overview]
Message-ID: <CAOqdjBcdwWK2Xx_uAKqtX6E5x7r3ysakoOnW5RVAWEz7qRv-RQ@mail.gmail.com> (raw)
In emacs -Q, evaluate
(let ((o (make-overlay (point) (point))))
(overlay-put o 'after-string (propertize " " 'display
'(when (message "a")
. "b"))))
This causes a SIGABRT in the bidi stack code.
Backtrace:
#0 0x00007ffff4b4d5cb in raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x000055555559573b in terminate_due_to_signal
(sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=40) at emacs.c:406
#2 0x0000555555595b37 in emacs_abort () at sysdep.c:2453
#3 0x00005555555942e3 in bidi_pop_it (bidi_it=bidi_it@entry=0x7fffffff99b0)
at bidi.c:947
#4 0x00005555555b2174 in pop_it (it=0x7fffffff8fc0) at xdisp.c:6356
#5 0x00005555555c3594 in next_overlay_string (it=it@entry=0x7fffffff8fc0)
at xdisp.c:5754
#6 0x00005555555c8edc in set_iterator_to_next
(it=0x7fffffff8fc0, reseat_p=<optimized out>) at xdisp.c:7871
#7 0x00005555555cf9ba in display_line
(it=0x7fffffff8fc0, cursor_vpos=<optimized out>) at xdisp.c:22296
#8 0x00005555555d491b in try_window
(window=window@entry=0x555555f99fa5, pos=..., flags=flags@entry=1)
at xdisp.c:17863
#9 0x00005555555e80df in redisplay_window
(window=0x555555f99fa5, just_this_one_p=<optimized out>) at xdisp.c:17311
#10 0x00005555555eae1e in redisplay_window_1
(window=window@entry=0x555555f99fa5)
at xdisp.c:15044
#11 0x00005555556eb3ca in internal_condition_case_1
(bfun=bfun@entry=0x5555555eadf0 <redisplay_window_1>,
arg=0x555555f99fa5, handlers=<optimized out>,
hfun=hfun@entry=0x5555555afd00 <redisplay_window_error>)
at eval.c:1376
#12 0x00005555555d834f in redisplay_internal () at xdisp.c:14614
#13 0x000055555567b5d7 in read_char
(commandflag=1, map=0x555556856f83, prev_event=0x0,
used_mouse_menu=0x7fffffffe4db, end_time=0x0) at keyboard.c:2474
#14 0x000055555567df1e in read_key_sequence
(keybuf=0x7fffffffe5e0, prompt=0x0, dont_downcase_last=<optimized
out>, can_return_switch_frame=true, fix_current_buffer=true,
prevent_redisplay=<optimized out>)
at keyboard.c:9111
#15 0x000055555567f6fc in command_loop_1 () at lisp.h:1045
#16 0x00005555556eb332 in internal_condition_case
(bfun=bfun@entry=0x55555567f520 <command_loop_1>,
handlers=handlers@entry=0x55b0, hfun=hfun@entry=0x555555676d20
<cmd_error>) at eval.c:1352
#17 0x0000555555671d14 in command_loop_2 (ignore=ignore@entry=0x0) at
lisp.h:1045
#18 0x00005555556eb2b1 in internal_catch
(tag=tag@entry=0xcc30, func=func@entry=0x555555671cf0
<command_loop_2>, arg=arg@entry=0x0) at eval.c:1113
#19 0x0000555555671cbb in command_loop () at lisp.h:1045
#20 0x0000555555676926 in recursive_edit_1 () at keyboard.c:714
#21 0x0000555555676c45 in Frecursive_edit () at keyboard.c:786
#22 0x000055555559b227 in main (argc=2, argv=0x7fffffffe978) at emacs.c:1962
It's reproducible here, so I can provide more debugging information if
required.
I'm aware that doing complicated stuff in a display spec condition is
a bad idea, but I think debug messages are such an important special
case that we ought, at least, not to abort completely for those.
Setting redisplay--bidi-inhibit to t works around the problem.
next reply other threads:[~2019-06-20 16:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-20 16:06 Pip Cet [this message]
2019-06-20 18:11 ` bug#36312: 27.0.50; (message) in display spec condition causes emacs_abort() Eli Zaretskii
2019-06-20 19:32 ` Pip Cet
2019-06-21 7:34 ` Eli Zaretskii
2019-06-21 8:13 ` Pip Cet
2019-06-21 8:39 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAOqdjBcdwWK2Xx_uAKqtX6E5x7r3ysakoOnW5RVAWEz7qRv-RQ@mail.gmail.com \
--to=pipcet@gmail.com \
--cc=36312@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.