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.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Dmitry Antipov <dmantipov <at> yandex.ru>
Subject: bug#18036: closed (Re: bug#18036: 24.4.50; Too large fringe width
 causes hang in redisplay)
Date: Wed, 16 Jul 2014 18:44:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#18036: 24.4.50; Too large fringe width causes hang in redisplay

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 18036 <at> debbugs.gnu.org.

-- 
18036: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18036
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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).

[Message part 3 (message/rfc822, inline)]
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



This bug report was last modified 10 years and 316 days ago.

Previous Next


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