all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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

  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.