GNU bug report logs - #18196
24.4.50; crash when setting face background in terminal frame

Previous Next

Package: emacs;

Reported by: Nicolas Avrutin <nicolasavru <at> gmail.com>

Date: Tue, 5 Aug 2014 08:16:01 UTC

Severity: normal

Merged with 18136

Found in version 24.4.50

Done: Glenn Morris <rgm <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 18196 in the body.
You can then email your comments to 18196 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#18196; Package emacs. (Tue, 05 Aug 2014 08:16:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Avrutin <nicolasavru <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 05 Aug 2014 08:16:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.4.50; crash when setting face background in terminal frame
Date: Tue, 05 Aug 2014 04:12:20 -0400
Starting emacs with -nw and setting a face background (only tested with
the 'default face) causes emacs to crash.

Steps to reproduce:
1. build emacs from trunk (the crash does not occur on the emacs-24
branch)
2. emacs -Q -nw
3. M-: (set-face-attribute 'default nil :background "blue")

Backtrace:
(gdb) bt full
#0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=40) at emacs.c:359
No locals.
#1  0x00000000004f4e77 in emacs_abort () at sysdep.c:2198
No locals.
#2  0x000000000049ea53 in cmcheckmagic (tty=0x6, tty <at> entry=0x13c6ce0) at cm.c:120
No locals.
#3  0x00000000004a4a48 in tty_write_glyphs (f=<optimized out>, string=0xe35a50, len=<optimized out>) at term.c:802
        conversion_buffer = <optimized out>
        coding = 0x13c6a70
        n = <optimized out>
        stringlen = 0
        tty = 0x13c6ce0
#4  0x00000000004a6ee8 in write_glyphs (f=f <at> entry=0xbe4e38, string=string <at> entry=0xe34130, len=len <at> entry=134) at terminal.c:162
No locals.
#5  0x000000000041b01c in update_frame_line (f=f <at> entry=0xbe4e38, vpos=<optimized out>) at dispnew.c:4854
        obody = 0x0
        nbody = 0xe34130
        op1 = <optimized out>
        op2 = <optimized out>
        np1 = <optimized out>
        nend = 0xe35a50
        tem = <optimized out>
        osp = <optimized out>
        nsp = <optimized out>
        begmatch = <optimized out>
        endmatch = <optimized out>
        olen = 0
        nlen = 134
        current_matrix = <optimized out>
        desired_matrix = <optimized out>
        current_row = <optimized out>
        desired_row = <optimized out>
        must_write_whole_line_p = <optimized out>
        write_spaces_p = <optimized out>
        colored_spaces_p = true
#6  0x000000000041caf3 in update_frame_1 (f=f <at> entry=0xbe4e38, force_p=force_p <at> entry=true, inhibit_id_p=inhibit_id_p <at> entry=false, 
    set_cursor_p=set_cursor_p <at> entry=true) at dispnew.c:4515
        current_matrix = 0xbe8420
        desired_matrix = 0xbe83b0
        i = <optimized out>
        pause_p = <optimized out>
        preempt_count = 17
#7  0x000000000041dbf0 in update_frame (f=f <at> entry=0xbe4e38, force_p=true, force_p <at> entry=false, 
    inhibit_hairy_id_p=inhibit_hairy_id_p <at> entry=false) at dispnew.c:3116
        paused_p = <optimized out>
#8  0x00000000004512a4 in redisplay_internal () at xdisp.c:13869
        gcscrollbars = <optimized out>
        w = <optimized out>
        sw = <optimized out>
        pending = <optimized out>
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = <optimized out>
        tlendpos = <optimized out>
        number_of_visible_frames = <optimized out>
        polling_stopped_here = 1
        tail = 12362998
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
#9  0x00000000004517fd in redisplay () at xdisp.c:13115
No locals.
#10 0x00000000004e838b in read_char (commandflag=1, map=map <at> entry=19795862, prev_event=12390578, 
    used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffc25b, end_time=end_time <at> entry=0x0) at keyboard.c:2563
        echo_current = false
        c = <optimized out>
        jmpcount = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {16752048, 5179671, 12390578, 0, 12417413, 12423154, 192, 0}, 
            __mask_was_saved = -16040, 
            __saved_mask = {
              __val = {12390578, 12390578, 16752054, 0, 2, 19795878, 4294967295, 12390578, 12390626, 12390578, 5181284, 19584758, 
                12390578, 12390626, 0, 12390578}
            }
          }}
        save_jump = {{
---Type <return> to continue, or q <return> to quit---
            __jmpbuf = {0, 0, 0, -1, 4294967297, 4, 0, 0}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5488403, 0, 5468688, 2, 15884032, 16910658}
            }
          }}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 12390578
        also_record = 12390578
        reread = false
        polling_stopped_here = false
        orig_kboard = 0x13c92d0
