GNU bug report logs - #18036
24.4.50; Too large fringe width causes hang in redisplay

Previous Next

Package: emacs;

Reported by: Dmitry Antipov <dmantipov <at> yandex.ru>

Date: Wed, 16 Jul 2014 17:50:01 UTC

Severity: normal

Found in version 24.4.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18036 in the body.
You can then email your comments to 18036 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#18036; Package emacs. (Wed, 16 Jul 2014 17:50:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dmitry Antipov <dmantipov <at> yandex.ru>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 16 Jul 2014 17:50:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Antipov <dmantipov <at> yandex.ru>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.4.50; Too large fringe width causes hang in redisplay
Date: Wed, 16 Jul 2014 21:47:09 +0400
Recently I erroneously set left-fringe-width to some large number
(don't remember an exact value), and got infloop in redisplay afterwards:

#0  0x000000000045578a in move_it_to (it=0x7fff7386b590, to_charpos=192, to_x=-1, to_y=-1, to_vpos=-1, op=8)
    at ../../trunk/src/xdisp.c:9319
#1  0x0000000000455af0 in move_it_vertically_backward (it=0x7fff7386d090, dy=306) at ../../trunk/src/xdisp.c:9400
#2  0x000000000046bdf2 in redisplay_window (window=..., just_this_one_p=false) at ../../trunk/src/xdisp.c:16475
#3  0x0000000000462d28 in redisplay_window_0 (window=...) at ../../trunk/src/xdisp.c:14247
#4  0x0000000000609711 in internal_condition_case_1 (bfun=0x462ce6 <redisplay_window_0>, arg=..., handlers=...,
    hfun=0x462cb5 <redisplay_window_error>) at ../../trunk/src/eval.c:1373
#5  0x0000000000462c93 in redisplay_windows (window=...) at ../../trunk/src/xdisp.c:14227
#6  0x0000000000461aed in redisplay_internal () at ../../trunk/src/xdisp.c:13826
#7  0x000000000045f830 in redisplay () at ../../trunk/src/xdisp.c:13112
#8  0x000000000056af5c in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fff7386f4bf, end_time=0x0)
    at ../../trunk/src/keyboard.c:2560
#9  0x000000000057a593 in read_key_sequence (keybuf=0x7fff7386f6a0, bufsize=30, prompt=..., dont_downcase_last=false,
    can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at ../../trunk/src/keyboard.c:9084
#10 0x0000000000567f1e in command_loop_1 () at ../../trunk/src/keyboard.c:1438
#11 0x00000000006095a0 in internal_condition_case (bfun=0x567b5c <command_loop_1>, handlers=..., hfun=0x56732c <cmd_error>)
    at ../../trunk/src/eval.c:1349
#12 0x00000000005677fa in command_loop_2 (ignore=...) at ../../trunk/src/keyboard.c:1169
#13 0x0000000000608a23 in internal_catch (tag=..., func=0x5677d7 <command_loop_2>, arg=...) at ../../trunk/src/eval.c:1113
#14 0x00000000005677ae in command_loop () at ../../trunk/src/keyboard.c:1148
#15 0x0000000000566e58 in recursive_edit_1 () at ../../trunk/src/keyboard.c:769
#16 0x0000000000567028 in Frecursive_edit () at ../../trunk/src/keyboard.c:840
#17 0x0000000000564f2f in main (argc=4, argv=0x7fff7386fb28) at ../../trunk/src/emacs.c:1650

Recipe to reproduce is very simple:

./src/emacs -Q --eval '(progn (setq left-fringe-width 1000) (switch-to-buffer "test") (kill-buffer))'

This recipe works for all X-aware configurations on GNU/Linux.

Dmitry




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Wed, 16 Jul 2014 18:44:02 GMT) Full text and rfc822 format available.

Notification sent to Dmitry Antipov <dmantipov <at> yandex.ru>:
bug acknowledged by developer. (Wed, 16 Jul 2014 18:44:03 GMT) Full text and rfc822 format available.

Message #10 received at 18036-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Antipov <dmantipov <at> yandex.ru>
Cc: 18036-done <at> debbugs.gnu.org
Subject: Re: bug#18036: 24.4.50;
 Too large fringe width causes hang in redisplay
Date: Wed, 16 Jul 2014 21:42:49 +0300
> Date: Wed, 16 Jul 2014 21:47:09 +0400
> From: Dmitry Antipov <dmantipov <at> yandex.ru>
> 
> Recently I erroneously set left-fringe-width to some large number
> (don't remember an exact value), and got infloop in redisplay afterwards:
> 
> #0  0x000000000045578a in move_it_to (it=0x7fff7386b590, to_charpos=192, to_x=-1, to_y=-1, to_vpos=-1, op=8)
>      at ../../trunk/src/xdisp.c:9319
> #1  0x0000000000455af0 in move_it_vertically_backward (it=0x7fff7386d090, dy=306) at ../../trunk/src/xdisp.c:9400
> #2  0x000000000046bdf2 in redisplay_window (window=..., just_this_one_p=false) at ../../trunk/src/xdisp.c:16475
> #3  0x0000000000462d28 in redisplay_window_0 (window=...) at ../../trunk/src/xdisp.c:14247
> #4  0x0000000000609711 in internal_condition_case_1 (bfun=0x462ce6 <redisplay_window_0>, arg=..., handlers=...,
>      hfun=0x462cb5 <redisplay_window_error>) at ../../trunk/src/eval.c:1373
> #5  0x0000000000462c93 in redisplay_windows (window=...) at ../../trunk/src/xdisp.c:14227
> #6  0x0000000000461aed in redisplay_internal () at ../../trunk/src/xdisp.c:13826
> #7  0x000000000045f830 in redisplay () at ../../trunk/src/xdisp.c:13112
> #8  0x000000000056af5c in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fff7386f4bf, end_time=0x0)
>      at ../../trunk/src/keyboard.c:2560
> #9  0x000000000057a593 in read_key_sequence (keybuf=0x7fff7386f6a0, bufsize=30, prompt=..., dont_downcase_last=false,
>      can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at ../../trunk/src/keyboard.c:9084
> #10 0x0000000000567f1e in command_loop_1 () at ../../trunk/src/keyboard.c:1438
> #11 0x00000000006095a0 in internal_condition_case (bfun=0x567b5c <command_loop_1>, handlers=..., hfun=0x56732c <cmd_error>)
>      at ../../trunk/src/eval.c:1349
> #12 0x00000000005677fa in command_loop_2 (ignore=...) at ../../trunk/src/keyboard.c:1169
> #13 0x0000000000608a23 in internal_catch (tag=..., func=0x5677d7 <command_loop_2>, arg=...) at ../../trunk/src/eval.c:1113
> #14 0x00000000005677ae in command_loop () at ../../trunk/src/keyboard.c:1148
> #15 0x0000000000566e58 in recursive_edit_1 () at ../../trunk/src/keyboard.c:769
> #16 0x0000000000567028 in Frecursive_edit () at ../../trunk/src/keyboard.c:840
> #17 0x0000000000564f2f in main (argc=4, argv=0x7fff7386fb28) at ../../trunk/src/emacs.c:1650
> 
> Recipe to reproduce is very simple:
> 
> ./src/emacs -Q --eval '(progn (setq left-fringe-width 1000) (switch-to-buffer "test") (kill-buffer))'

Thanks, this is now fixed in the emacs-24 branch (r117381).




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 14 Aug 2014 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 265 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.