Subject: bug#16674: closed (Re: bug#16674: 24.3.50; crash: redisplay_internal, update_frame, using client-daemon in tmux)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 28 Jul 2014 06:35:04 +0000

Your bug report

#16674: 24.3.50; crash: redisplay_internal, update_frame, using client-daemon in tmux

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 [email-masked].

-- 
16674: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16674
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#16674: 24.3.50; crash: redisplay_internal, update_frame, using client-daemon in tmux
From: Eli Zaretskii <[email-masked]>
To: Mark Oteiza <[email-masked]>
Cc: [email-masked]
Date: Mon, 28 Jul 2014 09:34:20 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Mark Oteiza <[email-masked]>
> Date: Sun, 27 Jul 2014 13:50:31 -0400
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> From: Mark Oteiza <[email-masked]>
> >> Date: Sun, 27 Jul 2014 12:51:15 -0400
> >> 
> >> With 113891 reverted, a visible frame is always found and selected if
> >> one closes a client frame, also all the visible clients will always
> >> respond to resizes.
> >
> > But what about the original recipes described in #15025?  The change I
> > made to solve #18112 cannot possibly fix it, because all it does is
> > fix the calculation of the _dimensions_ of the frame being resized.
> > So reverting 113891 is almost certainly going to reintroduce #15025.
> 
> My mistake. I had tried this recipe
> <https://lists.gnu.org/archive/html/bug-gnu-emacs/2013-08/msg00282.html>
> but I must have erred somehow.

OK, I will close this bug.  Feel free to file a separate bug report
about what happens when a client frame is closed on another TTY.

Subject: 24.3.50; crash: redisplay_internal, update_frame, using client-daemon in tmux
From: Mark Oteiza <[email-masked]>
To: [email-masked]
Date: Thu, 06 Feb 2014 16:25:07 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

I have had several similar crashes over the past couple weeks, using the
daemon and a variety of clients in and out of tmux sessions.  I attached
the backtrace the most recent crash.

Mark

              Thu 2014-02-06 15:21:39 EST    610  1000   100   6 /usr/bin/emacs-24.3.50
[master* ~/13F/pf]$ sudo systemd-coredumpctl gdb 610
TIME                                         PID   UID   GID SIG EXE
              Thu 2014-02-06 15:21:39 EST    610  1000   100   6 /usr/bin/emacs-24.3.50
GNU gdb (GDB) 7.6.2
Copyright (C) 2013 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-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/emacs-24.3.50...done.