#11 0x00000000004e99a9 in read_key_sequence (keybuf=keybuf <at> entry=0x7fffffffc320, bufsize=bufsize <at> entry=30, prompt=<optimized out>, 
    dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, 
    fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=false) at keyboard.c:9125
        interrupted_kboard = 0x13c92d0
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = <optimized out>
        new_binding = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = 19795862
        first_event = 12390578
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 15725926, 
          map = 15725926, 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = 12370502, 
          map = 12370502, 
          start = 0, 
          end = 0
        }
        indec = {
          parent = 15725942, 
          map = 15725942, 
          start = 0, 
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = 12390578
        original_uppercase = 12581826
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0xbd7980
        fake_prefixed_keys = 12390578
#12 0x00000000004eb2b8 in command_loop_1 () at keyboard.c:1438
        cmd = <optimized out>
        keybuf = {108, 232, 11995584, 12390400, 0, 5470196, 140737488339968, 5535579, 12515824, 12390578, 12390578, 12390578, 
          20586736, 12390578, 0, 5470239, 12515826, 5470566, 12515824, 2, 12625046, 5533128, 0, 2, 15899862, 4000, 1, 0, 0, 5541270}
        i = <optimized out>
        prev_modiff = 10
        prev_buffer = 0xbd7980
#13 0x0000000000546570 in internal_condition_case (bfun=bfun <at> entry=0x4eafbc <command_loop_1>, handlers=12442482, 
    hfun=hfun <at> entry=0x4e22f6 <cmd_error>) at eval.c:1347
        val = <optimized out>
        c = <optimized out>
#14 0x00000000004de295 in command_loop_2 (ignore=ignore <at> entry=12390578) at keyboard.c:1169
        val = <optimized out>
#15 0x0000000000546451 in internal_catch (tag=12438450, func=func <at> entry=0x4de27b <command_loop_2>, arg=12390578) at eval.c:1111
        val = <optimized out>
        c = <optimized out>
#16 0x00000000004de22d in command_loop () at keyboard.c:1148
No locals.
#17 0x00000000004e1f58 in recursive_edit_1 () at keyboard.c:769
        val = <optimized out>
---Type <return> to continue, or q <return> to quit---
#18 0x00000000004e2228 in Frecursive_edit () at keyboard.c:840
        buffer = <optimized out>
#19 0x00000000004ddce4 in main (argc=<optimized out>, argv=0x7fffffffc638) at emacs.c:1650
        dummy = 6031885
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = <optimized out>
        dumping = false
        skip_args = 1
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0

Lisp Backtrace:
"redisplay_internal (C function)" (0xb99298)


In GNU Emacs 24.4.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2)
 of 2014-08-05 on gateway
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Arch Linux

Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --mandir=/usr/share/man --with-sound=alsa
 --without-gconf --with-x-toolkit=gtk3 --without-toolkit-scroll-bars
 --with-xft 'CFLAGS=-Og -g3' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
M-x r e p o r t - e m <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util help-fns mail-prsvr mail-utils time-date tooltip
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 75917 8244)
 (symbols 48 17987 0)
 (miscs 40 38 91)
 (strings 32 10685 4040)
 (string-bytes 1 302814)
 (vectors 16 9357)
 (vector-slots 8 386642 15148)
 (floats 8 70 190)
 (intervals 56 185 0)
 (buffers 976 11)
 (heap 1024 15888 917))
 
