From: Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
To: "Michał Kondraciuk" <k.michal@zoho.com>
Cc: 32038@debbugs.gnu.org
Subject: bug#32038: 27.0.50; Emacs hangs when using :propertize mode line construct and not providing a property value
Date: Mon, 02 Jul 2018 23:46:42 -0500 [thread overview]
Message-ID: <8736x16i4t.fsf@jonathanmitchell.org> (raw)
In-Reply-To: <87in5xf6xa.fsf@jonathanmitchell.org>
[-- Attachment #1: Type: text/plain, Size: 668 bytes --]
Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> writes:
> Michał Kondraciuk <k.michal@zoho.com> writes:
>
>> When I evaluate this, Emacs becomes unresponsive and keeps
>> consuming 100% of my cpu:
>>
>> (progn
>> (setq mode-line-format '(:propertize "a" face))
>> (force-mode-line-update))
>>
>> Repository revision: ee3e432300054ca488896e39fca57b10d733330a
>
> I can also reproduce this issue on Emacs 26.1.
I compiled a debug build of Emacs 27.0.50 and took the attached
backtrace with a breakpoing on `error'. Emacs stopped in
`validate_plist' as called from `set_text_properties' with the message
"Odd length text property list".
[-- Attachment #2: bug#32038 set_text_propery backtrace --]
[-- Type: text/plain, Size: 7081 bytes --]
Current directory is /home/jonathan/emacs/src/
GNU gdb (GDB) Fedora 8.1-18.fc28
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/jonathan/emacs/src/emacs...done.
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0
TERM = dumb
(gdb) break error
Breakpoint 3 at 0x5c0f36: file eval.c, line 1913.
(gdb) start
Temporary breakpoint 4 at 0x52f4b9: file emacs.c, line 679.
Starting program: /home/jonathan/emacs/src/emacs -Q
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[New Thread 0x7fffdc233700 (LWP 23217)]
Thread 1 "emacs" hit Temporary breakpoint 4, main (argc=2, argv=0x7fffffffe538) at emacs.c:679
679 {
(gdb) cont
Continuing.
[Switching to thread 2 (Thread 0x7fffdc233700 (LWP 23217))](running)
[New Thread 0x7fffcecb6700 (LWP 23218)]
warning: Loadable section ".note.gnu.property" outside of ELF segments
[New Thread 0x7fffce118700 (LWP 23219)]
[New Thread 0x7fffcd787700 (LWP 23220)]
Thread 1 "emacs" hit Breakpoint 3, error (m=m@entry=0x6a75a0 "Odd length text property list") at eval.c:1913
1913 {
(gdb) bt
#0 0x00000000005c0f36 in error (m=m@entry=0x6a75a0 "Odd length text property list") at eval.c:1913
#1 0x00000000006264aa in validate_plist (list=...) at textprop.c:212
#2 0x0000000000629bbc in set_text_properties (start=make_number(0), end=make_number(1), properties=..., object=..., coherent_change_p=..., coherent_change_p@entry=XIL(0xc750)) at textprop.c:1357
#3 0x0000000000629e6c in Fset_text_properties (start=..., start@entry=make_number(0), end=..., properties=..., properties@entry=XIL(0x13a3513), object=..., object@entry=XIL(0x3078304)) at lisp.h:942
#4 0x000000000045f626 in display_mode_element (it=it@entry=0x7fffffff8f70, depth=2, depth@entry=1, field_width=field_width@entry=0, precision=precision@entry=0, elt=XIL(0x3078304), props=props@entry=XIL(0x13a3513), risky=false) at lisp.h:1031
#5 0x000000000045fec8 in display_mode_element (it=it@entry=0x7fffffff8f70, depth=1, depth@entry=0, field_width=field_width@entry=0, precision=precision@entry=0, elt=..., elt@entry=XIL(0x13a36e3), props=..., props@entry=XIL(0), risky=false) at lisp.h:1302
#6 0x00000000004610b9 in display_mode_line (w=w@entry=0x1522c30 <bss_sbrk_buffer+8240528>, face_id=MODE_LINE_FACE_ID, format=format@entry=XIL(0x13a36e3)) at lisp.h:942
#7 0x00000000004614ea in display_mode_lines (w=w@entry=0x1522c30 <bss_sbrk_buffer+8240528>) at xdisp.c:23390
#8 0x000000000047c34d in redisplay_window (window=XIL(0x1522c35), just_this_one_p=just_this_one_p@entry=false) at xdisp.c:17559
#9 0x000000000047cf31 in redisplay_window_0 (window=..., window@entry=XIL(0x1522c35)) at xdisp.c:14939
#10 0x00000000005bf066 in internal_condition_case_1 (bfun=bfun@entry=0x47cf02 <redisplay_window_0>, arg=..., arg@entry=XIL(0x1522c35), handlers=..., hfun=hfun@entry=0x43973e <redisplay_window_error>) at eval.c:1373
#11 0x000000000044396b in redisplay_windows (window=XIL(0x1522c35)) at xdisp.c:14919
#12 0x000000000046b7fa in redisplay_internal () at xdisp.c:14402
#13 0x000000000046ce49 in redisplay () at xdisp.c:13612
#14 0x0000000000540290 in read_char (commandflag=1, map=..., map@entry=XIL(0x13a1d03), prev_event=XIL(0), used_mouse_menu=used_mouse_menu@entry=0x7fffffffe11b, end_time=end_time@entry=0x0) at keyboard.c:2451
#15 0x0000000000541ce6 in read_key_sequence (keybuf=keybuf@entry=0x7fffffffe1e0, prompt=XIL(0), dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at keyboard.c:9104
#16 0x00000000005433df in command_loop_1 () at lisp.h:942
#17 0x00000000005befc1 in internal_condition_case (bfun=bfun@entry=0x54317e <command_loop_1>, handlers=..., handlers@entry=XIL(0x54c0), hfun=hfun@entry=0x537bea <cmd_error>) at eval.c:1349
#18 0x0000000000535344 in command_loop_2 (ignore=..., ignore@entry=XIL(0)) at lisp.h:942
#19 0x00000000005bef09 in internal_catch (tag=..., func=func@entry=0x53532c <command_loop_2>, arg=..., arg@entry=XIL(0)) at eval.c:1114
#20 0x0000000000532c56 in command_loop () at lisp.h:942
#21 0x000000000053742f in recursive_edit_1 () at keyboard.c:703
#22 0x000000000053794b in Frecursive_edit () at keyboard.c:774
#23 0x00000000005302b5 in main (argc=<optimized out>, argv=0x7fffffffe538) at emacs.c:1720
Lisp Backtrace:
"redisplay_internal (C function)" (0x0)
(gdb) info reg
rax 0x0 0
rbx 0x0 0
rcx 0x3078304 50823940
rdx 0x13a3513 20591891
rsi 0x6 6
rdi 0x6a75a0 6976928
rbp 0x13a3513 0x13a3513 <bss_sbrk_buffer+6669939>
rsp 0x7fffffff8d88 0x7fffffff8d88
r8 0xc750 51024
r9 0x13a3513 20591891
r10 0x10fd 4349
r11 0x31558b8 51730616
r12 0x0 0
r13 0x6 6
r14 0x2 2
r15 0xc750 51024
rip 0x5c0f36 0x5c0f36 <error>
eflags 0x293 [ CF AF SF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb)
[-- Attachment #3: Type: text/plain, Size: 27 bytes --]
--
Jonathan Kyle Mitchell
next prev parent reply other threads:[~2018-07-03 4:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-02 16:15 bug#32038: 27.0.50; Emacs hangs when using :propertize mode line construct and not providing a property value Michał Kondraciuk
2018-07-03 1:24 ` Jonathan Kyle Mitchell
2018-07-03 4:46 ` Jonathan Kyle Mitchell [this message]
2018-07-04 3:12 ` Jonathan Kyle Mitchell
2018-07-04 15:07 ` Eli Zaretskii
2018-07-05 4:14 ` Jonathan Kyle Mitchell
2018-07-14 11:30 ` Eli Zaretskii
2018-07-15 17:21 ` Jonathan Kyle Mitchell
2018-07-21 16:39 ` bug#32237: 27.0.50; Function in before-change-functions is called with first argument greater than the second Michał Kondraciuk
2018-07-21 18:06 ` 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=8736x16i4t.fsf@jonathanmitchell.org \
--to=kyle@jonathanmitchell.org \
--cc=32038@debbugs.gnu.org \
--cc=k.michal@zoho.com \
/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.