warning: core file may not match specified executable file.
[New LWP 610]
[New LWP 614]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff19d68000
Core was generated by `emacs --daemon'.
Program terminated with signal 6, Aborted.
#0  0x00007f76aff4274b in raise () from /usr/lib/libpthread.so.0
(gdb) bt
#0  0x00007f76aff4274b in raise () from /usr/lib/libpthread.so.0
#1  0x00000000004db076 in terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=40) at emacs.c:378
#2  0x00000000004f4433 in emacs_abort () at sysdep.c:2127
#3  0x00000000004a14c5 in cmcheckmagic (tty=0x2c2d410) at cm.c:120
#4  0x000000000041793b in update_frame_line (f=f@entry=0x12996e8, vpos=50) at dispnew.c:4791
#5  0x000000000041af74 in update_frame_1 (f=f@entry=0x12996e8, force_p=force_p@entry=true, inhibit_id_p=inhibit_id_p@entry=false) at dispnew.c:4461
#6  0x000000000041caeb in update_frame (f=f@entry=0x12996e8, force_p=<optimized out>, force_p@entry=false, inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3073
#7  0x0000000000449da7 in redisplay_internal () at xdisp.c:13665
#8  0x000000000044bba0 in redisplay_preserve_echo_area (from_where=from_where@entry=11) at xdisp.c:13879
#9  0x000000000058a3ef in wait_reading_process_output (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true,
    wait_for_cell=wait_for_cell@entry=12110066, wait_proc=wait_proc@entry=0x0, just_wait_proc=just_wait_proc@entry=0) at process.c:4531
#10 0x00000000004e23c7 in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=<optimized out>, kbp=<synthetic pointer>) at keyboard.c:3894
#11 read_event_from_main_queue (used_mouse_menu=<optimized out>, local_getcjmp=<optimized out>, end_time=0x0) at keyboard.c:2239
#12 read_decoded_event_from_main_queue (end_time=end_time@entry=0x0, local_getcjmp=local_getcjmp@entry=0x7fff19cc4510, prev_event=prev_event@entry=12110066,
    used_mouse_menu=used_mouse_menu@entry=0x7fff19cc479b) at keyboard.c:2302
#13 0x00000000004e66af in read_char (commandflag=1, map=map@entry=46521494, prev_event=12110066, used_mouse_menu=used_mouse_menu@entry=0x7fff19cc479b,
    end_time=end_time@entry=0x0) at keyboard.c:2888
#14 0x00000000004e7463 in read_key_sequence (keybuf=keybuf@entry=0x7fff19cc4870, prompt=12110066, 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, bufsize=30)
    at keyboard.c:9071
#15 0x00000000004e9080 in command_loop_1 () at keyboard.c:1445
#16 0x0000000000549d6e in internal_condition_case (bfun=bfun@entry=0x4e8e90 <command_loop_1>, handlers=<optimized out>, hfun=hfun@entry=0x4dfe30 <cmd_error>) at eval.c:1345
#17 0x00000000004db4de in command_loop_2 (ignore=ignore@entry=12110066) at keyboard.c:1170
#18 0x0000000000549c7b in internal_catch (tag=12157474, func=func@entry=0x4db4c0 <command_loop_2>, arg=12110066) at eval.c:1109
#19 0x00000000004dfa57 in command_loop () at keyboard.c:1149
#20 recursive_edit_1 () at keyboard.c:777
#21 0x00000000004dfd42 in Frecursive_edit () at keyboard.c:841
#22 0x0000000000413c55 in main (argc=<optimized out>, argv=0x7fff19cc4bc8) at emacs.c:1643
(gdb) bt full
#0  0x00007f76aff4274b in raise () from /usr/lib/libpthread.so.0
No symbol table info available.
#1  0x00000000004db076 in terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=40) at emacs.c:378
No locals.
#2  0x00000000004f4433 in emacs_abort () at sysdep.c:2127
No locals.
#3  0x00000000004a14c5 in cmcheckmagic (tty=0x2c2d410) at cm.c:120
No locals.
#4  0x000000000041793b in update_frame_line (f=f@entry=0x12996e8, vpos=50) at dispnew.c:4791
        obody = <optimized out>
        nbody = 0x7f76a3f29b70
        op1 = <optimized out>
        op2 = <optimized out>
        np1 = <optimized out>
        nend = <optimized out>
        tem = <optimized out>
        osp = <optimized out>
        nsp = <optimized out>
        begmatch = <optimized out>
        endmatch = <optimized out>
        olen = 0
        nlen = 79
        current_row = 0x2c68240
        desired_row = <optimized out>
        must_write_whole_line_p = true
        write_spaces_p = <optimized out>
        colored_spaces_p = <optimized out>
#5  0x000000000041af74 in update_frame_1 (f=f@entry=0x12996e8, force_p=force_p@entry=true, inhibit_id_p=inhibit_id_p@entry=false) at dispnew.c:4461
        current_matrix = 0x2a4ef70
        desired_matrix = 0x2b2a4f0
        i = <optimized out>
        pause_p = <optimized out>
        preempt_count = 17
#6  0x000000000041caeb in update_frame (f=f@entry=0x12996e8, force_p=<optimized out>, force_p@entry=false, inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3073
        paused_p = <optimized out>
#7  0x0000000000449da7 in redisplay_internal () at xdisp.c:13665
        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>
        sf = <optimized out>
        polling_stopped_here = 1
        tail = 45575638
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = false
---Type <return> to continue, or q <return> to quit---
#8  0x000000000044bba0 in redisplay_preserve_echo_area (from_where=from_where@entry=11) at xdisp.c:13879
No locals.
#9  0x000000000058a3ef in wait_reading_process_output (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true,
    wait_for_cell=wait_for_cell@entry=12110066, wait_proc=wait_proc@entry=0x0, just_wait_proc=just_wait_proc@entry=0) at process.c:4531
        timeout_reduced_for_timers = false
        channel = <optimized out>
        nfds = <optimized out>
        Available = {fds_bits = {992, 0 <repeats 15 times>}}
        Writeok = {fds_bits = {0 <repeats 16 times>}}
        check_write = true
        check_delay = 0
        no_avail = <optimized out>
        xerrno = 4
        proc = <optimized out>
        timeout = {tv_sec = 100000, tv_nsec = 0}
        wait_channel = -1
        got_some_input = false
#10 0x00000000004e23c7 in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=<optimized out>, kbp=<synthetic pointer>) at keyboard.c:3894
        do_display = <optimized out>
        obj = <optimized out>
#11 read_event_from_main_queue (used_mouse_menu=<optimized out>, local_getcjmp=<optimized out>, end_time=0x0) at keyboard.c:2239
        c = <optimized out>
        save_jump = {{__jmpbuf = {44877984, 46645184, 0, 1, 19502824, 4311824, 18914848, 19502824}, __mask_was_saved = 1, __saved_mask = {__val = {0, 18914853, 5844648, 8192,
                5844648, 8192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}}}
        kb = <optimized out>
#12 read_decoded_event_from_main_queue (end_time=end_time@entry=0x0, local_getcjmp=local_getcjmp@entry=0x7fff19cc4510, prev_event=prev_event@entry=12110066,
    used_mouse_menu=used_mouse_menu@entry=0x7fff19cc479b) at keyboard.c:2302
        terminal = <optimized out>
        events = {0, 46576294, 140733626204896, 140733626878681, 140733626205056, 4307077362, 140733626205056, 20085296, 13878432, 5677, 16925, 140147731967853, 0, 6075762,
          14257168, 12110066}
        n = <optimized out>
#13 0x00000000004e66af in read_char (commandflag=1, map=map@entry=46521494, prev_event=12110066, used_mouse_menu=used_mouse_menu@entry=0x7fff19cc479b,
    end_time=end_time@entry=0x0) at keyboard.c:2888
        c = <optimized out>
        local_getcjmp = {{__jmpbuf = {43912192, 8350626081242229992, 20085296, 13878432, 5677, 46521494, -8350425976639968024, 8350624602771959016}, __mask_was_saved = 0,
            __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 0, 44046464, 5497916, 12142546, 44046464, 0, 16207264, 16485968, 5477142, 2}}}}
        save_jump = {{__jmpbuf = {44877984, 46645184, 0, 1, 19502824, 4311824, 18914848, 19502824}, __mask_was_saved = 1, __saved_mask = {__val = {0, 18914853, 5844648, 8192,
                5844648, 8192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}}}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 12110066
        also_record = 12110066
        reread = false
        polling_stopped_here = true
        orig_kboard = 0xd3c4a0
#14 0x00000000004e7463 in read_key_sequence (keybuf=keybuf@entry=0x7fff19cc4870, prompt=12110066, 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, bufsize=30)
    at keyboard.c:9071
        interrupted_kboard = 0xd3c4a0
        interrupted_frame = 0x29e0c48
---Type <return> to continue, or q <return> to quit---
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = <optimized out>
        keys_local_start = <optimized out>
        new_binding = <optimized out>
        t = <optimized out>
        echo_start = 0
        keys_start = 0
        current_binding = 46521494
        first_event = 12110066
        first_unbound = 31
        mock_input = 0
        fkey = {parent = 44988422, map = 44988422, start = 0, end = 0}
        keytran = {parent = 12089926, map = 12089926, start = 0, end = 0}
        indec = {parent = 44988438, map = 44988438, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = 12110066
        original_uppercase = 12232850
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x2a01880
        fake_prefixed_keys = 12110066
#15 0x00000000004e9080 in command_loop_1 () at keyboard.c:1445
        cmd = <optimized out>
        keybuf = {96, 76, 196, 236, 200, 264, 140733626206576, 140733626206512, 12110066, 12110066, 140733626207168, 1, 46435926, 5559188, 12157426, 46435926, 8639745,
          12110066, 46435926, 5111306, 140733626206512, 46435926, 12110066, 5111612, 12109824, 5479082, 12233890, 64, 15447990, 5547587}
        i = <optimized out>
        prev_modiff = 123690
        prev_buffer = 0x2a01880
#16 0x0000000000549d6e in internal_condition_case (bfun=bfun@entry=0x4e8e90 <command_loop_1>, handlers=<optimized out>, hfun=hfun@entry=0x4dfe30 <cmd_error>) at eval.c:1345
        val = <optimized out>
        c = <optimized out>
#17 0x00000000004db4de in command_loop_2 (ignore=ignore@entry=12110066) at keyboard.c:1170
        val = 0
#18 0x0000000000549c7b in internal_catch (tag=12157474, func=func@entry=0x4db4c0 <command_loop_2>, arg=12110066) at eval.c:1109
        val = <optimized out>
        c = <optimized out>
#19 0x00000000004dfa57 in command_loop () at keyboard.c:1149
No locals.
#20 recursive_edit_1 () at keyboard.c:777
        val = 20085232
#21 0x00000000004dfd42 in Frecursive_edit () at keyboard.c:841
        buffer = 12110066
#22 0x0000000000413c55 in main (argc=<optimized out>, argv=0x7fff19cc4bc8) at emacs.c:1643
        dummy = 140147689943936
        stack_bottom_variable = -1 '\377'
        do_initial_setlocale = <optimized out>
        dumping = <optimized out>
        skip_args = 1
---Type <return> to continue, or q <return> to quit---
        rlim = {rlim_cur = 8720000, rlim_max = 18446744073709551615}
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x7f76ad467018 "\340\346%\255v\177"
        original_pwd = <optimized out>
(gdb)

In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars)
 of 2014-02-02 on holos
Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=lucid 'CFLAGS=-march=x86-64
 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -g
 -fvar-tracking-assignments' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

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

Major mode: Lisp Interaction

Minor modes in effect:
  show-paren-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/usr/share/emacs/site-lisp/timeclock hides /usr/share/emacs/24.3.50/lisp/calendar/timeclock

Features:
(shadow emacsbug sendmail vc-git nnir flow-fill shr browse-url misearch
multi-isearch qp mm-archive mule-util sort ansi-color gnus-cite
mail-extr gnus-async gnus-bcklg gnus-ml disp-table nndraft nnmh utf-7
nnimap utf7 nnfolder parse-time netrc gnutls network-stream auth-source
eieio byte-opt bytecomp byte-compile cconv eieio-core starttls tls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 epg-config mm-view mml-smime smime password-cache dig
mailcap nntp gnus-cache gnus-sum nnoo gnus-group gnus-undo nnmail
mail-source gnus-start gnus-spec gnus-int gnus-range message idna
format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus gnus-ems nnheader gnus-util mail-utils mm-util
mail-prsvr wid-edit xterm advice help-fns windmove edmacro kmacro
cl-loaddefs cl-lib time-date paren zenburn-theme saveplace 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 x-toolkit x multi-tty emacs)