-- 
Nicolas Avrutin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 05 Aug 2014 08:53:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Nicolas Avrutin <nicolasavru <at> gmail.com>, 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Tue, 05 Aug 2014 10:51:51 +0200
> Steps to reproduce:
> 1. build emacs from trunk (the crash does not occur on the emacs-24
> branch)
> 2. emacs -Q -nw
> 3. M-: (set-face-attribute 'default nil :background "blue")
>
> Backtrace:
> (gdb) bt full
> #0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=40) at emacs.c:359
> No locals.
> #1  0x00000000004f4e77 in emacs_abort () at sysdep.c:2198
> No locals.
> #2  0x000000000049ea53 in cmcheckmagic (tty=0x6, tty <at> entry=0x13c6ce0) at cm.c:120

This is bug#18136 hitting again.  I'm on it but it may take some time.

Thanks, martin





Merged 18136 18196. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 05 Aug 2014 09:01:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 05 Aug 2014 09:56:01 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Nicolas Avrutin <nicolasavru <at> gmail.com>, 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Tue, 05 Aug 2014 11:55:32 +0200
[Message part 1 (text/plain, inline)]
> This is bug#18136 hitting again.  I'm on it but it may take some time.

Can you try the attached patch?

Thanks, martin


[tty-frame-size.diff (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 05 Aug 2014 16:58:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Tue, 05 Aug 2014 12:34:36 -0400
On Tue, Aug 05 2014, martin rudalics <rudalics <at> gmx.at> wrote:
> Can you try the attached patch?

Your patch fixes this crash, however it introduces a new crash when
opening a new frame in emacs -nw. This crash is not present without your
patch.

In addition, I've also found another related issue that was present
before your patch, though it might be better suited for bug #18136.
After opening emacs -nw and resizing the terminal or creating a new
frame [C-x 5 2], the modeline moves down a line and overlaps the
echo area. It is then possible to get the modeline back up by either
closing all subsequent frames [C-x 5 0] or turning the menu bar off
and on [M-: (menu-bar-mode -1) RET M-: (menu-bar-mode 1) RET]

As for the crash:
Steps to reproduce (with your patch applied):
1. emacs -Q -nw
2. C-x 5 2

Backtrace:
(gdb) bt full
#0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=40) at emacs.c:359
No locals.
#1  0x00000000004f4ea8 in emacs_abort () at sysdep.c:2198
No locals.
#2  0x000000000049ea76 in cmcheckmagic (tty=0x6, tty <at> entry=0x13c6ce0) at cm.c:120
No locals.
#3  0x00000000004a4a6b in tty_write_glyphs (f=<optimized out>, string=0xcf81d0, len=<optimized out>) at term.c:802
        conversion_buffer = <optimized out>
        coding = 0x13c6a70
        n = <optimized out>
        stringlen = 0
        tty = 0x13c6ce0
#4  0x00000000004a6f0b in write_glyphs (f=f <at> entry=0x10dfaa0, string=string <at> entry=0xcf68b0, len=len <at> entry=134) at terminal.c:162
No locals.
#5  0x000000000041b01c in update_frame_line (f=f <at> entry=0x10dfaa0, vpos=vpos <at> entry=75) at dispnew.c:4854
        obody = 0x0
        nbody = 0xcf68b0
        op1 = <optimized out>
        op2 = <optimized out>
        np1 = <optimized out>
        nend = 0xcf81d0
        tem = <optimized out>
        osp = <optimized out>
        nsp = <optimized out>
        begmatch = <optimized out>
        endmatch = <optimized out>
        olen = 0
        nlen = 134
        current_matrix = <optimized out>
        desired_matrix = <optimized out>
        current_row = <optimized out>
        desired_row = <optimized out>
        must_write_whole_line_p = <optimized out>
        write_spaces_p = <optimized out>
        colored_spaces_p = false
#6  0x000000000041cb9a in update_frame_1 (f=f <at> entry=0x10dfaa0, force_p=force_p <at> entry=true, inhibit_id_p=<optimized out>, 
    inhibit_id_p <at> entry=false, set_cursor_p=set_cursor_p <at> entry=true) at dispnew.c:4541
        current_matrix = 0xc7cb70
        desired_matrix = 0x13ed3f0
        i = 75
        pause_p = <optimized out>
        preempt_count = 17
#7  0x000000000041dbf0 in update_frame (f=f <at> entry=0x10dfaa0, force_p=true, force_p <at> entry=false, 
    inhibit_hairy_id_p=inhibit_hairy_id_p <at> entry=false) at dispnew.c:3116
        paused_p = <optimized out>
#8  0x00000000004512c7 in redisplay_internal () at xdisp.c:13869
        gcscrollbars = <optimized out>
        w = <optimized out>
        sw = <optimized out>
        pending = <optimized out>
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = <optimized out>
        tlendpos = <optimized out>
        number_of_visible_frames = <optimized out>
        polling_stopped_here = 1
        tail = 19721462
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
#9  0x0000000000451820 in redisplay () at xdisp.c:13115
No locals.
#10 0x00000000004e83bc in read_char (commandflag=1, map=map <at> entry=14224790, prev_event=12390578, 
    used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffc25b, end_time=end_time <at> entry=0x0) at keyboard.c:2566
        echo_current = true
        c = <optimized out>
        jmpcount = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {16752048, 5179720, 12390578, 0, 12417413, 12423154, 192, 0}, 
            __mask_was_saved = -16040, 
            __saved_mask = {
              __val = {12390578, 12390578, 16752054, 4, 2, 14224774, 4294967295, 12390578, 12390626, 12390578, 5181333, 19584758, 
                12390578, 17693349, 0, 12390578}
            }
          }}
        save_jump = {{
---Type <return> to continue, or q <return> to quit---
            __jmpbuf = {0, 140737352476816, 140737353742776, 4241052, 140737243393400, 4212872, 12390578, 20237522}, 
            __mask_was_saved = 20237522, 
            __saved_mask = {
              __val = {20237522, 12390578, 5, 12390578, 20237522, 12425333, 140737351932527, 3, 140733193388034, 5, 5488452, 
                12529426, 12417408, 2, 15884032, 16910658}
            }
          }}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 12390578
        also_record = 12390578
        reread = false
        polling_stopped_here = false
        orig_kboard = 0x13c92d0
#11 0x00000000004e99da in read_key_sequence (keybuf=keybuf <at> entry=0x7fffffffc320, bufsize=bufsize <at> entry=30, prompt=<optimized out>, 
    dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, 
    fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=false) at keyboard.c:9128
        interrupted_kboard = 0x13c92d0
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = <optimized out>
        new_binding = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = 14224790
        first_event = 12390578
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 15725926, 
          map = 15725926, 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = 12370502, 
          map = 12370502, 
          start = 0, 
          end = 0
        }
        indec = {
          parent = 15725942, 
          map = 15725942, 
          start = 0, 
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = 12390578
        original_uppercase = 12514784
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0xbd7980
        fake_prefixed_keys = 12390578
#12 0x00000000004eb2e9 in command_loop_1 () at keyboard.c:1438
        cmd = <optimized out>
        keybuf = {96, 212, 200, 12390400, 0, 5470245, 140737488339968, 5535628, 12515824, 12390578, 12390578, 12390578, 20586736, 
          12390578, 0, 5470288, 12515826, 5470615, 12515824, 2, 12625046, 5533177, 0, 2, 15899862, 4000, 1, 0, 0, 5541319}
        i = <optimized out>
        prev_modiff = 10
        prev_buffer = 0xbd7980
#13 0x00000000005465a1 in internal_condition_case (bfun=bfun <at> entry=0x4eafed <command_loop_1>, handlers=12442482, 
    hfun=hfun <at> entry=0x4e2321 <cmd_error>) at eval.c:1347
        val = <optimized out>
        c = <optimized out>
#14 0x00000000004de2c3 in command_loop_2 (ignore=ignore <at> entry=12390578) at keyboard.c:1169
        val = <optimized out>
#15 0x0000000000546482 in internal_catch (tag=12438450, func=func <at> entry=0x4de2a9 <command_loop_2>, arg=12390578) at eval.c:1111
        val = <optimized out>
        c = <optimized out>
#16 0x00000000004de25b in command_loop () at keyboard.c:1148
No locals.
#17 0x00000000004e1f83 in recursive_edit_1 () at keyboard.c:769
---Type <return> to continue, or q <return> to quit---
        val = <optimized out>
#18 0x00000000004e2253 in Frecursive_edit () at keyboard.c:840
        buffer = <optimized out>
#19 0x00000000004ddd12 in main (argc=<optimized out>, argv=0x7fffffffc638) at emacs.c:1650
        dummy = 6031933
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = <optimized out>
        dumping = false
        skip_args = 1
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0

Lisp Backtrace:
"redisplay_internal (C function)" (0xb99298)


-- 
Nicolas Avrutin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 05 Aug 2014 17:49:01 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Nicolas Avrutin <nicolasavru <at> gmail.com>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Tue, 05 Aug 2014 19:47:54 +0200
[Message part 1 (text/plain, inline)]
> Your patch fixes this crash, however it introduces a new crash when
> opening a new frame in emacs -nw. This crash is not present without your
> patch.

I see.  Please try again with the attached patch.

Thanks, martin

[tty-frame-size.diff (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 05 Aug 2014 19:11:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Tue, 05 Aug 2014 15:06:11 -0400
On Tue, Aug 05 2014, martin rudalics <rudalics <at> gmx.at> wrote:
> I see.  Please try again with the attached patch.

Looks good! This one seems to solve the crashes and also fixes the issue
I mentioned with the modeline and echo area.

Thanks
-- 
Nicolas Avrutin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 05 Aug 2014 21:29:01 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Tue, 05 Aug 2014 17:18:07 -0400
On Tue, Aug 05 2014, Nicolas Avrutin <nicolasavru <at> gmail.com> wrote:
> ...  also fixes the issue I mentioned with the modeline and echo area.

Actually, it doesn't completely fix that issue. It happens much less,
but I can still reproduce it sometimes. If I open emacsclient -nw in a
small terminal (less than 1/4 of my 1920x1080 screen), all text is black
(and thus invisible) and the modeline again creeps into the echo area,
though an old replica of the modeline remains one line above the echo
area. In addition, the menu bar is invisible and contains a copy of the
first line of text.

When this happens, I can almost always fix it by enlarging the terminal
(full-screening it, for exaample) and then restoring it to the small
size. My guess (based on skimming the discussion in bug #18136) would be
that some function is being called when the terminal (and thus frame) is
resized, but not when the frame is first created.

-- 
Nicolas Avrutin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Wed, 06 Aug 2014 09:43:01 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Nicolas Avrutin <nicolasavru <at> gmail.com>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Wed, 06 Aug 2014 11:42:01 +0200
[Message part 1 (text/plain, inline)]
>> ...  also fixes the issue I mentioned with the modeline and echo area.
>
> Actually, it doesn't completely fix that issue. It happens much less,
> but I can still reproduce it sometimes. If I open emacsclient -nw in a
> small terminal (less than 1/4 of my 1920x1080 screen), all text is black
> (and thus invisible) and the modeline again creeps into the echo area,
> though an old replica of the modeline remains one line above the echo
> area. In addition, the menu bar is invisible and contains a copy of the
> first line of text.
>
> When this happens, I can almost always fix it by enlarging the terminal
> (full-screening it, for exaample) and then restoring it to the small
> size. My guess (based on skimming the discussion in bug #18136) would be
> that some function is being called when the terminal (and thus frame) is
> resized, but not when the frame is first created.

Might be.  I attached a new patch.  If you still see the problem please
tell me the size of the terminal and maybe add a screenshot.  Can you
type into the text window or the minibuffer when it happens?

martin
[tty-frame-size.diff (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Wed, 06 Aug 2014 16:21:01 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Wed, 06 Aug 2014 11:40:59 -0400
[Message part 1 (text/plain, inline)]
On Wed, Aug 06 2014, martin rudalics <rudalics <at> gmx.at> wrote:
> Might be.  I attached a new patch.  If you still see the problem please
> tell me the size of the terminal and maybe add a screenshot.  Can you
> type into the text window or the minibuffer when it happens?

The second issue is still there with the last patch. Interestingly
enough, I can only reproduce this with emacsclient, not emacs itself. I
don't see a difference with this issue between your second patch and
your third patch.

Steps to reproduce:
1. emacs -Q
2. M-: server-start
3. emacsclient -nw

The dimensions of the terminal with the emacsclient are 134 cols and 38
lines (according to tput cols and tput lines). The dimensions of the
terminal window (including scroll bar and 1px window border on all
sides) should be 960x540 (1/4 of a 1920x1080 screen). I don't know the
exact width of the scroll bar, so I can't easily give you the dimensions
of the "interior" of the terminal. I can also reproduce the issue with a
terminal smaller than this.

Screenshots:
1.png: emacs window on the left, terminal from which emacs was opened on
the top right, terminal with emacsclient -nw opened in the bottom right.
Notice that neither the next from the *scratch* buffer nor the menu bar
are visible.

2.png: I type "foo bar" in the emacsclient. The text appears in
emacsclient and the emacs window because they are both in the *scratch*
buffer. Notice how in the emacsclient, the buffer is marked as modified
on the line below the displayed modeline. The modeline is actually on
the bottom line, not on the second line from the bottom. The second line
is a static artifact.

3.png: I press M-: and type something in the minibuffer. It overwrites
the actual modeline on the bottom line, of which the modified buffer
marker was the only thing visible. Entering the minibuffer caused an
entry in the menubar to change. The new entry (Minibuf Help) is now visible.

4.png: I press C-g to exit the minibuffer then RET to advance to the
next line and then down arrow. The line number in the modeline (line 6)
is displayed on the last line, the same line as the echo area. The
menubar is updated.

5.png: I press C-SPC and up arrow to select the next on the first few
lines. The next becomes visible now.

6.png: I press C-g to cancel the selection. The text remains visible.

7.png: I press F10 to open the menu and then F10 again to close it. The
parts of the menubar that were redrawn when I did that (File part of
Edit) are visible now. I press C-x C-f and open a new file. Most of the
modeline is redrawn on the bottom line. The original location of the
modeline on the second to last has not been redrawn since openening the
emacsclient.

At any point, if I full-screen the terminal with the emacsclient, the
entire emacsclient gets redrawn and the display bugs disappear. If I
then restore the terminal to the smaller size, it continues to function
properly.

Thanks

[1.png (image/png, attachment)]
[2.png (image/png, attachment)]
[3.png (image/png, attachment)]
[4.png (image/png, attachment)]
[5.png (image/png, attachment)]
[6.png (image/png, attachment)]
[7.png (image/png, attachment)]
[Message part 9 (text/plain, inline)]
-- 
Nicolas Avrutin

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Wed, 06 Aug 2014 18:10:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Wed, 06 Aug 2014 13:59:43 -0400
[Message part 1 (text/plain, inline)]
Doesn't seem like my email went though because my screenshots were too
large. Let's try this again.

On Wed, Aug 06 2014, martin rudalics <rudalics <at> gmx.at> wrote:
> Might be.  I attached a new patch.  If you still see the problem please
> tell me the size of the terminal and maybe add a screenshot.  Can you
> type into the text window or the minibuffer when it happens?

The second issue is still there with the last patch. Interestingly
enough, I can only reproduce this with emacsclient, not emacs itself. I
don't see a difference with this issue between your second patch and
your third patch.

Steps to reproduce:
1. emacs -Q
2. M-: server-start
3. emacsclient -nw

The dimensions of the terminal with the emacsclient are 134 cols and 38
lines (according to tput cols and tput lines). The dimensions of the
terminal window (including scroll bar and 1px window border on all
sides) should be 960x540 (1/4 of a 1920x1080 screen). I don't know the
exact width of the scroll bar, so I can't easily give you the dimensions
of the "interior" of the terminal. I can also reproduce the issue with a
terminal smaller than this.

Screenshots:
1.png: emacs window on the left, terminal from which emacs was opened on
the top right, terminal with emacsclient -nw opened in the bottom right.
Notice that neither the next from the *scratch* buffer nor the menu bar
are visible.

2.png: I type "foo bar" in the emacsclient. The text appears in
emacsclient and the emacs window because they are both in the *scratch*
buffer. Notice how in the emacsclient, the buffer is marked as modified
on the line below the displayed modeline. The modeline is actually on
the bottom line, not on the second line from the bottom. The second line
is a static artifact.

3.png: I press M-: and type something in the minibuffer. It overwrites
the actual modeline on the bottom line, of which the modified buffer
marker was the only thing visible. Entering the minibuffer caused an
entry in the menubar to change. The new entry (Minibuf Help) is now visible.

4.png: I press C-g to exit the minibuffer then RET to advance to the
next line and then down arrow. The line number in the modeline (line 6)
is displayed on the last line, the same line as the echo area. The
menubar is updated.

5.png: I press C-SPC and up arrow to select the next on the first few
lines. The next becomes visible now.

6.png: I press C-g to cancel the selection. The text remains visible.

7.png: I press F10 to open the menu and then F10 again to close it. The
parts of the menubar that were redrawn when I did that (File part of
Edit) are visible now. I press C-x C-f and open a new file. Most of the
modeline is redrawn on the bottom line. The original location of the
modeline on the second to last has not been redrawn since openening the
emacsclient.

At any point, if I full-screen the terminal with the emacsclient, the
entire emacsclient gets redrawn and the display bugs disappear. If I
then restore the terminal to the smaller size, it continues to function
properly.

Thanks
[1.png (image/png, attachment)]
[2.png (image/png, attachment)]
[3.png (image/png, attachment)]
[4.png (image/png, attachment)]
[5.png (image/png, attachment)]
[6.png (image/png, attachment)]
[7.png (image/png, attachment)]
[Message part 9 (text/plain, inline)]
-- 
Nicolas Avrutin

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Thu, 07 Aug 2014 15:09:03 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Nicolas Avrutin <nicolasavru <at> gmail.com>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Thu, 07 Aug 2014 17:08:11 +0200
> Steps to reproduce:
> 1. emacs -Q
> 2. M-: server-start
> 3. emacsclient -nw

Easily reproducible.

> The dimensions of the terminal with the emacsclient are 134 cols and 38
> lines (according to tput cols and tput lines). The dimensions of the
> terminal window (including scroll bar and 1px window border on all
> sides) should be 960x540 (1/4 of a 1920x1080 screen). I don't know the
> exact width of the scroll bar, so I can't easily give you the dimensions
> of the "interior" of the terminal. I can also reproduce the issue with a
> terminal smaller than this.

Hopefully this was a trivial bug which tried to apply the minimum pixel
height of your server root window (some few lines multiplied by your
default character height, I get a value of 72 here) to the terminal
window.  This can easily exceed the capabilities of the terminal window
(which is clearly less than 72 lines here).  I checked in a fix.  Please
try again with the latest trunk and the last patch I sent you (provided
it still applies).

In any case this raises a general question for TTYs: How to proceed when
the terminal window is made so small that the Emacs windows won't fit
any more in their frame?  This is an unlikely situation and we earlier
handled it by deleting all windows but the frame's selected window.  I
suppose I have to do that now again :-(

Thanks for the illustrative caps, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Thu, 07 Aug 2014 15:37:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org, nicolasavru <at> gmail.com
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Thu, 07 Aug 2014 18:36:53 +0300
> Date: Thu, 07 Aug 2014 17:08:11 +0200
> From: martin rudalics <rudalics <at> gmx.at>
> Cc: 18196 <at> debbugs.gnu.org
> 
> In any case this raises a general question for TTYs: How to proceed when
> the terminal window is made so small that the Emacs windows won't fit
> any more in their frame?  This is an unlikely situation and we earlier
> handled it by deleting all windows but the frame's selected window.  I
> suppose I have to do that now again :-(

Yes.  But if that somehow doesn't play right, just exiting would be
OK, I think.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Thu, 07 Aug 2014 18:16:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Thu, 07 Aug 2014 14:12:17 -0400
On Thu, Aug 07 2014, martin rudalics <rudalics <at> gmx.at> wrote:
> Please try again with the latest trunk and the last patch I sent you
> (provided it still applies).

Everything looks good. Your patch still applies fine and fixes the face
background crash, and your commit fixes the terminal emacsclient display
issue.

Thanks

-- 
Nicolas Avrutin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Fri, 08 Aug 2014 08:44:01 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Nicolas Avrutin <nicolasavru <at> gmail.com>
Cc: 18196 <at> debbugs.gnu.org, Mat Smiglarski <penthief <at> SDF.ORG>,
 "eliz <at> gnu.org" <eliz <at> gnu.org>
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Fri, 08 Aug 2014 10:43:05 +0200
[Message part 1 (text/plain, inline)]
> Everything looks good. Your patch still applies fine and fixes the face
> background crash, and your commit fixes the terminal emacsclient display
> issue.

OK.  This was part one of our endeavour.  We now have to discuss with
Eli on how to proceed.  The current patch has three advantages:

(1) It doesn't violate the uniform interface where all calls to
    change_frame_size and adjust_frame_size use the window's text sizes
    as arguments.

(2) It doesn't require any change in window.c.

(3) It has been tested.

It has the following disadvantages:

(1) Code changes in term.c and w32console.c from FRAME_LINES to
    FRAME_TOTAL_LINES.

(2) change_frame_size and adjust_frame_size must be explicitly called
    with FRAME_MENU_BAR_LINES subtracted after calling get_tty_size.

Alternatively, I could try to do what I mentioned earlier: Change the
definition of FRAME_TOP_MARGIN and FRAME_TOP_MARGIN_HEIGHT so that these
do not count the menubar for TTY frames.  This means that I would have
to check every use of these macros for whether the underlying system is
a TTY or not.  This solution would have the following advantages:

(1) Code in term.c and w32console.c would remain unchanged.

(2) The calls of change_frame_size and adjust_frame_size after a
    get_tty_size would remain unchanged.

Disadvantages are:

(1) Code in window.c would have to be special cased for TTY: Affected
    are Fdelete_other_windows_internal, Fwindow_resize_apply_total and
    resize_frame_windows.

(2) I don't yet know how the two uses of FRAME_TOP_MARGIN in dispnew.c
    would be affected.  I suspect that something there might be fishy
    anyway without any visible consequences but am too silly to
    understand it.

(3) The semantics of the size arguments in change_frame_size and
    adjust_frame_size would become inconsistent wrt GUI builds.  We'd
    include the menubar for TTYs and exclude them for GUIs.

(4) We'd have to specially mention TTYs in all documentations of frame
    size parameters and functions setting or querying the size of
    frames.

Personally, I think that the real show-stopper here is (4).  One major
aim of adjust_frame_size was to provide a unified concept where
functions like `frame-text-height' and `set-frame-height' conceptually
do not count menu and tool bars throughout all builds, that is, always
refer to the "same object".

In any case I once more attach the patch I posted earlier.  Mat could
you try whether it solves Bug#18161 for you?

martin
[tty-frame-size.diff (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Fri, 08 Aug 2014 09:20:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org, penthief <at> SDF.ORG, nicolasavru <at> gmail.com
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Fri, 08 Aug 2014 12:19:26 +0300
> Date: Fri, 08 Aug 2014 10:43:05 +0200
> From: martin rudalics <rudalics <at> gmx.at>
> CC: 18196 <at> debbugs.gnu.org, "eliz <at> gnu.org" <eliz <at> gnu.org>, 
>  Mat Smiglarski <penthief <at> SDF.ORG>
> 
> OK.  This was part one of our endeavour.  We now have to discuss with
> Eli on how to proceed.  The current patch has three advantages:
> 
> (1) It doesn't violate the uniform interface where all calls to
>      change_frame_size and adjust_frame_size use the window's text sizes
>      as arguments.
> 
> (2) It doesn't require any change in window.c.
> 
> (3) It has been tested.
> 
> It has the following disadvantages:
> 
> (1) Code changes in term.c and w32console.c from FRAME_LINES to
>      FRAME_TOTAL_LINES.
> 
> (2) change_frame_size and adjust_frame_size must be explicitly called
>      with FRAME_MENU_BAR_LINES subtracted after calling get_tty_size.

I don't mind these disadvantages, if what you describe is all of
them.  (I don't know enough about the code involved to have my own
opinion on the disadvantages.)

So, unless you prefer the other alternatives, I have no objections to
your going ahead with this one.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Fri, 08 Aug 2014 10:12:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 18196 <at> debbugs.gnu.org, penthief <at> SDF.ORG, nicolasavru <at> gmail.com
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Fri, 08 Aug 2014 12:10:56 +0200
> I don't mind these disadvantages, if what you describe is all of
> them.  (I don't know enough about the code involved to have my own
> opinion on the disadvantages.)

I hope I listed them all.

> So, unless you prefer the other alternatives, I have no objections to
> your going ahead with this one.

Fine.  I'll wait till I get a response from Mat Smiglarski.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Fri, 08 Aug 2014 14:39:02 GMT) Full text and rfc822 format available.

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

From: Mat Smiglarski <penthief <at> SDF.ORG>
To: martin rudalics <rudalics <at> gmx.at>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 18196 <at> debbugs.gnu.org, nicolasavru <at> gmail.com
Subject: Re: bug#18196: 24.4.50; crash when setting face background in
 terminal frame
Date: Fri, 08 Aug 2014 15:38:38 +0100
> Fine.  I'll wait till I get a response from Mat Smiglarski.
> 
> Thanks, martin

Oh, hello. I am in the process of relocating and won't see my laptop 
until Monday.

I am sorry I cannot confirm the patch works on this occasion.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Sun, 10 Aug 2014 09:18:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Nicolas Avrutin <nicolasavru <at> gmail.com>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Sun, 10 Aug 2014 11:17:46 +0200
> Everything looks good. Your patch still applies fine and fixes the face
> background crash, and your commit fixes the terminal emacsclient display
> issue.

I checked that in now as revision#117679 on trunk.  Please check whether
everything works as expected.  And thanks again for your invaluable help
in debugging this.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Sun, 10 Aug 2014 09:19:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Mat Smiglarski <penthief <at> SDF.ORG>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 18196 <at> debbugs.gnu.org, nicolasavru <at> gmail.com
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Sun, 10 Aug 2014 11:18:11 +0200
> Oh, hello. I am in the process of relocating and won't see my laptop until Monday.
>
> I am sorry I cannot confirm the patch works on this occasion.

I meanwhile checked it in on trunk as revision#117679.  Please update
your trunk as soon as you can and tell me whether it fixes your bug.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Sun, 10 Aug 2014 23:51:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Avrutin <nicolasavru <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50;
 crash when setting face background in terminal frame
Date: Sun, 10 Aug 2014 19:43:10 -0400
On Sun, Aug 10 2014, martin rudalics <rudalics <at> gmx.at> wrote:
> I checked that in now as revision#117679 on trunk.  Please check whether
> everything works as expected.  And thanks again for your invaluable help
> in debugging this.

Everything looks good. Thanks for the quick fixes to these bugs.

-- 
Nicolas Avrutin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 12 Aug 2014 04:05:02 GMT) Full text and rfc822 format available.

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

From: tsugutomo.enami <at> jp.sony.com
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Tue, 12 Aug 2014 13:00:27 +0900
> I meanwhile checked it in on trunk as revision#117679.

Hi.

I still have a problem regarding to tty frame height and toggling
menu-bar-mode even after the revision#117679 (actually, I have emacs
built from revision#117691).

The symptom is that the value of frame height in frame-parameter remain
unchanged after menu-bar-mode is toggled.  As a result, screen is drawed
wrong or incorrect scroll region is set when emacs is suspended (until,
for example, sending SIGWINCH by kill command or by changing terminal
size).

I guess change_frame_size needs to be called with updated
FRAME_MENU_BAR_LINES when menu-bar-mode is toggled.

If necessary, I'll file another bug report so please let me know.

enami.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 12 Aug 2014 09:54:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: tsugutomo.enami <at> jp.sony.com
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Tue, 12 Aug 2014 11:53:35 +0200
> I still have a problem regarding to tty frame height and toggling
> menu-bar-mode even after the revision#117679 (actually, I have emacs
> built from revision#117691).
>
> The symptom is that the value of frame height in frame-parameter remain
> unchanged after menu-bar-mode is toggled.  As a result, screen is drawed
> wrong or incorrect scroll region is set when emacs is suspended (until,
> for example, sending SIGWINCH by kill command or by changing terminal
> size).
>
> I guess change_frame_size needs to be called with updated
> FRAME_MENU_BAR_LINES when menu-bar-mode is toggled.

I guess you're right and I did so in revision 117694 on trunk.  This
should also fix an older crash when toggling the menu bar on with a one
line high window on top of the frame.

> If necessary, I'll file another bug report so please let me know.

Please do so if the bug persists, a new one was introduced or you
notice any other anomaly.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 12 Aug 2014 21:28:02 GMT) Full text and rfc822 format available.

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

From: Mat Smiglarski <penthief <at> SDF.ORG>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in
 terminal frame
Date: Tue, 12 Aug 2014 22:27:24 +0100
On 2014-08-08 09:43, martin rudalics wrote:
> In any case I once more attach the patch I posted earlier.  Mat could
> you try whether it solves Bug#18161 for you?

On 2014-08-10 10:18, martin rudalics wrote:
> I meanwhile checked it in on trunk as revision#117679.  Please update
> your trunk as soon as you can and tell me whether it fixes your bug.

Yes, Bug#18161 is fixed on trunk as well as the emacs-24 branch.

Regards,
Mat

My git-bisect attempt suggests trunk's original fix was here.

commit 09862253094207f2002e457fba5dd569cf19f1cd
Author: martin rudalics <rudalics <at> gmx.at>
Date:   Sun Jul 27 15:21:30 2014 +0200





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Tue, 12 Aug 2014 22:12:02 GMT) Full text and rfc822 format available.

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

From: tsugutomo.enami <at> jp.sony.com
To: martin rudalics <rudalics <at> gmx.at>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Wed, 13 Aug 2014 07:07:07 +0900
Hi,

> I guess you're right and I did so in revision 117694 on trunk.  This
> should also fix an older crash when toggling the menu bar on with a one
> line high window on top of the frame.

I've just tested the revision and now it looks working fine.
Thanks for you quick fix.

enami.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Wed, 13 Aug 2014 06:22:01 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: tsugutomo.enami <at> jp.sony.com
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Wed, 13 Aug 2014 08:21:35 +0200
> I've just tested the revision and now it looks working fine.
> Thanks for you quick fix.

Thanks for checking, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18196; Package emacs. (Wed, 13 Aug 2014 06:23:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Mat Smiglarski <penthief <at> SDF.ORG>
Cc: 18196 <at> debbugs.gnu.org
Subject: Re: bug#18196: 24.4.50; crash when setting face background in terminal
 frame
Date: Wed, 13 Aug 2014 08:21:57 +0200
> Yes, Bug#18161 is fixed on trunk as well as the emacs-24 branch.

Hmmm...   Are you sure it happened on the branch as well?

martin




bug closed, send any further explanations to 18196 <at> debbugs.gnu.org and Nicolas Avrutin <nicolasavru <at> gmail.com> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 13 Aug 2014 15:58:02 GMT) Full text and rfc822 format available.

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

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

Previous Next


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