unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26932: 25.1; Crash triggered a few times a day with network process
@ 2017-05-14 20:54 Vivek Dasmohapatra
  2017-05-15  3:04 ` Eli Zaretskii
                   ` (2 more replies)
  0 siblings, 3 replies; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-05-14 20:54 UTC (permalink / raw)
  To: 26932

[-- Attachment #1: Type: TEXT/PLAIN, Size: 6965 bytes --]

I have a rudimentary mud client in elisp I cobbled together and use
(since emacs23 or so): It's been stable since then. However since
upgrading to emacs25 I've seen 4 crashes of emacs itself - 3 yesterday
and 1 today.

At first I thought perhaps it was keyboard/input related as it seemed
to happen while I was typing, but today while running the client
to see if I could track down the problem emacs segfaulted while
I wasn't typing or using the mouse. I managed to get a backtrace
out of gdb, which I have attached. I can semi-reliably reproduce
the crash.

I haven't been able to run xbacktrace as it hasn't yet crashed while
gdb was attached.

Looking at the backtrace and examining the source, it looks like
it blows up in the maybe_gc inside funcall _just before_ the first
hook in window-scroll-functions is called.

In GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.5)
  of 2017-04-27, modified by Debian built on noise
Windowing system distributor 'The X.Org Foundation', version 11.0.11604000
System Description:     Debian GNU/Linux 8.8 (jessie)

Configured using:
  'configure --build x86_64-linux-gnu --prefix=/usr
  --sharedstatedir=/var/lib --libexecdir=/usr/lib
  --localstatedir=/var/lib --infodir=/usr/share/info
  --mandir=/usr/share/man --with-pop=yes

--enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
  --with-sound=alsa --build x86_64-linux-gnu --prefix=/usr
  --sharedstatedir=/var/lib --libexecdir=/usr/lib
  --localstatedir=/var/lib --infodir=/usr/share/info
  --mandir=/usr/share/man --with-pop=yes

--enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
  --with-sound=alsa --with-x=yes --with-x-toolkit=gtk3
  --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fstack-protector-strong
  -Wformat -Werror=format-security -Wall' CPPFLAGS=-D_FORTIFY_SOURCE=2
  LDFLAGS=-Wl,-z,relro'

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

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

Major mode: Dired by name

Minor modes in effect:
   which-function-mode: t
   diff-auto-refine-mode: t
   magit-auto-revert-mode: t
   global-git-commit-mode: t
   async-bytecomp-package-mode: t
   shell-dirtrack-mode: t
   auto-image-file-mode: t
   iswitchb-mode: t
   tooltip-mode: t
   global-eldoc-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
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   buffer-read-only: t
   column-number-mode: t
   line-number-mode: t

Recent messages:
<elided - this is not the copy that crashed>

Load-path shadows:
/usr/share/emacs/25.1/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs25/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/vivek/.emacs.d/lib/htmlfontify hides /usr/share/emacs/25.1/lisp/htmlfontify
/usr/share/emacs25/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/25.1/lisp/textmodes/flyspell
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/25.1/lisp/textmodes/rst
/usr/share/emacs25/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/25.1/lisp/textmodes/ispell
/home/vivek/.emacs.d/lib/browse-url hides /usr/share/emacs/25.1/lisp/net/browse-url

Features:
(shadow sort mail-extr emacsbug sendmail make-mode pulse eieio-opt
speedbar sb-image ezimage dframe find-func etags xref project dired-aux
autoconf autoconf-mode git-rebase misearch multi-isearch esh-var esh-io
esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module
esh-mode esh-util which-func imenu cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dabbrev vc-git
sh-script smie executable magit-obsolete magit-blame magit-stash
magit-bisect magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-branch magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode
diff-mode magit-core magit-autorevert autorevert filenotify
magit-process magit-margin magit-mode magit-git crm magit-section
magit-popup git-commit magit-utils log-edit message rfc822 mml mml-sec
epg mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader pcvs-util add-log with-editor
async-bytecomp async tramp-sh tramp tramp-compat tramp-loaddefs trampver
ucs-normalize shell pcomplete comint format-spec server dash dired gnus
gnus-ems nnheader mail-utils wid-edit image-file cus-start cus-load
ls-lisp iswitchb edmacro kmacro thingatpt browse-url cl jka-compr wiki
warnings advice url-auth url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util url-parse
auth-source cl-seq eieio eieio-core cl-macs gnus-util mm-util help-fns
mail-prsvr password-cache url-vars mailcap ediff-merg ediff-wind
ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff diff wiki-+
ansi-color lui tracking flyspell ispell ring incomplete finder-inf
tex-site info package epg-config seq byte-opt gv bytecomp byte-compile
cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib debian-el
debian-el-loaddefs emacs-goodies-el emacs-goodies-custom
emacs-goodies-loaddefs easy-mmode dpkg-dev-el dpkg-dev-el-loaddefs
devhelp time-date mule-util tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame
cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded 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 dbusbind inotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 476270 67640)
  (symbols 48 37722 0)
  (miscs 40 599 1669)
  (strings 32 74597 9971)
  (string-bytes 1 19723175)
  (vectors 16 60643)
  (vector-slots 8 1688085 153273)
  (floats 8 386 972)
  (intervals 56 28462 2534)
  (buffers 976 114)
  (heap 1024 80470 3527))


[-- Attachment #2: Type: TEXT/plain, Size: 64184 bytes --]

#0  0x00007f6478ab875b in raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
        resultvar = 0
        pid = <optimized out>
#1  0x00000000004f0184 in terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=40) at emacs.c:381
No locals.
#2  0x0000000000508fd3 in emacs_abort () at sysdep.c:2247
No locals.
#3  0x000000000056463b in Fsignal (error_symbol=error_symbol@entry=28656, data=86599795) at eval.c:1478
        conditions = <optimized out>
        string = <optimized out>
        real_error_symbol = 28656
        clause = <optimized out>
        h = <optimized out>
#4  0x0000000000564649 in xsignal (error_symbol=error_symbol@entry=28656, data=<optimized out>) at eval.c:1577
No locals.
#5  0x0000000000565157 in xsignal1 (error_symbol=error_symbol@entry=28656, arg=<optimized out>) at eval.c:1592
No locals.
#6  0x0000000000533fee in compile_pattern_1 (posix=<optimized out>, translate=0, pattern=<optimized out>, cp=0xb935d0 <searchbufs+6480>) at search.c:154
        val = 0x600576 "Regular expression too big"
        old = 0
#7  compile_pattern (pattern=pattern@entry=61362260, regp=regp@entry=0x0, translate=translate@entry=0, posix=posix@entry=false, multibyte=<optimized out>) at search.c:237
        cp = 0xb935d0 <searchbufs+6480>
        cpp = <optimized out>
#8  0x000000000053619d in fast_string_match_internal (regexp=regexp@entry=61362260, string=string@entry=61914372, table=table@entry=0) at search.c:471
        val = 0
        bufp = <optimized out>
#9  0x000000000051dd61 in fast_string_match (string=61914372, regexp=61362260) at lisp.h:4010
No locals.
#10 Ffind_file_name_handler (filename=filename@entry=61914372, operation=operation@entry=19872) at fileio.c:292
        operations = 0
        chain = 61546355
        inhibited_handlers = 0
        result = 0
        pos = -1
#11 0x000000000051f3c0 in Fexpand_file_name (name=61914372, default_directory=default_directory@entry=0) at fileio.c:809
        nm = <optimized out>
        nmlim = <optimized out>
        newdir = <optimized out>
        newdirlim = <optimized out>
        target = <optimized out>
        tlen = <optimized out>
        pw = <optimized out>
        length = <optimized out>
        nbytes = <optimized out>
        handler = <optimized out>
        result = <optimized out>
        handled_name = <optimized out>
        multibyte = <optimized out>
        hdir = <optimized out>
        sa_avail = 16384
        sa_must_free = false
#12 0x0000000000524298 in Fdo_auto_save (no_message=<optimized out>, no_message@entry=44448, current_only=current_only@entry=0) at fileio.c:5521
        listfile = <optimized out>
        old = 0x37e8330
        tail = <optimized out>
        auto_saved = false
        do_handled_files = <optimized out>
        oquit = 0
        stream = 0x0
        orig_minibuffer_auto_raise = false
        old_message_p = false
        auto_save_unwind = {stream = 0x7f647864bf6e, auto_raise = 40}
#13 0x00000000004effa0 in shut_down_emacs (sig=sig@entry=11, stuff=stuff@entry=0) at emacs.c:2000
No locals.
#14 0x00000000004f0155 in terminate_due_to_signal (sig=sig@entry=11, backtrace_limit=backtrace_limit@entry=40) at emacs.c:365
No locals.
#15 0x0000000000507c7e in handle_fatal_signal (sig=sig@entry=11) at sysdep.c:1601
No locals.
#16 0x0000000000507e33 in deliver_thread_signal (sig=sig@entry=11, handler=0x507c70 <handle_fatal_signal>) at sysdep.c:1575
No locals.
#17 0x0000000000507ebc in deliver_fatal_thread_signal (sig=11) at sysdep.c:1613
No locals.
#18 handle_sigsegv (sig=11, siginfo=<optimized out>, arg=<optimized out>) at sysdep.c:1695
        fatal = <optimized out>
#19 <signal handler called>
No locals.
#20 mark_object (arg=<optimized out>) at alloc.c:6446
        ptr = 0x5ea9170
        obj = <optimized out>
        po = <optimized out>
        cdr_count = <optimized out>
#21 0x000000000054bb63 in mark_object (arg=<optimized out>) at alloc.c:6539
        obj = <optimized out>
        po = <optimized out>
        cdr_count = 2174
#22 0x000000000054d28e in mark_maybe_pointer (p=0x52eb480) at alloc.c:4845
        obj = <optimized out>
        m = <optimized out>
#23 mark_memory (end=0x7fff02b540a8, start=<optimized out>) at alloc.c:4894
        pp = 0x7fff02b514e8 "\200\264.\005"
#24 mark_stack (end=0x7fff02b4f898) at alloc.c:5038
No locals.
#25 garbage_collect_1 (end=0x7fff02b4f898) at alloc.c:5756
        nextb = <optimized out>
        i = <optimized out>
        retval = <optimized out>
        stack_top_variable = 0 '\000'
        message_p = false
        tot_before = 0
        total = {58591408, 0, 0, 8, 2, 5652410, 374496, 11808, 0, -6202091921070732288, 8}
#26 Fgarbage_collect () at alloc.c:5979
        end = 0x7fff02b4f898
#27 0x00000000005639cc in maybe_gc () at lisp.h:4656
No locals.
#28 Ffuncall (nargs=86946816, args=0x7fff02b4fa68) at eval.c:2643
        numargs = 1
        val = 333
        internal_args = 0x7fff02b4fa70
        count = 17
#29 0x00000000005988f3 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=args_template@entry=0, nargs=nargs@entry=0, 
    args=<optimized out>, args@entry=0x0) at bytecode.c:880
        targets = {0x598a78 <exec_byte_code+888>, 0x59a050 <exec_byte_code+6480>, 0x59a058 <exec_byte_code+6488>, 0x59a060 <exec_byte_code+6496>, 0x598838 <exec_byte_code+312>, 
          0x598840 <exec_byte_code+320>, 0x599be0 <exec_byte_code+5344>, 0x599c30 <exec_byte_code+5424>, 0x59a068 <exec_byte_code+6504>, 0x598b08 <exec_byte_code+1032>, 
          0x598ac0 <exec_byte_code+960>, 0x598b10 <exec_byte_code+1040>, 0x598a08 <exec_byte_code+776>, 0x598a10 <exec_byte_code+784>, 0x59a110 <exec_byte_code+6672>, 
          0x598ac8 <exec_byte_code+968>, 0x598b18 <exec_byte_code+1048>, 0x599ec0 <exec_byte_code+6080>, 0x59a320 <exec_byte_code+7200>, 0x599f08 <exec_byte_code+6152>, 
          0x598990 <exec_byte_code+656>, 0x598990 <exec_byte_code+656>, 0x59a2d8 <exec_byte_code+7128>, 0x599ec8 <exec_byte_code+6088>, 0x599f38 <exec_byte_code+6200>, 
          0x599f40 <exec_byte_code+6208>, 0x599f90 <exec_byte_code+6288>, 0x598b20 <exec_byte_code+1056>, 0x598880 <exec_byte_code+384>, 0x598880 <exec_byte_code+384>, 
          0x599ef0 <exec_byte_code+6128>, 0x599f10 <exec_byte_code+6160>, 0x599f88 <exec_byte_code+6280>, 0x599f98 <exec_byte_code+6296>, 0x599fa0 <exec_byte_code+6304>, 
          0x598b28 <exec_byte_code+1064>, 0x5988c8 <exec_byte_code+456>, 0x5988d0 <exec_byte_code+464>, 0x599f48 <exec_byte_code+6216>, 0x599f60 <exec_byte_code+6240>, 
          0x599fd8 <exec_byte_code+6360>, 0x599fd0 <exec_byte_code+6352>, 0x599fe0 <exec_byte_code+6368>, 0x598b30 <exec_byte_code+1072>, 0x598918 <exec_byte_code+536>, 
          0x598920 <exec_byte_code+544>, 0x598af0 <exec_byte_code+1008>, 0x599fa8 <exec_byte_code+6312>, 0x599ad0 <exec_byte_code+5072>, 0x5999f0 <exec_byte_code+4848>, 
          0x59a040 <exec_byte_code+6464>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 
          0x598a78 <exec_byte_code+888>, 0x5990b0 <exec_byte_code+2480>, 0x599140 <exec_byte_code+2624>, 0x599188 <exec_byte_code+2696>, 0x5991d0 <exec_byte_code+2768>, 
          0x599220 <exec_byte_code+2848>, 0x59a290 <exec_byte_code+7056>, 0x59a1d0 <exec_byte_code+6864>, 0x599268 <exec_byte_code+2920>, 0x59a250 <exec_byte_code+6992>, 
          0x59a210 <exec_byte_code+6928>, 0x5992a0 <exec_byte_code+2976>, 0x5992e0 <exec_byte_code+3040>, 0x599310 <exec_byte_code+3088>, 0x599350 <exec_byte_code+3152>, 
          0x599388 <exec_byte_code+3208>, 0x599410 <exec_byte_code+3344>, 0x599440 <exec_byte_code+3392>, 0x599480 <exec_byte_code+3456>, 0x5994c0 <exec_byte_code+3520>, 
          0x5994f0 <exec_byte_code+3568>, 0x599520 <exec_byte_code+3616>, 0x599560 <exec_byte_code+3680>, 0x5995a0 <exec_byte_code+3744>, 0x5995e0 <exec_byte_code+3808>, 
          0x599620 <exec_byte_code+3872>, 0x599658 <exec_byte_code+3928>, 0x599690 <exec_byte_code+3984>, 0x599718 <exec_byte_code+4120>, 0x599760 <exec_byte_code+4192>, 
          0x5997a8 <exec_byte_code+4264>, 0x599880 <exec_byte_code+4480>, 0x5997f8 <exec_byte_code+4344>, 0x599840 <exec_byte_code+4416>, 0x5998c0 <exec_byte_code+4544>, 
          0x599900 <exec_byte_code+4608>, 0x599938 <exec_byte_code+4664>, 0x599980 <exec_byte_code+4736>, 0x59a960 <exec_byte_code+8800>, 0x59a998 <exec_byte_code+8856>, 
          0x59a9d0 <exec_byte_code+8912>, 0x59a7c0 <exec_byte_code+8384>, 0x598960 <exec_byte_code+608>, 0x59a800 <exec_byte_code+8448>, 0x59a830 <exec_byte_code+8496>, 
          0x59a8b0 <exec_byte_code+8624>, 0x59a8f0 <exec_byte_code+8688>, 0x59a930 <exec_byte_code+8752>, 0x59a440 <exec_byte_code+7488>, 0x59a470 <exec_byte_code+7536>, 
          0x59a4a0 <exec_byte_code+7584>, 0x59a4d8 <exec_byte_code+7640>, 0x598a78 <exec_byte_code+888>, 0x59a508 <exec_byte_code+7688>, 0x59a538 <exec_byte_code+7736>, 
          0x59a568 <exec_byte_code+7784>, 0x59a598 <exec_byte_code+7832>, 0x59a5c8 <exec_byte_code+7880>, 0x59a5f8 <exec_byte_code+7928>, 0x598960 <exec_byte_code+608>, 
          0x598a78 <exec_byte_code+888>, 0x59a628 <exec_byte_code+7976>, 0x59a670 <exec_byte_code+8048>, 0x59a6a0 <exec_byte_code+8096>, 0x59a6d0 <exec_byte_code+8144>, 
          0x59a710 <exec_byte_code+8208>, 0x59a750 <exec_byte_code+8272>, 0x599e58 <exec_byte_code+5976>, 0x599e80 <exec_byte_code+6016>, 0x59af40 <exec_byte_code+10304>, 
          0x59af80 <exec_byte_code+10368>, 0x59ae70 <exec_byte_code+10096>, 0x59aea0 <exec_byte_code+10144>, 0x598a78 <exec_byte_code+888>, 0x59a3e8 <exec_byte_code+7400>, 
          0x598b60 <exec_byte_code+1120>, 0x59a128 <exec_byte_code+6696>, 0x598c10 <exec_byte_code+1296>, 0x598cc0 <exec_byte_code+1472>, 0x598d68 <exec_byte_code+1640>, 
          0x599fe8 <exec_byte_code+6376>, 0x59a3c0 <exec_byte_code+7360>, 0x59a2f0 <exec_byte_code+7152>, 0x59a328 <exec_byte_code+7208>, 0x59a360 <exec_byte_code+7264>, 
          0x5999b8 <exec_byte_code+4792>, 0x599a88 <exec_byte_code+5000>, 0x599b00 <exec_byte_code+5120>, 0x599b50 <exec_byte_code+5200>, 0x599b90 <exec_byte_code+5264>, 
          0x599050 <exec_byte_code+2384>, 0x598b38 <exec_byte_code+1080>, 0x59aed0 <exec_byte_code+10192>, 0x59af10 <exec_byte_code+10256>, 0x59ac28 <exec_byte_code+9512>, 
          0x59ac58 <exec_byte_code+9560>, 0x59ac88 <exec_byte_code+9608>, 0x59acb8 <exec_byte_code+9656>, 0x59acf8 <exec_byte_code+9720>, 0x59ad38 <exec_byte_code+9784>, 
          0x59ad78 <exec_byte_code+9848>, 0x59adb8 <exec_byte_code+9912>, 0x59aa40 <exec_byte_code+9024>, 0x59aa80 <exec_byte_code+9088>, 0x59aac0 <exec_byte_code+9152>, 
          0x59aaf0 <exec_byte_code+9200>, 0x59ab30 <exec_byte_code+9264>, 0x59ab70 <exec_byte_code+9328>, 0x59abb0 <exec_byte_code+9392>, 0x59abf0 <exec_byte_code+9456>, 
          0x59aa08 <exec_byte_code+8968>, 0x59a780 <exec_byte_code+8320>, 0x59a070 <exec_byte_code+6512>, 0x59a0c0 <exec_byte_code+6592>, 0x598a78 <exec_byte_code+888>, 
          0x598e10 <exec_byte_code+1808>, 0x598ea0 <exec_byte_code+1952>, 0x598f30 <exec_byte_code+2096>, 0x598fc0 <exec_byte_code+2240>, 0x599dc8 <exec_byte_code+5832>, 
          0x5993c0 <exec_byte_code+3264>, 0x5996c8 <exec_byte_code+4040>, 0x59a860 <exec_byte_code+8544>, 0x599c90 <exec_byte_code+5520>, 0x599ce0 <exec_byte_code+5600>, 
          0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x599d40 <exec_byte_code+5696>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 
          0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 
          0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x599d90 <exec_byte_code+5776> <repeats 64 times>}
        count = 10
        op = <optimized out>
        vectorp = 0x1443438
        stack = {pc = 0x3631990 "\210\320\321!).\006\207", byte_string = 21113700, byte_string_start = 0x3631960 "\b\205\067", next = 0x0}
        top = 0x7fff02b4fa68
        result = <optimized out>
        type = <optimized out>
#30 0x0000000000563732 in funcall_lambda (fun=57191557, nargs=2, arg_vector=0x7fff02b4fcc8) at eval.c:2921
        val = <optimized out>
        syms_left = 0
        lexenv = 0
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#31 0x0000000000563b13 in Ffuncall (nargs=86946816, args=0x368ac80) at eval.c:2754
        numargs = 2
        val = 333
        internal_args = 0x7fff02b4fcc8
        count = 7
#32 0x0000000000564059 in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2332
No locals.
#33 0x000000000056205d in run_hook_with_args (nargs=3, args=0x7fff02b4fcc0, funcall=0x564050 <funcall_nil>) at eval.c:2509
        global_vals = <optimized out>
        sym = 50784
        val = 61477811
        ret = 0
#34 0x000000000056282e in run_hook_with_args (funcall=<optimized out>, args=<optimized out>, nargs=<optimized out>) at eval.c:2459
No locals.
#35 Frun_hook_with_args (args=0x7fff02b4fcc0, nargs=3) at eval.c:2374
        args = 0x7fff02b4fcc0
        nargs = 3
#36 run_hook_with_args_2 (hook=hook@entry=50784, arg1=arg1@entry=58591413, arg2=arg2@entry=1553398) at eval.c:2530
No locals.
#37 0x0000000000432465 in run_window_scroll_functions (window=58591413, startp=...) at xdisp.c:15110
No locals.
#38 0x000000000046443a in redisplay_window (window=58591413, just_this_one_p=false, just_this_one_p@entry=true) at xdisp.c:16382
        new_vpos = 391173
        startp = {charpos = 333, bytepos = 334}
        it = {window = 58591413, w = 0x37e08b0, f = 0x1224650, method = GET_FROM_BUFFER, stop_charpos = 391173, prev_stop = 391082, base_level_stop = 391082, end_charpos = 391173, s = 0x0, 
          string_nchars = 0, redisplay_end_trigger_charpos = 0, multibyte_p = true, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, 
          from_disp_prop_p = false, ellipsis_p = false, avoid_cursor_p = false, dp = 0x0, dpvec = 0x0, dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 0, ctl_chars = {
            0 <repeats 16 times>}, start = {pos = {charpos = 388349, bytepos = 388357}, overlay_string_index = -1, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, current = {
            pos = {charpos = 391173, bytepos = 391181}, overlay_string_index = -1, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, n_overlay_strings = 0, 
          overlay_strings_charpos = 391173, overlay_strings = {0 <repeats 16 times>}, string_overlays = {0 <repeats 16 times>}, string = 0, from_overlay = 0, stack = {{string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {object = 0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, 
                string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0}, {string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, 
              base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, 
                width = 0}, face_id = 0, u = {image = {object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, image_id = 0}, stretch = {object = 0}, xwidget = {object = 0}}, position = {
                charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, 
              display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {object = 0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, 
                string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0}, {string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, 
              base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, 
                width = 0}, face_id = 0, u = {image = {object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, image_id = 0}, stretch = {object = 0}, xwidget = {object = 0}}, position = {
                charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, 
              display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {object = 0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, 
                string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0}}, sp = 0, selective = 0, what = IT_EOB, face_id = 0, 
          selective_display_ellipsis_p = true, ctl_arrow_p = true, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = true, 
          ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = false, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, 
          line_wrap = WINDOW_WRAP, base_face_id = 0, c = 32, len = 1, cmp_it = {stop_pos = 391171, id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, 
            nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, char_to_display = 32, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, xwidget = 0x0, slice = {x = 0, y = 0, 
            width = 0, height = 0}, space_width = 0, voffset = 0, tab_width = 4, font_height = 0, object = 58622773, position = {charpos = 391173, bytepos = 391181}, truncation_pixel_width = 0, 
          continuation_pixel_width = 6, first_visible_x = 0, last_visible_x = 480, last_visible_y = 663, extra_line_spacing = 1, max_extra_line_spacing = 1, override_ascent = -1, 
          override_descent = 0, override_boff = 0, glyph_row = 0x3b39c30, area = TEXT_AREA, nglyphs = 1, pixel_width = 6, ascent = 11, descent = 3, max_ascent = 11, max_descent = 3, 
          phys_ascent = 0, phys_descent = 0, max_phys_ascent = 11, max_phys_descent = 2, current_x = 12, continuation_lines_width = 0, eol_pos = {charpos = 0, bytepos = 0}, current_y = 644, 
          first_vpos = 0, vpos = 46, hpos = 2, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, bidi_p = true, bidi_it = {
            bytepos = 391181, charpos = 391173, ch = -1, nchars = 1, ch_len = 1, type = NEUTRAL_B, type_after_wn = NEUTRAL_B, orig_type = NEUTRAL_B, resolved_level = 0 '\000', 
            isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 391172, type = UNKNOWN_BT, orig_type = NEUTRAL_WS}, last_strong = {charpos = 391168, 
              type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = 390500, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = 391173, 
              type = STRONG_L, orig_type = NEUTRAL_WS}, next_for_ws = {charpos = -1, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, bracket_pairing_pos = -1, bracket_enclosed_type = UNKNOWN_BT, 
            next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = L2R, scan_dir = 1, disp_pos = 391173, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, 
                next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 128 times>}, string = {lstring = 0, s = 0x0, schars = 0, 
              bufpos = 0, from_disp_str = false, unibyte = false}, w = 0x37e08b0, paragraph_dir = L2R, separator_limit = -1, first_elt = false, new_paragraph = false, frame_window_p = true}, 
          paragraph_embedding = NEUTRAL_DIR}
        temp_scroll_step = true
        rc = 0
        last_line_misfit = false
        itdata = 0x7fff02b4fe10
#39 0x0000000000467a1e in redisplay_window_1 (window=window@entry=58591413) at xdisp.c:14454
No locals.
#40 0x000000000056260c in internal_condition_case_1 (bfun=0x4679f0 <redisplay_window_1>, arg=58591413, handlers=<optimized out>, hfun=0x42cf60 <redisplay_window_error>) at eval.c:1333
        val = 333
        c = <optimized out>
#41 0x0000000000456ad0 in redisplay_internal () at xdisp.c:14079
        match_p = 176
#42 0x00000000004fa2b3 in read_char (commandflag=86946816, commandflag@entry=1, map=86617088, map@entry=86601331, prev_event=334, used_mouse_menu=0x0, used_mouse_menu@entry=0x7fff02b53dcb, 
    end_time=0x143ba01, end_time@entry=0x0) at keyboard.c:2477
        local_getcjmp = {{__jmpbuf = {58622773, 1564694, 29472, 1564690, 391168, 5988911, 391172, 66918760228998144}, __mask_was_saved = 45431872, __saved_mask = {__val = {1564694, 
                140733238819904, 29472, 391181, 18446744073709551615, 58622773, 5597497, 3, 401584, 58622768, 3743, 12620597, 391173, 1564694, 58622773, 0}}}}
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
        save = 13951632
        previous_echo_area_message = 0
        also_record = 0
        reread = false
        recorded = false
        polling_stopped_here = false
#43 0x00000000004fca76 in read_key_sequence (keybuf=keybuf@entry=0x7fff02b53ea0, prompt=prompt@entry=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, bufsize=30) at keyboard.c:9063
        interrupted_kboard = 0xd4e290
        interrupted_frame = 0x1224650
        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 = 86601331
        first_event = 0
        first_unbound = 31
        mock_input = 0
        fkey = {parent = 17130995, map = 17130995, start = 0, end = 0}
        keytran = {parent = 12570179, map = 12570179, start = 0, end = 0}
        indec = {parent = 17131123, map = 17131123, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = 0
        original_uppercase = 0
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x37e8330
        fake_prefixed_keys = 0
#44 0x00000000004fe6b6 in command_loop_1 () at keyboard.c:1365
        cmd = <optimized out>
        keybuf = {54, 78, 202, -6202091921070732288, 2822930839, -6202091921070732288, 9955464, 5377136, 73708083, 140733238820720, 73708083, 140733238821408, 0, 5652260, 317296, 73708083, 
          8756772, 5377136, 12340336, -6202091921070732288, 73708083, 5197970, 140733238820720, 0, 0, 5198303, 140733238821376, 5579137, 28416, 96}
        i = <optimized out>
        prev_modiff = 46990
        prev_buffer = 0x37e8330
#45 0x0000000000562686 in internal_condition_case (bfun=bfun@entry=0x4fe4b0 <command_loop_1>, handlers=handlers@entry=19056, hfun=hfun@entry=0x4f50c0 <cmd_error>) at eval.c:1309
        val = 333
        c = <optimized out>
#46 0x00000000004f06ec in command_loop_2 (ignore=ignore@entry=0) at keyboard.c:1107
        val = 333
#47 0x00000000005626eb in internal_catch (tag=tag@entry=45840, func=func@entry=0x4f06d0 <command_loop_2>, arg=arg@entry=0) at eval.c:1074
        val = 333
        c = <optimized out>
#48 0x00000000004f06a9 in command_loop () at keyboard.c:1086
No locals.
#49 0x00000000004f4cd7 in recursive_edit_1 () at keyboard.c:692
        val = <optimized out>
#50 0x00000000004f4ff0 in Frecursive_edit () at keyboard.c:763
        buffer = <optimized out>
#51 0x0000000000418dce in main (argc=1, argv=0x7fff02b54228) at emacs.c:1626
        dummy = 140069625578752
        stack_bottom_variable = 2 '\002'
        skip_args = 0
        rlim = {rlim_cur = 8720000, rlim_max = 18446744073709551615}
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
#0  0x00007f6478ab875b in raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
        resultvar = 0
        pid = <optimized out>
#1  0x00000000004f0184 in terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=40) at emacs.c:381
No locals.
#2  0x0000000000508fd3 in emacs_abort () at sysdep.c:2247
No locals.
#3  0x000000000056463b in Fsignal (error_symbol=error_symbol@entry=28656, data=86599795) at eval.c:1478
        conditions = <optimized out>
        string = <optimized out>
        real_error_symbol = 28656
        clause = <optimized out>
        h = <optimized out>
#4  0x0000000000564649 in xsignal (error_symbol=error_symbol@entry=28656, data=<optimized out>) at eval.c:1577
No locals.
#5  0x0000000000565157 in xsignal1 (error_symbol=error_symbol@entry=28656, arg=<optimized out>) at eval.c:1592
No locals.
#6  0x0000000000533fee in compile_pattern_1 (posix=<optimized out>, translate=0, pattern=<optimized out>, cp=0xb935d0 <searchbufs+6480>) at search.c:154
        val = 0x600576 "Regular expression too big"
        old = 0
#7  compile_pattern (pattern=pattern@entry=61362260, regp=regp@entry=0x0, translate=translate@entry=0, posix=posix@entry=false, multibyte=<optimized out>) at search.c:237
        cp = 0xb935d0 <searchbufs+6480>
        cpp = <optimized out>
#8  0x000000000053619d in fast_string_match_internal (regexp=regexp@entry=61362260, string=string@entry=61914372, table=table@entry=0) at search.c:471
        val = 0
        bufp = <optimized out>
#9  0x000000000051dd61 in fast_string_match (string=61914372, regexp=61362260) at lisp.h:4010
No locals.
#10 Ffind_file_name_handler (filename=filename@entry=61914372, operation=operation@entry=19872) at fileio.c:292
        operations = 0
        chain = 61546355
        inhibited_handlers = 0
        result = 0
        pos = -1
#11 0x000000000051f3c0 in Fexpand_file_name (name=61914372, default_directory=default_directory@entry=0) at fileio.c:809
        nm = <optimized out>
        nmlim = <optimized out>
        newdir = <optimized out>
        newdirlim = <optimized out>
        target = <optimized out>
        tlen = <optimized out>
        pw = <optimized out>
        length = <optimized out>
        nbytes = <optimized out>
        handler = <optimized out>
        result = <optimized out>
        handled_name = <optimized out>
        multibyte = <optimized out>
        hdir = <optimized out>
        sa_avail = 16384
        sa_must_free = false
#12 0x0000000000524298 in Fdo_auto_save (no_message=<optimized out>, no_message@entry=44448, current_only=current_only@entry=0) at fileio.c:5521
        listfile = <optimized out>
        old = 0x37e8330
        tail = <optimized out>
        auto_saved = false
        do_handled_files = <optimized out>
        oquit = 0
        stream = 0x0
        orig_minibuffer_auto_raise = false
        old_message_p = false
        auto_save_unwind = {
          stream = 0x7f647864bf6e, 
          auto_raise = 40
        }
#13 0x00000000004effa0 in shut_down_emacs (sig=sig@entry=11, stuff=stuff@entry=0) at emacs.c:2000
No locals.
#14 0x00000000004f0155 in terminate_due_to_signal (sig=sig@entry=11, backtrace_limit=backtrace_limit@entry=40) at emacs.c:365
No locals.
#15 0x0000000000507c7e in handle_fatal_signal (sig=sig@entry=11) at sysdep.c:1601
No locals.
#16 0x0000000000507e33 in deliver_thread_signal (sig=sig@entry=11, handler=0x507c70 <handle_fatal_signal>) at sysdep.c:1575
No locals.
#17 0x0000000000507ebc in deliver_fatal_thread_signal (sig=11) at sysdep.c:1613
No locals.
#18 handle_sigsegv (sig=11, siginfo=<optimized out>, arg=<optimized out>) at sysdep.c:1695
        fatal = <optimized out>
#19 <signal handler called>
No locals.
#20 mark_object (arg=<optimized out>) at alloc.c:6446
        ptr = 0x5ea9170
        obj = <optimized out>
        po = <optimized out>
        cdr_count = <optimized out>
#21 0x000000000054bb63 in mark_object (arg=<optimized out>) at alloc.c:6539
        obj = <optimized out>
        po = <optimized out>
        cdr_count = 2174
#22 0x000000000054d28e in mark_maybe_pointer (p=0x52eb480) at alloc.c:4845
        obj = <optimized out>
        m = <optimized out>
#23 mark_memory (end=0x7fff02b540a8, start=<optimized out>) at alloc.c:4894
        pp = 0x7fff02b514e8 "\200\264.\005"
#24 mark_stack (end=0x7fff02b4f898) at alloc.c:5038
No locals.
#25 garbage_collect_1 (end=0x7fff02b4f898) at alloc.c:5756
        nextb = <optimized out>
        i = <optimized out>
        retval = <optimized out>
        stack_top_variable = 0 '\000'
        message_p = false
        tot_before = 0
        total = {58591408, 0, 0, 8, 2, 5652410, 374496, 11808, 0, -6202091921070732288, 8}
#26 Fgarbage_collect () at alloc.c:5979
        end = 0x7fff02b4f898
#27 0x00000000005639cc in maybe_gc () at lisp.h:4656
No locals.
#28 Ffuncall (nargs=86946816, args=0x7fff02b4fa68) at eval.c:2643
        numargs = 1
        val = 333
        internal_args = 0x7fff02b4fa70
        count = 17
#29 0x00000000005988f3 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=args_template@entry=0, nargs=nargs@entry=0, 
    args=<optimized out>, args@entry=0x0) at bytecode.c:880
        targets = {0x598a78 <exec_byte_code+888>, 0x59a050 <exec_byte_code+6480>, 0x59a058 <exec_byte_code+6488>, 0x59a060 <exec_byte_code+6496>, 0x598838 <exec_byte_code+312>, 
          0x598840 <exec_byte_code+320>, 0x599be0 <exec_byte_code+5344>, 0x599c30 <exec_byte_code+5424>, 0x59a068 <exec_byte_code+6504>, 0x598b08 <exec_byte_code+1032>, 
          0x598ac0 <exec_byte_code+960>, 0x598b10 <exec_byte_code+1040>, 0x598a08 <exec_byte_code+776>, 0x598a10 <exec_byte_code+784>, 0x59a110 <exec_byte_code+6672>, 
          0x598ac8 <exec_byte_code+968>, 0x598b18 <exec_byte_code+1048>, 0x599ec0 <exec_byte_code+6080>, 0x59a320 <exec_byte_code+7200>, 0x599f08 <exec_byte_code+6152>, 
          0x598990 <exec_byte_code+656>, 0x598990 <exec_byte_code+656>, 0x59a2d8 <exec_byte_code+7128>, 0x599ec8 <exec_byte_code+6088>, 0x599f38 <exec_byte_code+6200>, 
          0x599f40 <exec_byte_code+6208>, 0x599f90 <exec_byte_code+6288>, 0x598b20 <exec_byte_code+1056>, 0x598880 <exec_byte_code+384>, 0x598880 <exec_byte_code+384>, 
          0x599ef0 <exec_byte_code+6128>, 0x599f10 <exec_byte_code+6160>, 0x599f88 <exec_byte_code+6280>, 0x599f98 <exec_byte_code+6296>, 0x599fa0 <exec_byte_code+6304>, 
          0x598b28 <exec_byte_code+1064>, 0x5988c8 <exec_byte_code+456>, 0x5988d0 <exec_byte_code+464>, 0x599f48 <exec_byte_code+6216>, 0x599f60 <exec_byte_code+6240>, 
          0x599fd8 <exec_byte_code+6360>, 0x599fd0 <exec_byte_code+6352>, 0x599fe0 <exec_byte_code+6368>, 0x598b30 <exec_byte_code+1072>, 0x598918 <exec_byte_code+536>, 
          0x598920 <exec_byte_code+544>, 0x598af0 <exec_byte_code+1008>, 0x599fa8 <exec_byte_code+6312>, 0x599ad0 <exec_byte_code+5072>, 0x5999f0 <exec_byte_code+4848>, 
          0x59a040 <exec_byte_code+6464>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 
          0x598a78 <exec_byte_code+888>, 0x5990b0 <exec_byte_code+2480>, 0x599140 <exec_byte_code+2624>, 0x599188 <exec_byte_code+2696>, 0x5991d0 <exec_byte_code+2768>, 
          0x599220 <exec_byte_code+2848>, 0x59a290 <exec_byte_code+7056>, 0x59a1d0 <exec_byte_code+6864>, 0x599268 <exec_byte_code+2920>, 0x59a250 <exec_byte_code+6992>, 
          0x59a210 <exec_byte_code+6928>, 0x5992a0 <exec_byte_code+2976>, 0x5992e0 <exec_byte_code+3040>, 0x599310 <exec_byte_code+3088>, 0x599350 <exec_byte_code+3152>, 
          0x599388 <exec_byte_code+3208>, 0x599410 <exec_byte_code+3344>, 0x599440 <exec_byte_code+3392>, 0x599480 <exec_byte_code+3456>, 0x5994c0 <exec_byte_code+3520>, 
          0x5994f0 <exec_byte_code+3568>, 0x599520 <exec_byte_code+3616>, 0x599560 <exec_byte_code+3680>, 0x5995a0 <exec_byte_code+3744>, 0x5995e0 <exec_byte_code+3808>, 
          0x599620 <exec_byte_code+3872>, 0x599658 <exec_byte_code+3928>, 0x599690 <exec_byte_code+3984>, 0x599718 <exec_byte_code+4120>, 0x599760 <exec_byte_code+4192>, 
          0x5997a8 <exec_byte_code+4264>, 0x599880 <exec_byte_code+4480>, 0x5997f8 <exec_byte_code+4344>, 0x599840 <exec_byte_code+4416>, 0x5998c0 <exec_byte_code+4544>, 
          0x599900 <exec_byte_code+4608>, 0x599938 <exec_byte_code+4664>, 0x599980 <exec_byte_code+4736>, 0x59a960 <exec_byte_code+8800>, 0x59a998 <exec_byte_code+8856>, 
          0x59a9d0 <exec_byte_code+8912>, 0x59a7c0 <exec_byte_code+8384>, 0x598960 <exec_byte_code+608>, 0x59a800 <exec_byte_code+8448>, 0x59a830 <exec_byte_code+8496>, 
          0x59a8b0 <exec_byte_code+8624>, 0x59a8f0 <exec_byte_code+8688>, 0x59a930 <exec_byte_code+8752>, 0x59a440 <exec_byte_code+7488>, 0x59a470 <exec_byte_code+7536>, 
          0x59a4a0 <exec_byte_code+7584>, 0x59a4d8 <exec_byte_code+7640>, 0x598a78 <exec_byte_code+888>, 0x59a508 <exec_byte_code+7688>, 0x59a538 <exec_byte_code+7736>, 
          0x59a568 <exec_byte_code+7784>, 0x59a598 <exec_byte_code+7832>, 0x59a5c8 <exec_byte_code+7880>, 0x59a5f8 <exec_byte_code+7928>, 0x598960 <exec_byte_code+608>, 
          0x598a78 <exec_byte_code+888>, 0x59a628 <exec_byte_code+7976>, 0x59a670 <exec_byte_code+8048>, 0x59a6a0 <exec_byte_code+8096>, 0x59a6d0 <exec_byte_code+8144>, 
          0x59a710 <exec_byte_code+8208>, 0x59a750 <exec_byte_code+8272>, 0x599e58 <exec_byte_code+5976>, 0x599e80 <exec_byte_code+6016>, 0x59af40 <exec_byte_code+10304>, 
          0x59af80 <exec_byte_code+10368>, 0x59ae70 <exec_byte_code+10096>, 0x59aea0 <exec_byte_code+10144>, 0x598a78 <exec_byte_code+888>, 0x59a3e8 <exec_byte_code+7400>, 
          0x598b60 <exec_byte_code+1120>, 0x59a128 <exec_byte_code+6696>, 0x598c10 <exec_byte_code+1296>, 0x598cc0 <exec_byte_code+1472>, 0x598d68 <exec_byte_code+1640>, 
          0x599fe8 <exec_byte_code+6376>, 0x59a3c0 <exec_byte_code+7360>, 0x59a2f0 <exec_byte_code+7152>, 0x59a328 <exec_byte_code+7208>, 0x59a360 <exec_byte_code+7264>, 
          0x5999b8 <exec_byte_code+4792>, 0x599a88 <exec_byte_code+5000>, 0x599b00 <exec_byte_code+5120>, 0x599b50 <exec_byte_code+5200>, 0x599b90 <exec_byte_code+5264>, 
          0x599050 <exec_byte_code+2384>, 0x598b38 <exec_byte_code+1080>, 0x59aed0 <exec_byte_code+10192>, 0x59af10 <exec_byte_code+10256>, 0x59ac28 <exec_byte_code+9512>, 
          0x59ac58 <exec_byte_code+9560>, 0x59ac88 <exec_byte_code+9608>, 0x59acb8 <exec_byte_code+9656>, 0x59acf8 <exec_byte_code+9720>, 0x59ad38 <exec_byte_code+9784>, 
          0x59ad78 <exec_byte_code+9848>, 0x59adb8 <exec_byte_code+9912>, 0x59aa40 <exec_byte_code+9024>, 0x59aa80 <exec_byte_code+9088>, 0x59aac0 <exec_byte_code+9152>, 
          0x59aaf0 <exec_byte_code+9200>, 0x59ab30 <exec_byte_code+9264>, 0x59ab70 <exec_byte_code+9328>, 0x59abb0 <exec_byte_code+9392>, 0x59abf0 <exec_byte_code+9456>, 
          0x59aa08 <exec_byte_code+8968>, 0x59a780 <exec_byte_code+8320>, 0x59a070 <exec_byte_code+6512>, 0x59a0c0 <exec_byte_code+6592>, 0x598a78 <exec_byte_code+888>, 
          0x598e10 <exec_byte_code+1808>, 0x598ea0 <exec_byte_code+1952>, 0x598f30 <exec_byte_code+2096>, 0x598fc0 <exec_byte_code+2240>, 0x599dc8 <exec_byte_code+5832>, 
          0x5993c0 <exec_byte_code+3264>, 0x5996c8 <exec_byte_code+4040>, 0x59a860 <exec_byte_code+8544>, 0x599c90 <exec_byte_code+5520>, 0x599ce0 <exec_byte_code+5600>, 
          0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x599d40 <exec_byte_code+5696>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 
          0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 
          0x598a78 <exec_byte_code+888>, 0x598a78 <exec_byte_code+888>, 0x599d90 <exec_byte_code+5776> <repeats 64 times>}
        count = 10
        op = <optimized out>
        vectorp = 0x1443438
        stack = {
          pc = 0x3631990 "\210\320\321!).\006\207", 
          byte_string = 21113700, 
          byte_string_start = 0x3631960 "\b\205\067", 
          next = 0x0
        }
        top = 0x7fff02b4fa68
        result = <optimized out>
        type = <optimized out>
#30 0x0000000000563732 in funcall_lambda (fun=57191557, nargs=2, arg_vector=0x7fff02b4fcc8) at eval.c:2921
        val = <optimized out>
        syms_left = 0
        lexenv = 0
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#31 0x0000000000563b13 in Ffuncall (nargs=86946816, args=0x368ac80) at eval.c:2754
        numargs = 2
        val = 333
        internal_args = 0x7fff02b4fcc8
        count = 7
#32 0x0000000000564059 in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2332
No locals.
#33 0x000000000056205d in run_hook_with_args (nargs=3, args=0x7fff02b4fcc0, funcall=0x564050 <funcall_nil>) at eval.c:2509
        global_vals = <optimized out>
        sym = 50784
        val = 61477811
        ret = 0
#34 0x000000000056282e in run_hook_with_args (funcall=<optimized out>, args=<optimized out>, nargs=<optimized out>) at eval.c:2459
No locals.
#35 Frun_hook_with_args (args=0x7fff02b4fcc0, nargs=3) at eval.c:2374
        args = 0x7fff02b4fcc0
        nargs = 3
#36 run_hook_with_args_2 (hook=hook@entry=50784, arg1=arg1@entry=58591413, arg2=arg2@entry=1553398) at eval.c:2530
No locals.
#37 0x0000000000432465 in run_window_scroll_functions (window=58591413, startp=...) at xdisp.c:15110
No locals.
#38 0x000000000046443a in redisplay_window (window=58591413, just_this_one_p=false, just_this_one_p@entry=true) at xdisp.c:16382
        new_vpos = 391173
        startp = {
          charpos = 333, 
          bytepos = 334
        }
        it = {
          window = 58591413, 
          w = 0x37e08b0, 
          f = 0x1224650, 
          method = GET_FROM_BUFFER, 
          stop_charpos = 391173, 
          prev_stop = 391082, 
          base_level_stop = 391082, 
          end_charpos = 391173, 
          s = 0x0, 
          string_nchars = 0, 
          redisplay_end_trigger_charpos = 0, 
          multibyte_p = true, 
          header_line_p = false, 
          string_from_display_prop_p = false, 
          string_from_prefix_prop_p = false, 
          from_disp_prop_p = false, 
          ellipsis_p = false, 
          avoid_cursor_p = false, 
          dp = 0x0, 
          dpvec = 0x0, 
          dpend = 0x0, 
          dpvec_char_len = 0, 
          dpvec_face_id = 0, 
          saved_face_id = 0, 
          ctl_chars = {0 <repeats 16 times>}, 
          start = {
            pos = {
              charpos = 388349, 
              bytepos = 388357
            }, 
            overlay_string_index = -1, 
            string_pos = {
              charpos = -1, 
              bytepos = -1
            }, 
            dpvec_index = -1
          }, 
          current = {
            pos = {
              charpos = 391173, 
              bytepos = 391181
            }, 
            overlay_string_index = -1, 
            string_pos = {
              charpos = -1, 
              bytepos = -1
            }, 
            dpvec_index = -1
          }, 
          n_overlay_strings = 0, 
          overlay_strings_charpos = 391173, 
          overlay_strings = {0 <repeats 16 times>}, 
          string_overlays = {0 <repeats 16 times>}, 
          string = 0, 
          from_overlay = 0, 
          stack = {{
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = false, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                stretch = {
                  object = 0
                }, 
                xwidget = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, 
              display_ellipsis_p = false, 
              avoid_cursor_p = false, 
              bidi_p = false, 
              from_disp_prop_p = false, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = false, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                stretch = {
                  object = 0
                }, 
                xwidget = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, 
              display_ellipsis_p = false, 
              avoid_cursor_p = false, 
              bidi_p = false, 
              from_disp_prop_p = false, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = false, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                stretch = {
                  object = 0
                }, 
                xwidget = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, 
              display_ellipsis_p = false, 
              avoid_cursor_p = false, 
              bidi_p = false, 
              from_disp_prop_p = false, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = false, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                stretch = {
                  object = 0
                }, 
                xwidget = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, 
              display_ellipsis_p = false, 
              avoid_cursor_p = false, 
              bidi_p = false, 
              from_disp_prop_p = false, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = false, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                stretch = {
                  object = 0
                }, 
                xwidget = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, 
              display_ellipsis_p = false, 
              avoid_cursor_p = false, 
              bidi_p = false, 
              from_disp_prop_p = false, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }}, 
          sp = 0, 
          selective = 0, 
          what = IT_EOB, 
          face_id = 0, 
          selective_display_ellipsis_p = true, 
          ctl_arrow_p = true, 
          face_box_p = false, 
          start_of_box_run_p = false, 
          end_of_box_run_p = false, 
          overlay_strings_at_end_processed_p = true, 
          ignore_overlay_strings_at_pos_p = false, 
          glyph_not_available_p = false, 
          starts_in_middle_of_char_p = false, 
          face_before_selective_p = false, 
          constrain_row_ascent_descent_p = false, 
          line_wrap = WINDOW_WRAP, 
          base_face_id = 0, 
          c = 32, 
          len = 1, 
          cmp_it = {
            stop_pos = 391171, 
            id = -1, 
            ch = -2, 
            rule_idx = 0, 
            lookback = 0, 
            nglyphs = 0, 
            reversed_p = false, 
            charpos = 0, 
            nchars = 0, 
            nbytes = 0, 
            from = 0, 
            to = 0, 
            width = 0
          }, 
          char_to_display = 32, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, 
          image_id = 0, 
          xwidget = 0x0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          space_width = 0, 
          voffset = 0, 
          tab_width = 4, 
          font_height = 0, 
          object = 58622773, 
          position = {
            charpos = 391173, 
            bytepos = 391181
          }, 
          truncation_pixel_width = 0, 
          continuation_pixel_width = 6, 
          first_visible_x = 0, 
          last_visible_x = 480, 
          last_visible_y = 663, 
          extra_line_spacing = 1, 
          max_extra_line_spacing = 1, 
          override_ascent = -1, 
          override_descent = 0, 
          override_boff = 0, 
          glyph_row = 0x3b39c30, 
          area = TEXT_AREA, 
          nglyphs = 1, 
          pixel_width = 6, 
          ascent = 11, 
          descent = 3, 
          max_ascent = 11, 
          max_descent = 3, 
          phys_ascent = 0, 
          phys_descent = 0, 
          max_phys_ascent = 11, 
          max_phys_descent = 2, 
          current_x = 12, 
          continuation_lines_width = 0, 
          eol_pos = {
            charpos = 0, 
            bytepos = 0
          }, 
          current_y = 644, 
          first_vpos = 0, 
          vpos = 46, 
          hpos = 2, 
          left_user_fringe_bitmap = 0, 
          right_user_fringe_bitmap = 0, 
          left_user_fringe_face_id = 0, 
          right_user_fringe_face_id = 0, 
          bidi_p = true, 
          bidi_it = {
            bytepos = 391181, 
            charpos = 391173, 
            ch = -1, 
            nchars = 1, 
            ch_len = 1, 
            type = NEUTRAL_B, 
            type_after_wn = NEUTRAL_B, 
            orig_type = NEUTRAL_B, 
            resolved_level = 0 '\000', 
            isolate_level = 0 '\000', 
            invalid_levels = 0, 
            invalid_isolates = 0, 
            prev = {
              charpos = 391172, 
              type = UNKNOWN_BT, 
              orig_type = NEUTRAL_WS
            }, 
            last_strong = {
              charpos = 391168, 
              type = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            next_for_neutral = {
              charpos = 390500, 
              type = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            prev_for_neutral = {
              charpos = 391173, 
              type = STRONG_L, 
              orig_type = NEUTRAL_WS
            }, 
            next_for_ws = {
              charpos = -1, 
              type = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            bracket_pairing_pos = -1, 
            bracket_enclosed_type = UNKNOWN_BT, 
            next_en_pos = 0, 
            next_en_type = UNKNOWN_BT, 
            sos = L2R, 
            scan_dir = 1, 
            disp_pos = 391173, 
            disp_prop = 0, 
            stack_idx = 0, 
            level_stack = {{
                next_for_neutral_pos = 0, 
                next_for_neutral_type = 0, 
                last_strong_type = 0, 
                prev_for_neutral_type = 0, 
                level = 0 '\000', 
                flags = 0 '\000'
              } <repeats 128 times>}, 
            string = {
              lstring = 0, 
              s = 0x0, 
              schars = 0, 
              bufpos = 0, 
              from_disp_str = false, 
              unibyte = false
            }, 
            w = 0x37e08b0, 
            paragraph_dir = L2R, 
            separator_limit = -1, 
            first_elt = false, 
            new_paragraph = false, 
            frame_window_p = true
          }, 
          paragraph_embedding = NEUTRAL_DIR
        }
        temp_scroll_step = true
        rc = 0
        last_line_misfit = false
        itdata = 0x7fff02b4fe10
#39 0x0000000000467a1e in redisplay_window_1 (window=window@entry=58591413) at xdisp.c:14454
No locals.
#40 0x000000000056260c in internal_condition_case_1 (bfun=0x4679f0 <redisplay_window_1>, arg=58591413, handlers=<optimized out>, hfun=0x42cf60 <redisplay_window_error>) at eval.c:1333
        val = 333
        c = <optimized out>
#41 0x0000000000456ad0 in redisplay_internal () at xdisp.c:14079
        match_p = 176
#42 0x00000000004fa2b3 in read_char (commandflag=86946816, commandflag@entry=1, map=86617088, map@entry=86601331, prev_event=334, used_mouse_menu=0x0, used_mouse_menu@entry=0x7fff02b53dcb, 
    end_time=0x143ba01, end_time@entry=0x0) at keyboard.c:2477
        local_getcjmp = {{
            __jmpbuf = {58622773, 1564694, 29472, 1564690, 391168, 5988911, 391172, 66918760228998144}, 
            __mask_was_saved = 45431872, 
            __saved_mask = {
              __val = {1564694, 140733238819904, 29472, 391181, 18446744073709551615, 58622773, 5597497, 3, 401584, 58622768, 3743, 12620597, 391173, 1564694, 58622773, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        save = 13951632
        previous_echo_area_message = 0
        also_record = 0
        reread = false
        recorded = false
        polling_stopped_here = false
#43 0x00000000004fca76 in read_key_sequence (keybuf=keybuf@entry=0x7fff02b53ea0, prompt=prompt@entry=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, bufsize=30) at keyboard.c:9063
        interrupted_kboard = 0xd4e290
        interrupted_frame = 0x1224650
        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 = 86601331
        first_event = 0
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 17130995, 
          map = 17130995, 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = 12570179, 
          map = 12570179, 
          start = 0, 
          end = 0
        }
        indec = {
          parent = 17131123, 
          map = 17131123, 
          start = 0, 
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = 0
        original_uppercase = 0
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x37e8330
        fake_prefixed_keys = 0
#44 0x00000000004fe6b6 in command_loop_1 () at keyboard.c:1365
        cmd = <optimized out>
        keybuf = {54, 78, 202, -6202091921070732288, 2822930839, -6202091921070732288, 9955464, 5377136, 73708083, 140733238820720, 73708083, 140733238821408, 0, 5652260, 317296, 73708083, 
          8756772, 5377136, 12340336, -6202091921070732288, 73708083, 5197970, 140733238820720, 0, 0, 5198303, 140733238821376, 5579137, 28416, 96}
        i = <optimized out>
        prev_modiff = 46990
        prev_buffer = 0x37e8330
#45 0x0000000000562686 in internal_condition_case (bfun=bfun@entry=0x4fe4b0 <command_loop_1>, handlers=handlers@entry=19056, hfun=hfun@entry=0x4f50c0 <cmd_error>) at eval.c:1309
        val = 333
        c = <optimized out>
#46 0x00000000004f06ec in command_loop_2 (ignore=ignore@entry=0) at keyboard.c:1107
        val = 333
#47 0x00000000005626eb in internal_catch (tag=tag@entry=45840, func=func@entry=0x4f06d0 <command_loop_2>, arg=arg@entry=0) at eval.c:1074
        val = 333
        c = <optimized out>
#48 0x00000000004f06a9 in command_loop () at keyboard.c:1086
No locals.
#49 0x00000000004f4cd7 in recursive_edit_1 () at keyboard.c:692
        val = <optimized out>
#50 0x00000000004f4ff0 in Frecursive_edit () at keyboard.c:763
        buffer = <optimized out>
#51 0x0000000000418dce in main (argc=1, argv=0x7fff02b54228) at emacs.c:1626
        dummy = 140069625578752
        stack_bottom_variable = 2 '\002'
        skip_args = 0
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0


^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-05-14 20:54 bug#26932: 25.1; Crash triggered a few times a day with network process Vivek Dasmohapatra
@ 2017-05-15  3:04 ` Eli Zaretskii
  2017-05-15 11:18   ` Vivek Dasmohapatra
  2017-07-10 13:01 ` bug#26932: Subject: Re: bug#26932: 25.1; Vivek Dasmohapatra
  2018-01-10 13:58 ` bug#26932: Found the triggering behaviour Vivek Dasmohapatra
  2 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-05-15  3:04 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Sun, 14 May 2017 21:54:56 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> 
> I have a rudimentary mud client in elisp I cobbled together and use
> (since emacs23 or so): It's been stable since then. However since
> upgrading to emacs25 I've seen 4 crashes of emacs itself - 3 yesterday
> and 1 today.
> 
> At first I thought perhaps it was keyboard/input related as it seemed
> to happen while I was typing, but today while running the client
> to see if I could track down the problem emacs segfaulted while
> I wasn't typing or using the mouse. I managed to get a backtrace
> out of gdb, which I have attached. I can semi-reliably reproduce
> the crash.
> 
> I haven't been able to run xbacktrace as it hasn't yet crashed while
> gdb was attached.
> 
> Looking at the backtrace and examining the source, it looks like
> it blows up in the maybe_gc inside funcall _just before_ the first
> hook in window-scroll-functions is called.

It segfaults in GC.

Is it possible for you to try the latest Emacs 25.2?

Thanks.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-05-15  3:04 ` Eli Zaretskii
@ 2017-05-15 11:18   ` Vivek Dasmohapatra
  2017-06-11 21:39     ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-05-15 11:18 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

> Is it possible for you to try the latest Emacs 25.2?

Sure, I can do that at some point this week.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-05-15 11:18   ` Vivek Dasmohapatra
@ 2017-06-11 21:39     ` Vivek Dasmohapatra
  2017-06-12 14:10       ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-11 21:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

On Mon, 15 May 2017, Vivek Dasmohapatra wrote:

>> Is it possible for you to try the latest Emacs 25.2?
>
> Sure, I can do that at some point this week.

That took a little longer for me to get around to, but I just triggered
the crash again with emacs 25.2.










^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-11 21:39     ` Vivek Dasmohapatra
@ 2017-06-12 14:10       ` Eli Zaretskii
  2017-06-12 15:21         ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-12 14:10 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Sun, 11 Jun 2017 22:39:49 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> On Mon, 15 May 2017, Vivek Dasmohapatra wrote:
> 
> >> Is it possible for you to try the latest Emacs 25.2?
> >
> > Sure, I can do that at some point this week.
> 
> That took a little longer for me to get around to, but I just triggered
> the crash again with emacs 25.2.

Do you have a backtrace to show for this crash?  It would help.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-12 14:10       ` Eli Zaretskii
@ 2017-06-12 15:21         ` Vivek Dasmohapatra
  2017-06-12 15:51           ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-12 15:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

> Do you have a backtrace to show for this crash?  It would help.

I have it running now with core dumps turned on: As soon as it happens
again I should have a backtrace for you.






^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-12 15:21         ` Vivek Dasmohapatra
@ 2017-06-12 15:51           ` Eli Zaretskii
  2017-06-12 15:56             ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-12 15:51 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Mon, 12 Jun 2017 16:21:38 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> > Do you have a backtrace to show for this crash?  It would help.
> 
> I have it running now with core dumps turned on: As soon as it happens
> again I should have a backtrace for you.

Thanks.  Core dump is better than nothing, but it is even better to
run Emacs under GDB to begin with, because there are some things a
debugger cannot do when all it has is a core dump.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-12 15:51           ` Eli Zaretskii
@ 2017-06-12 15:56             ` Vivek Dasmohapatra
  2017-06-12 16:30               ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-12 15:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

Running under gdb now.
Anything in particular you want done when it triggers again?






^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-12 15:56             ` Vivek Dasmohapatra
@ 2017-06-12 16:30               ` Eli Zaretskii
  2017-06-13 15:41                 ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-12 16:30 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Mon, 12 Jun 2017 16:56:32 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> Running under gdb now.
> Anything in particular you want done when it triggers again?

Just backtrace is fine.  But please try not to end the GDB session
immediately, because I might want to ask you to do something before
exiting GDB.

Thanks.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-12 16:30               ` Eli Zaretskii
@ 2017-06-13 15:41                 ` Vivek Dasmohapatra
  2017-06-13 16:41                   ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-13 15:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

[-- Attachment #1: Type: TEXT/PLAIN, Size: 133 bytes --]

Triggered the segfault: Looks different to the emacs 25.1 fault
but still GC related, I think.

gdb session remains up and running.


[-- Attachment #2: Type: TEXT/PLAIN, Size: 31845 bytes --]

#0  mark_object (arg=<optimized out>) at alloc.c:6450
        ptr = 0x3c382c0
        obj = <optimized out>
        po = <optimized out>
        cdr_count = <optimized out>
#1  0x000000000054bfe3 in mark_object (arg=<optimized out>) at alloc.c:6543
        obj = <optimized out>
        po = <optimized out>
        cdr_count = 2403
#2  0x000000000054c9da in mark_maybe_object (obj=<optimized out>)
    at alloc.c:4743
        mark_p = <optimized out>
        m = <optimized out>
#3  0x000000000054cdc4 in mark_memory (end=0x7fffffffe218, 
    start=<optimized out>) at alloc.c:4895
        pp = 0x7fffffffb820 "\003\307\366\002"
#4  mark_stack (end=0x7fffffff7fb8) at alloc.c:5038
No locals.
#5  garbage_collect_1 (end=0x7fffffff7fb8) at alloc.c:5760
        nextb = <optimized out>
        i = <optimized out>
        retval = <optimized out>
        stack_top_variable = 0 '\000'
        message_p = false
        tot_before = 0
        total = {5, 43099232, 0, 4379682, 193273528321, 3741483769490454528, 
          0, 4573856, 140737488326544, 1, 0}
#6  Fgarbage_collect () at alloc.c:5983
        end = 0x7fffffff7fb8
#7  0x0000000000563e9c in maybe_gc () at lisp.h:4660
No locals.
#8  Ffuncall (nargs=50828624, nargs@entry=2, args=0x7fffffff81b0)
    at eval.c:2649
        numargs = 1
        val = 11
        internal_args = 0x7fffffff81b8
        count = 12
#9  0x00000000005629e0 in internal_condition_case_n (bfun=0x563de0 <Ffuncall>, 
    nargs=nargs@entry=2, args=args@entry=0x7fffffff81b0, 
    handlers=handlers@entry=44544, 
    hfun=hfun@entry=0x43dec0 <safe_eval_handler>) at eval.c:1395
        val = 11
        c = <optimized out>
#10 0x000000000042ef06 in safe__call (inhibit_quit=<optimized out>, 
    nargs=nargs@entry=2, func=<optimized out>, ap=ap@entry=0x7fffffff8240)
    at xdisp.c:2558
        i = <optimized out>
        sa_avail = <optimized out>
        args = 0x7fffffff81b0
        sa_must_free = false
        val = <optimized out>
#11 0x000000000042f060 in safe__call1 (inhibit_quit=<optimized out>, 
    fn=<optimized out>) at xdisp.c:2595
        retval = <optimized out>
        ap = {{gp_offset = 24, fp_offset = 48, 
            overflow_arg_area = 0x7fffffff8320, 
            reg_save_area = 0x7fffffff8260}}
#12 0x000000000044993b in safe__eval (sexpr=<optimized out>, 
    inhibit_quit=<optimized out>) at xdisp.c:2609
No locals.
#13 display_mode_element (it=0x3079550, depth=48953344, field_width=12, 
    precision=0, elt=11, props=13017216, risky=false) at xdisp.c:22863
        literal = false
#14 0x00000000004498b9 in display_mode_element (it=0x3079550, depth=48953344, 
    field_width=12, precision=0, elt=11, props=13017216, risky=false)
    at xdisp.c:22944
        len = 7
        literal = true
#15 0x00000000004498b9 in display_mode_element (it=0x3079550, 
    it@entry=0x7fffffff85f0, depth=48953344, depth@entry=0, field_width=12, 
    field_width@entry=0, precision=precision@entry=0, elt=11, props=13017216, 
    props@entry=0, risky=false) at xdisp.c:22944
        len = 3
        literal = true
#16 0x000000000044a4b5 in display_mode_line (w=w@entry=0x1cc4e78, 
    face_id=MODE_LINE_FACE_ID, format=44468147) at xdisp.c:22460
        it = {window = 30166653, w = 0x1cc4e78, f = 0x122bed0, 
          method = GET_FROM_C_STRING, stop_charpos = 0, prev_stop = 0, 
          base_level_stop = 0, end_charpos = 1, s = 0x5fd290 "-", 
          string_nchars = 1, redisplay_end_trigger_charpos = 0, 
          multibyte_p = false, header_line_p = false, 
          string_from_display_prop_p = false, 
          string_from_prefix_prop_p = false, from_disp_prop_p = false, 
          ellipsis_p = false, avoid_cursor_p = false, dp = 0x0, dpvec = 0x0, 
          dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, 
          saved_face_id = 1, ctl_chars = {0 <repeats 16 times>}, start = {
            pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, 
            string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, 
          current = {pos = {charpos = 1, bytepos = 1}, 
            overlay_string_index = -1, string_pos = {charpos = -1, 
              bytepos = -1}, dpvec_index = -1}, n_overlay_strings = 0, 
          overlay_strings_charpos = 0, overlay_strings = {
            0 <repeats 16 times>}, string_overlays = {0 <repeats 16 times>}, 
          string = 0, from_overlay = 0, stack = {{string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}}, sp = 0, selective = 0, 
          what = IT_EOB, face_id = 1, selective_display_ellipsis_p = true, 
          ctl_arrow_p = true, face_box_p = true, start_of_box_run_p = false, 
          end_of_box_run_p = false, 
          overlay_strings_at_end_processed_p = false, 
          ignore_overlay_strings_at_pos_p = false, 
          glyph_not_available_p = false, starts_in_middle_of_char_p = false, 
          face_before_selective_p = false, 
          constrain_row_ascent_descent_p = false, line_wrap = TRUNCATE, 
          base_face_id = 1, c = 45, len = 1, cmp_it = {stop_pos = 1, id = -1, 
            ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, 
            reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, 
            to = 0, width = 0}, char_to_display = 45, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, 
          xwidget = 0x0, slice = {x = 0, y = 0, width = 0, height = 0}, 
          space_width = 0, voffset = 0, tab_width = 4, font_height = 0, 
          object = 2, position = {charpos = 0, bytepos = 0}, 
          truncation_pixel_width = 6, continuation_pixel_width = 0, 
          first_visible_x = 0, last_visible_x = 496, last_visible_y = 663, 
          extra_line_spacing = 0, max_extra_line_spacing = 0, 
          override_ascent = -1, override_descent = 0, override_boff = 0, 
          glyph_row = 0xf66750, area = TEXT_AREA, nglyphs = 1, 
          pixel_width = 6, ascent = 11, descent = 2, max_ascent = 11, 
          max_descent = 2, phys_ascent = 5, phys_descent = -4, 
          max_phys_ascent = 9, max_phys_descent = 1, current_x = 37, 
          continuation_lines_width = 0, eol_pos = {charpos = 0, bytepos = 0}, 
          current_y = 0, first_vpos = 0, vpos = 0, hpos = 6, 
          left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, 
          left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, 
          bidi_p = true, bidi_it = {bytepos = 1, charpos = 1, ch = -1, 
            nchars = 1, ch_len = 1, type = NEUTRAL_B, 
            type_after_wn = NEUTRAL_B, orig_type = NEUTRAL_B, 
            resolved_level = 0 '\000', isolate_level = 0 '\000', 
            invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 0, 
              type = UNKNOWN_BT, orig_type = WEAK_ES}, last_strong = {
              charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, 
            next_for_neutral = {charpos = -1, type = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = 1, 
              type = STRONG_L, orig_type = WEAK_ES}, next_for_ws = {
              charpos = -1, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, 
            bracket_pairing_pos = -1, bracket_enclosed_type = UNKNOWN_BT, 
            next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = L2R, 
            scan_dir = 1, disp_pos = 1, disp_prop = 0, stack_idx = 0, 
            level_stack = {{next_for_neutral_pos = 0, 
                next_for_neutral_type = 0, last_strong_type = 0, 
                prev_for_neutral_type = 0, level = 0 '\000', 
                flags = 0 '\000'} <repeats 128 times>}, string = {lstring = 0, 
              s = 0x5fd290 "-", schars = 1, bufpos = 0, from_disp_str = false, 
              unibyte = true}, w = 0x1cc4e78, paragraph_dir = L2R, 
            separator_limit = 1, first_elt = false, new_paragraph = false, 
            frame_window_p = true}, paragraph_embedding = L2R}
        face = <optimized out>
#17 0x000000000044a7b3 in display_mode_lines (w=0x1cc4e78) at xdisp.c:22402
        old_selected_window = 30166653
        old_selected_frame = 19054293
        new_frame = 19054293
        old_frame_selected_window = 30166653
        n = 0
#18 0x0000000000463ff3 in redisplay_window (window=30166653, 
    just_this_one_p=just_this_one_p@entry=false) at xdisp.c:17066
        startp = {charpos = 11, bytepos = 12}
        it = {window = 30166653, w = 0x1cc4e78, f = 0x122bed0, 
          method = GET_FROM_BUFFER, stop_charpos = 274873, prev_stop = 274773, 
          base_level_stop = 274773, end_charpos = 275053, s = 0x0, 
          string_nchars = 0, redisplay_end_trigger_charpos = 0, 
          multibyte_p = true, header_line_p = false, 
          string_from_display_prop_p = false, 
          string_from_prefix_prop_p = false, from_disp_prop_p = false, 
          ellipsis_p = false, avoid_cursor_p = false, dp = 0x0, dpvec = 0x0, 
          dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, 
          saved_face_id = 0, ctl_chars = {0 <repeats 16 times>}, start = {
            pos = {charpos = 272691, bytepos = 272701}, 
            overlay_string_index = -1, string_pos = {charpos = -1, 
              bytepos = -1}, dpvec_index = -1}, current = {pos = {
              charpos = 274852, bytepos = 274862}, overlay_string_index = -1, 
            string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, 
          n_overlay_strings = 0, overlay_strings_charpos = 274773, 
          overlay_strings = {0 <repeats 16 times>}, string_overlays = {
            0 <repeats 16 times>}, string = 0, from_overlay = 0, stack = {{
              string = 0, string_nchars = 0, end_charpos = 0, 
              stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {
                stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, 
                nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, 
                nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {
                image = {object = 0, slice = {x = 0, y = 0, width = 0, 
                    height = 0}, image_id = 0}, stretch = {object = 0}, 
                xwidget = {object = 0}}, position = {charpos = 0, 
                bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}, {string = 0, 
              string_nchars = 0, end_charpos = 0, stop_charpos = 0, 
              prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, 
                id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, 
                from = 0, to = 0, width = 0}, face_id = 0, u = {image = {
                  object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, 
                  image_id = 0}, stretch = {object = 0}, xwidget = {
                  object = 0}}, position = {charpos = 0, bytepos = 0}, 
              current = {pos = {charpos = 0, bytepos = 0}, 
                overlay_string_index = 0, string_pos = {charpos = 0, 
                  bytepos = 0}, dpvec_index = 0}, from_overlay = 0, 
              area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, 
              string_from_display_prop_p = false, 
              string_from_prefix_prop_p = false, display_ellipsis_p = false, 
              avoid_cursor_p = false, bidi_p = false, 
              from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, 
              space_width = 0, font_height = 0}}, sp = 0, selective = 0, 
          what = IT_CHARACTER, face_id = 0, 
          selective_display_ellipsis_p = true, ctl_arrow_p = true, 
          face_box_p = false, start_of_box_run_p = false, 
          end_of_box_run_p = false, 
          overlay_strings_at_end_processed_p = false, 
          ignore_overlay_strings_at_pos_p = false, 
          glyph_not_available_p = false, starts_in_middle_of_char_p = false, 
          face_before_selective_p = false, 
          constrain_row_ascent_descent_p = false, line_wrap = WINDOW_WRAP, 
          base_face_id = 0, c = 102, len = 1, cmp_it = {stop_pos = 274928, 
            id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, 
            reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, 
            to = 0, width = 0}, char_to_display = 102, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, 
          xwidget = 0x0, slice = {x = 0, y = 0, width = 0, height = 0}, 
          space_width = 0, voffset = 0, tab_width = 4, font_height = 0, 
          object = 31576949, position = {charpos = 274852, bytepos = 274862}, 
          truncation_pixel_width = 0, continuation_pixel_width = 6, 
          first_visible_x = 0, last_visible_x = 480, last_visible_y = 663, 
          extra_line_spacing = 1, max_extra_line_spacing = 1, 
          override_ascent = -1, override_descent = 0, override_boff = 0, 
          glyph_row = 0xf62c50, area = TEXT_AREA, nglyphs = 1, 
          pixel_width = 6, ascent = 11, descent = 3, max_ascent = 11, 
          max_descent = 3, phys_ascent = 9, phys_descent = 0, 
          max_phys_ascent = 11, max_phys_descent = 2, current_x = 0, 
          continuation_lines_width = 0, eol_pos = {charpos = 0, bytepos = 0}, 
          current_y = 658, first_vpos = 0, vpos = 47, hpos = 0, 
          left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, 
          left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, 
          bidi_p = true, bidi_it = {bytepos = 274862, charpos = 274852, 
            ch = 102, nchars = 1, ch_len = 1, type = STRONG_L, 
            type_after_wn = STRONG_L, orig_type = STRONG_L, 
            resolved_level = 0 '\000', isolate_level = 0 '\000', 
            invalid_levels = 0, invalid_isolates = 0, prev = {
              charpos = 274851, type = NEUTRAL_B, orig_type = NEUTRAL_B}, 
            last_strong = {charpos = 274850, type = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = -1, 
              type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {
              charpos = 274851, type = STRONG_L, orig_type = STRONG_L}, 
            next_for_ws = {charpos = -1, type = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT}, bracket_pairing_pos = -1, 
            bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, 
            next_en_type = UNKNOWN_BT, sos = L2R, scan_dir = 1, 
            disp_pos = 274949, disp_prop = 0, stack_idx = 0, level_stack = {{
                next_for_neutral_pos = 0, next_for_neutral_type = 0, 
                last_strong_type = 0, prev_for_neutral_type = 0, 
                level = 0 '\000', flags = 0 '\000'} <repeats 128 times>}, 
            string = {lstring = 0, s = 0x0, schars = 0, bufpos = 0, 
              from_disp_str = false, unibyte = false}, w = 0x1cc4e78, 
            paragraph_dir = L2R, separator_limit = -1, first_elt = false, 
            new_paragraph = false, frame_window_p = true}, 
          paragraph_embedding = NEUTRAL_DIR}
        temp_scroll_step = true
        rc = 0
        last_line_misfit = false
        itdata = 0x42933
#19 0x0000000000467d9b in redisplay_window_0 (window=window@entry=30166653)
    at xdisp.c:14491
No locals.
#20 0x0000000000562adc in internal_condition_case_1 (
    bfun=bfun@entry=0x467d70 <redisplay_window_0>, arg=30166653, 
    handlers=<optimized out>, 
    hfun=hfun@entry=0x42cf60 <redisplay_window_error>) at eval.c:1339
        val = 11
        c = <optimized out>
#21 0x000000000043234e in redisplay_windows (window=30166653) at xdisp.c:14471
No locals.
#22 0x00000000004565c9 in redisplay_internal () at xdisp.c:14031
        match_p = true
#23 0x00000000004577c5 in redisplay_preserve_echo_area (
    from_where=from_where@entry=12) at xdisp.c:14328
No locals.
#24 0x00000000005a24ac in wait_reading_process_output (
    time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=-1, 
    do_display=true, wait_for_cell=0, wait_proc=0x0, just_wait_proc=0)
    at process.c:5074
        nread = <optimized out>
        process_skipped = <optimized out>
        channel = 14
        nfds = <optimized out>
        Available = {fds_bits = {0 <repeats 16 times>}}
        Writeok = {fds_bits = {0 <repeats 16 times>}}
        check_write = <optimized out>
        check_delay = <optimized out>
        no_avail = <optimized out>
        xerrno = 11
        proc = <optimized out>
        timeout = {tv_sec = 0, tv_nsec = 472794994}
        end_time = {tv_sec = 1497368077, tv_nsec = 738303530}
        timer_delay = <optimized out>
        got_output_end_time = {tv_sec = 1497368077, tv_nsec = 738303530}
        wait = TIMEOUT
        got_some_output = 307
        now = {tv_sec = 0, tv_nsec = -1}
#25 0x0000000000422cb2 in sit_for (timeout=75, reading=false, display_option=0)
    at dispnew.c:5762
        sec = 75
        nsec = 0
#26 0x00000000004fc108 in read_char (commandflag=50828624, 
    commandflag@entry=1, map=48953344, map@entry=48929843, prev_event=12, 
    used_mouse_menu=0x0, used_mouse_menu@entry=0x7fffffffdf3b, 
    end_time=0x147e501, end_time@entry=0x0) at keyboard.c:2719
        tem0 = 11
        buffer_size = 11
        local_getcjmp = {{__jmpbuf = {14275329, 8900384129331625916, 36270, 
              14275376, 140737488347152, 48929843, -8900386582050111556, 
              8900387127691837372}, __mask_was_saved = 0, __saved_mask = {
              __val = {1099102, 140737488346544, 29568, 274785, 
                18446744073709551615, 31576949, 5598697, 3, 401536, 31576944, 
                5435, 12624693, 274775, 1099102, 31576949, 0}}}}
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, 
            __mask_was_saved = 0, __saved_mask = {__val = {
                0 <repeats 16 times>}}}}
        save = 14275376
        previous_echo_area_message = 0
        also_record = 0
        reread = false
        recorded = false
        polling_stopped_here = false
#27 0x00000000004fcdf6 in read_key_sequence (
    keybuf=keybuf@entry=0x7fffffffe010, prompt=prompt@entry=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, bufsize=30)
    at keyboard.c:9068
        interrupted_kboard = 0xd9d330
        interrupted_frame = 0x122bed0
        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 = 48929843
        first_event = 0
        first_unbound = 31
        mock_input = 0
        fkey = {parent = 17325971, map = 17325971, start = 0, end = 0}
        keytran = {parent = 12574275, map = 12574275, start = 0, end = 0}
        indec = {parent = 17326099, map = 17326099, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = 0
        original_uppercase = 0
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x1e1d370
        fake_prefixed_keys = 0
#28 0x00000000004fea36 in command_loop_1 () at keyboard.c:1370
        cmd = <optimized out>
        keybuf = {54, 198, 202, 3741483769490454528, 2822930839, 
          3741483769490454528, 9960192, 4075552, 48246979, 140737488347360, 
          48246979, 140737488348048, 0, 5653492, 317296, 48246979, 8760868, 
          4075552, 12344528, 3741483769490454528, 48246979, 5198866, 
          140737488347360, 0, 0, 5199199, 140737488347904, 5580337, 28512, 96}
        i = <optimized out>
        prev_modiff = 36270
        prev_buffer = 0x1e1d370
#29 0x0000000000562b56 in internal_condition_case (
    bfun=bfun@entry=0x4fe830 <command_loop_1>, handlers=handlers@entry=19104, 
    hfun=hfun@entry=0x4f5440 <cmd_error>) at eval.c:1315
        val = 11
        c = <optimized out>
#30 0x00000000004f0a6c in command_loop_2 (ignore=ignore@entry=0)
    at keyboard.c:1112
        val = 11
#31 0x0000000000562bbb in internal_catch (tag=tag@entry=45936, 
    func=func@entry=0x4f0a50 <command_loop_2>, arg=arg@entry=0) at eval.c:1080
        val = 11
        c = <optimized out>
#32 0x00000000004f0a29 in command_loop () at keyboard.c:1091
No locals.
#33 0x00000000004f5057 in recursive_edit_1 () at keyboard.c:697
        val = <optimized out>
#34 0x00000000004f5370 in Frecursive_edit () at keyboard.c:768
        buffer = <optimized out>
#35 0x0000000000418dce in main (argc=1, argv=0x7fffffffe398) at emacs.c:1629
        dummy = 140737354130688
        stack_bottom_variable = -1 '\377'
        skip_args = 0
        rlim = {rlim_cur = 8720000, rlim_max = 18446744073709551615}
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0

^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-13 15:41                 ` Vivek Dasmohapatra
@ 2017-06-13 16:41                   ` Eli Zaretskii
  2017-06-13 17:04                     ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-13 16:41 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Tue, 13 Jun 2017 16:41:37 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> Triggered the segfault: Looks different to the emacs 25.1 fault
> but still GC related, I think.
> 
> gdb session remains up and running.

What kind of :eval form(s) do you have in your mode-line-format
definitions?





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-13 16:41                   ` Eli Zaretskii
@ 2017-06-13 17:04                     ` Vivek Dasmohapatra
  2017-06-13 19:46                       ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-13 17:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

> What kind of :eval form(s) do you have in your mode-line-format
> definitions?

At the top level of m-l-f

  ;; 2nd element:
  (:eval
    (if
        (display-graphic-p)
        #(" " 0 1
          (help-echo "mouse-1: Select (drag to resize)\nmouse-2: Make current
                      window occupy the whole frame\nmouse-3: Remove current
                      window from display"))
      #("-" 0 1
        (help-echo "mouse-1: Select (drag to resize)\nmouse-2: Make current
                    window occupy the whole frame\nmouse-3: Remove current
                    window from display"))))

Immediately followd by:

  ;; mode-line-mule-info
  ;; which ends with:
   (:eval
     (mode-line-eol-desc))

  ;; mode-line-client
  ("" (:propertize
        ("" (:eval
             (if (frame-parameter nil 'client) "@" "")))

  ;; mode-line-modified - N/a
  ;; mode-line-remote - N/a

  ;; mode-line-frame-identification
  (:eval (mode-line-frame-control))

  ;; mode-line-buffer-identification - N/a

  ;; Final element:
(:eval
   (unless
       (display-graphic-p)
     #("-%-" 0 3
       (help-echo "mouse-1: Select (drag to resize)\nmouse-2: Make current
                   window occupy the whole frame\nmouse-3: Remove current
                   window from display"))))






^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-13 17:04                     ` Vivek Dasmohapatra
@ 2017-06-13 19:46                       ` Eli Zaretskii
  2017-06-13 21:23                         ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-13 19:46 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Tue, 13 Jun 2017 18:04:43 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> > What kind of :eval form(s) do you have in your mode-line-format
> > definitions?
> 
> At the top level of m-l-f

Thanks, that seems okay.

Hmm... all those "optimized out" variables really make it hard
figuring out which Lisp data structure causes the trouble.  Do you
know how to examine marked objects stored in the last_marked[] array?
There are some instructions about that in etc/DEBUG.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-13 19:46                       ` Eli Zaretskii
@ 2017-06-13 21:23                         ` Vivek Dasmohapatra
  2017-06-14  2:32                           ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-13 21:23 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

> Hmm... all those "optimized out" variables really make it hard
> figuring out which Lisp data structure causes the trouble.  Do you

Yeah, I've come to loathe that "optimized out" message on other
projects too.

> know how to examine marked objects stored in the last_marked[] array?
> There are some instructions about that in etc/DEBUG.

I'll have a look.






^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-13 21:23                         ` Vivek Dasmohapatra
@ 2017-06-14  2:32                           ` Eli Zaretskii
  2017-06-15 13:48                             ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-14  2:32 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Tue, 13 Jun 2017 22:23:33 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> > Hmm... all those "optimized out" variables really make it hard
> > figuring out which Lisp data structure causes the trouble.  Do you
> 
> Yeah, I've come to loathe that "optimized out" message on other
> projects too.

One thing to try is to rebuild Emacs without optimizations (-O0
compiler option).

> > know how to examine marked objects stored in the last_marked[] array?
> > There are some instructions about that in etc/DEBUG.
> 
> I'll have a look.

Thank you.  Let me know if you need help in that.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-14  2:32                           ` Eli Zaretskii
@ 2017-06-15 13:48                             ` Vivek Dasmohapatra
  2017-06-15 14:47                               ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-15 13:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

On Wed, 14 Jun 2017, Eli Zaretskii wrote:

> One thing to try is to rebuild Emacs without optimizations (-O0
> compiler option).

I'll kick off a build, but from experience that seems to help a lot
less these days - AIUI anything left in a register over a function
call still counts as optimised away, and you have to crack out
the disassembly instructions in gdb to see it. I'm guessing amd64
having a lot more registers makes this more obvious than in the
old i386 register-starved days.

> Thank you.  Let me know if you need help in that.

Looks reasonable enough. Is there anything in particular you're
interested in, other than which object triggered the SEGV?





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-15 13:48                             ` Vivek Dasmohapatra
@ 2017-06-15 14:47                               ` Eli Zaretskii
  2017-06-19  0:57                                 ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-15 14:47 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Thu, 15 Jun 2017 14:48:40 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> On Wed, 14 Jun 2017, Eli Zaretskii wrote:
> 
> > One thing to try is to rebuild Emacs without optimizations (-O0
> > compiler option).
> 
> I'll kick off a build, but from experience that seems to help a lot
> less these days

IME, it actually helps a lot, even on 64-bit machines.

> Is there anything in particular you're interested in, other than
> which object triggered the SEGV?

The faulty object would be a very important clue.  Once we find that
out, we should look at how that object is created and modified.

Thanks.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-15 14:47                               ` Eli Zaretskii
@ 2017-06-19  0:57                                 ` Vivek Dasmohapatra
  2017-06-19 14:59                                   ` Eli Zaretskii
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-19  0:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

[-- Attachment #1: Type: TEXT/PLAIN, Size: 3549 bytes --]

> The faulty object would be a very important clue.  Once we find that
> out, we should look at how that object is created and modified.

Not sure I'm doing this right, but here's what I have so far:

SEGV @
#0 mark_object; alloc.c:6450
last_mark_index=12, therefore last_mark[11] must be what we are looking at.

(gdb) p XTYPE(last_marked[11])
$41 = Lisp_Symbol
(gdb) p XSYMBOL(last_marked[11])
$44 = (struct Lisp_Symbol *) 0x3c382c0
(gdb) p *XSYMBOL(last_marked[11])
Cannot access memory at address 0x3c382c0

which matches alloc.c:6540 which is inside a `case Lisp_Symbol:' section

line that fails is:

if (ptr->gcmarkbit)

so we have a duff symbol?
============================================================================
#1 mark_object; alloc.c:6543

inside a case Lisp_Cons:

mark_object (ptr->car);

assuming this is the previous marked object:

(gdb) p XTYPE(last_marked[10])
$45 = Lisp_Cons
(gdb) p XCONS(last_marked[10])
$46 = (struct Lisp_Cons *) 0x2eaf810
(gdb) p *XCONS(last_marked[10])
$47 = {car = 50828624, u = {cdr = 48953347, chain = 0x2eaf803}}

(gdb) p XTYPE(50828624)
$49 = Lisp_Symbol
(gdb) p *XSYMBOL(50828624)
Cannot access memory at address 0x3c382c0 // curses, foiled again

============================================================================
#2 mark_maybe_object; alloc.c:4743

Not interesting: checks for alive-ness and calls mark_object
============================================================================
#3  mark_memory (end=0x7fffffffe218, start=<optimized out>); alloc.c:4895

for (pp = start; (void *) pp < end; pp += GC_POINTER_ALIGNMENT)
     {
       mark_maybe_pointer (*(void **) pp);
       mark_maybe_object (*(Lisp_Object *) pp); // ← this is the entry point
     }

(gdb) p XTYPE(*(Lisp_Object *)pp)
$63 = Lisp_Cons
(gdb) p *XCONS(*(Lisp_Object *)pp)
$65 = {car = 48892595, u = {cdr = 49727219, chain = 0x2f6c6f3}}

This doesn't seem to match what we encounter two frames down in mark_object:
Maybe I've misinterpreted something? Anyway:

following the earlier call to mark_maybe_pointer:

(gdb) call mem_find(*((void **) pp))
$86 = (struct mem_node *) 0x2cce8a0
(gdb) p *(struct mem_node *) 0x2cce8a0
$87 = {left = 0x2cce8e0, right = 0x2e816e0, parent = 0x2d5cb00,
   start = 0x2f6c400, end = 0x2f6c7f0, color = MEM_BLACK, type = MEM_TYPE_CONS}

and later on:

 	case MEM_TYPE_CONS:
       if (live_cons_p (m, p) && !CONS_MARKED_P ((struct Lisp_Cons *) p))
           XSETCONS (obj, p);
       break;

so we've copied the cons cell into obj (I think).

And then finally:

     if (!NILP (obj))
         mark_object (obj);

so maybe last_marked[9] is involved?

idx 9 seems to be a list with every car being:

(gdb) p last_marked[9]
$120 = 48953379
(gdb) p XTYPE(last_marked[9])
$121 = Lisp_Cons
(gdb) p *XCONS(last_marked[9])
$122 = {car = 8760836, u = {cdr = 48953363, chain = 0x2eaf813}}
(gdb) p XTYPE(8760836)
$123 = Lisp_String
(gdb) p *XSTRING(8760836)
$124 = {size = 4, size_byte = -1, intervals = 0x0,
   data = 0xb374bb <pure+2999995> "DEAD"}

So... a reaped list? Not helpful anyway. Nothing identifiable here.

============================================================================
#4 mark_stack

Nothing of note here
============================================================================

Going up the backtrace all I find is that we're in the modeline display
code and we're _about_ to eval the mode-line-frame-identification
value:

(:eval (mode-line-frame-control))

But GC happens before we actually call it.

Not sure where to go from here: Any advice?

^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-19  0:57                                 ` Vivek Dasmohapatra
@ 2017-06-19 14:59                                   ` Eli Zaretskii
  2017-06-19 18:03                                     ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Eli Zaretskii @ 2017-06-19 14:59 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

> Date: Mon, 19 Jun 2017 01:57:54 +0100 (BST)
> From: Vivek Dasmohapatra <vivek@etla.org>
> cc: 26932@debbugs.gnu.org
> 
> so maybe last_marked[9] is involved?
> 
> idx 9 seems to be a list with every car being:
> 
> (gdb) p last_marked[9]
> $120 = 48953379
> (gdb) p XTYPE(last_marked[9])
> $121 = Lisp_Cons
> (gdb) p *XCONS(last_marked[9])
> $122 = {car = 8760836, u = {cdr = 48953363, chain = 0x2eaf813}}
> (gdb) p XTYPE(8760836)
> $123 = Lisp_String
> (gdb) p *XSTRING(8760836)
> $124 = {size = 4, size_byte = -1, intervals = 0x0,
>    data = 0xb374bb <pure+2999995> "DEAD"}
> 
> So... a reaped list? Not helpful anyway. Nothing identifiable here.

I think you should go back along last_marked[] and look for some valid
identifiable object.

> Going up the backtrace all I find is that we're in the modeline display
> code and we're _about_ to eval the mode-line-frame-identification
> value:
> 
> (:eval (mode-line-frame-control))
> 
> But GC happens before we actually call it.

Indeed.  The exact evaluation is not really relevant because the
problem is with an object Emacs is trying to mark, which is most
probably unrelated to what's involved in the :eval form.





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: 25.1; Crash triggered a few times a day with network process
  2017-06-19 14:59                                   ` Eli Zaretskii
@ 2017-06-19 18:03                                     ` Vivek Dasmohapatra
  0 siblings, 0 replies; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-06-19 18:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26932

[-- Attachment #1: Type: TEXT/PLAIN, Size: 6973 bytes --]

idx 7 is a cons, the car is integer 273081 (probably a buffer size
or char position), the cdr is a cons whose car is another instance of
DEAD

(gdb) p last_marked[7]
$285 = 48953395
(gdb) p XTYPE(last_marked[7])
$286 = Lisp_Cons
(gdb) p *XTYPE(last_marked[7])
Attempt to take contents of a non-pointer value.
(gdb) p *XCONS(last_marked[7])
$287 = {car = 1092326, u = {cdr = 48953379, chain = 0x2eaf823}}
(gdb) p XTYPE(1092326)
$288 = Lisp_Int1
(gdb) p XTYPE(48953379)
$289 = Lisp_Cons
(gdb) p XINT(1092326)
$290 = 273081
(gdb) p *XCONS(48953379)
$291 = {car = 8760836, u = {cdr = 48953363, chain = 0x2eaf813}}
(gdb) p XTYPE(8760836)
$292 = Lisp_String
(gdb) p *XSTRING(8760836)
$293 = {size = 4, size_byte = -1, intervals = 0x0,
   data = 0xb374bb <pure+2999995> "DEAD"}

idx 6 seems to be a marker (I guess?) inside a cons:

(gdb) p *XCONS(last_marked[6])
$226 = {car = 21742881, u = {cdr = -30, chain = 0xffffffffffffffe2}}
(gdb) p XTYPE(21742881)
$227 = Lisp_Misc
(gdb) p XTYPE(-30)
$228 = Lisp_Int0
(gdb) p XINT(-30)
$229 = -8
(gdb) p XTYPE(21742881)
$230 = Lisp_Misc
(gdb) p *XMISC(21742881)
$231 = {u_any = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 1128},
   u_free = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 1128,
     chain = 0x1e1d370}, u_marker = {type = Lisp_Misc_Marker, gcmarkbit = true,
     spacer = 1128, need_adjustment = false, insertion_type = false,
     buffer = 0x1e1d370, next = 0x14bc548, charpos = 275053, bytepos = 275063},
   u_overlay = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 1128,
     next = 0x1e1d370, start = 21742920, end = 275053, plist = 275063},
   u_save_value = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 0,
     save_type = SAVE_TYPE_FUNCPTR_PTR_OBJ, data = {{pointer = 0x1e1d370,
         funcpointer = 0x1e1d370, integer = 31576944, object = 31576944}, {
         pointer = 0x14bc548, funcpointer = 0x14bc548, integer = 21742920,
         object = 21742920}, {pointer = 0x4326d, funcpointer = 0x4326d,
         integer = 275053, object = 275053}, {pointer = 0x43277,
         funcpointer = 0x43277, integer = 275063, object = 275063}}},
   u_finalizer = {base = {type = Lisp_Misc_Marker, gcmarkbit = true,
       spacer = 1128}, prev = 0x1e1d370, next = 0x14bc548, function = 275053}}

From here on things don't look interesting (to me) but included for 
completemess: just character positions, cons cells, small chunks of text 
and the symbol nil.

Would recompiling the the GC sanity checking turned on be useful here?

How hard would it be to make emacs log the pointer or pseudopointer and
context when creating an object to stderr so we could figure out which 
object got corrupted? I guess we'd be swamped by output, especially as
it can take a long time to trigger the bug.
=======================================================================================

idx 5 looks like a cons cell whose first element is the cons containing the idx 6 entry:

(gdb) p XTYPE(last_marked[5])
$242 = Lisp_Cons
(gdb) p *XCONS(last_marked[5])
$243 = {car = 44165379, u = {cdr = 48953395, chain = 0x2eaf833}}
(gdb) p XTYPE(44165379)
$244 = Lisp_Cons
(gdb) p XTYPE(48953395)
$245 = Lisp_Cons
(gdb) p *XCONS(44165379)
$246 = {car = 21742881, u = {cdr = -30, chain = 0xffffffffffffffe2}}
(gdb) p XTYPE(21742881)
$247 = Lisp_Misc
(gdb) p *XMISC(21742881)
$248 = {u_any = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 1128},
   u_free = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 1128,
     chain = 0x1e1d370}, u_marker = {type = Lisp_Misc_Marker, gcmarkbit = true,
     spacer = 1128, need_adjustment = false, insertion_type = false,
     buffer = 0x1e1d370, next = 0x14bc548, charpos = 275053, bytepos = 275063},
   u_overlay = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 1128,
     next = 0x1e1d370, start = 21742920, end = 275053, plist = 275063},
   u_save_value = {type = Lisp_Misc_Marker, gcmarkbit = true, spacer = 0,
     save_type = SAVE_TYPE_FUNCPTR_PTR_OBJ, data = {{pointer = 0x1e1d370,
         funcpointer = 0x1e1d370, integer = 31576944, object = 31576944}, {
         pointer = 0x14bc548, funcpointer = 0x14bc548, integer = 21742920,
         object = 21742920}, {pointer = 0x4326d, funcpointer = 0x4326d,
         integer = 275053, object = 275053}, {pointer = 0x43277,
         funcpointer = 0x43277, integer = 275063, object = 275063}}},
   u_finalizer = {base = {type = Lisp_Misc_Marker, gcmarkbit = true,
       spacer = 1128}, prev = 0x1e1d370, next = 0x14bc548, function = 275053}}

The cdr is a cons whose car is another "DEAD" string.

(gdb) p XTYPE(last_marked[5])
$249 = Lisp_Cons
(gdb) p *XCONS(last_marked[5])
$250 = {car = 44165379, u = {cdr = 48953395, chain = 0x2eaf833}}
(gdb) p XTYPE(48953395)
$251 = Lisp_Cons
(gdb) p *XCONS(48953395)
$252 = {car = 1092326, u = {cdr = 48953379, chain = 0x2eaf823}}
(gdb) p XTYPE(1092326)
$253 = Lisp_Int1
(gdb) p XINT(1092326)
$254 = 273081
(gdb) p XTYPE(48953379)
$255 = Lisp_Cons
(gdb) p *XCONS(48953379)
$256 = {car = 8760836, u = {cdr = 48953363, chain = 0x2eaf813}}

(gdb) p XINT(last_marked[4])
$260 = -273073 ← char position? seems close to the number above.

(gdb) p *XSTRING(last_marked[3])
$264 = {size = -9223372036854775800, size_byte = 8, intervals = 0x0,
   data = 0x2ab9f28 "l corpse"}

That's an outgoing string sent by the mud client over the newtwork.

last_marked[2] contains a cons of( last_marked[3] . last_marked[4] )

last_marked[1] containing structure for the last_marked[2]

last_marked[0]

(gdb) p XTYPE(last_marked[0])
$310 = Lisp_Symbol
(gdb) p *XSYMBOL(last_marked[0])
$311 = {gcmarkbit = true, redirect = SYMBOL_PLAINVAL, constant = 1,
   interned = 2, declared_special = true, pinned = false, name = 8760940,
   val = {value = 0, alias = 0x0, blv = 0x0, fwd = 0x0}, function = 0,
   plist = 33306355, next = 0x0}
(gdb) p XTYPE(8760940)
$312 = Lisp_String
(gdb) p *XSTRING(8760940)
$313 = {size = 3, size_byte = -1, intervals = 0x0, data = 0x5f3eec "nil"}

last_marked[499] - container of previous

last_marked[498]
(gdb) p last_marked[498]
$326 = 1092298
(gdb) p XTYPE(1092298)
$327 = Lisp_Int0
(gdb) p XINT(1092298)
$328 = 273074

last_marked[497] - XINT 273073

last_marked[496] (273073 . 273074)

last_marked[495] ((273073 . 273074) ...)

last_marked[494] 'nil

(gdb) p XTYPE(last_marked[494])
$350 = Lisp_Symbol
(gdb) p *XSYMBOL(last_marked[494])
$351 = {gcmarkbit = true, redirect = SYMBOL_PLAINVAL, constant = 1,
   interned = 2, declared_special = true, pinned = false, name = 8760940,
   val = {value = 0, alias = 0x0, blv = 0x0, fwd = 0x0}, function = 0,
   plist = 33306355, next = 0x0}
(gdb) p XTYPE(8760940)
$352 = Lisp_String
(gdb) p *XSTRING(8760940)
$353 = {size = 3, size_byte = -1, intervals = 0x0, data = 0x5f3eec "nil"}

last_marked[493] container
last_marked[492] 273074
last_marked[491] ibid
last_marked[490] -1
last_marked[489] container
last_marked[488] -273073
last_marked[487] "e"
last_marked[486] ("e" . -273073)
last_marked[485] container

^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: Subject: Re: bug#26932: 25.1;
  2017-05-14 20:54 bug#26932: 25.1; Crash triggered a few times a day with network process Vivek Dasmohapatra
  2017-05-15  3:04 ` Eli Zaretskii
@ 2017-07-10 13:01 ` Vivek Dasmohapatra
  2018-01-10 13:58 ` bug#26932: Found the triggering behaviour Vivek Dasmohapatra
  2 siblings, 0 replies; 25+ messages in thread
From: Vivek Dasmohapatra @ 2017-07-10 13:01 UTC (permalink / raw)
  To: 26932

The data structure looks like the buffer undo list.






^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: Found the triggering behaviour
  2017-05-14 20:54 bug#26932: 25.1; Crash triggered a few times a day with network process Vivek Dasmohapatra
  2017-05-15  3:04 ` Eli Zaretskii
  2017-07-10 13:01 ` bug#26932: Subject: Re: bug#26932: 25.1; Vivek Dasmohapatra
@ 2018-01-10 13:58 ` Vivek Dasmohapatra
  2019-10-23 10:02   ` Lars Ingebrigtsen
  2 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2018-01-10 13:58 UTC (permalink / raw)
  To: 26932

The old code in lui.el used to (effectively) do this:

   (setq buffer-undo-list (mapcar a-lambda-here buffer-undo-list))

This seemed to cause some strings in the undo list structure to get
freed to early, then freed again later.

The altered code uses the approach of setf'ing the relevant elements of
the undo-list, which doesn't trick the GC code into a premature free.

Since there's a workaround it's not particularly urgent, but it seems
to me that there's a hole in the GC logic somewhere.

--- /home/vivek/elisp/lui.el	2017-07-23 19:42:11.047162827 +0100
+++ /home/vivek/elisp/lui.el	2017-07-28 14:03:00.306977730 +0100
@@ -358,10 +358,8 @@
           (setq val (progn ,@body)))
         (when (consp buffer-undo-list)
           ;; Not t :-)
-         (setq buffer-undo-list (lui-adjust-undo-list buffer-undo-list
-                                                      ,old-marker-sym
-                                                      (- lui-input-marker
-                                                         ,old-marker-sym))))
+         (lui-adjust-undo-list  ,old-marker-sym (- lui-input-marker
+                                                   ,old-marker-sym)))
         val)))


@@ -776,66 +774,47 @@
                                    faces)))))))
    )

-(defun lui-adjust-undo-list (list old-begin shift)
-  "Adjust undo positions in LIST by SHIFT.
-LIST is in the format of `buffer-undo-list'.
-Only positions after OLD-BEGIN are affected."
-  ;; This is necessary because the undo-list keeps exact buffer
-  ;; positions.
-  ;; Thanks to ERC for the idea of the code.
-  ;; ERC's code doesn't take care of an OLD-BEGIN value, which is
-  ;; necessary if you allow modification of the buffer.
-  (let* ((adjust-position (lambda (pos)
-                            (if (and (numberp pos)
-                                     ;; After the boundary: Adjust
-                                     (>= (abs pos)
-                                         old-begin))
-                                (* (if (< pos 0)
-                                       -1
-                                     1)
-                                   (+ (abs pos)
-                                      shift))
-                              pos)))
-         (adjust (lambda (entry)
-                   (cond
-                    ;; POSITION
-                    ((numberp entry)
-                     (funcall adjust-position entry))
-                    ((not (consp entry))
-                     entry)
-                    ;; (BEG . END)
-                    ((numberp (car entry))
-                     (cons (funcall adjust-position (car entry))
-                           (funcall adjust-position (cdr entry))))
-                    ;; (TEXT . POSITION)
-                    ((stringp (car entry))
-                     (cons (car entry)
-                           (funcall adjust-position (cdr entry))))
-                    ;; (nil PROPERTY VALUE BEG . END)
-                    ((not (car entry))
-                     `(nil ,(nth 1 entry)
-                           ,(nth 2 entry)
-                           ,(funcall adjust-position (nth 3 entry))
-                           .
-                           ,(funcall adjust-position (nthcdr 4 entry))))
-                    ;; (apply DELTA BEG END FUN-NAME . ARGS)
-                    ((and (eq 'apply (car entry))
-                          (numberp (cadr entry)))
-                     `(apply ,(nth 1 entry)
-                             ,(funcall adjust-position (nth 2 entry))
-                             ,(funcall adjust-position (nth 3 entry))
-                             ,(nth 4 entry)
-                             .
-                             ,(nthcdr 5 entry)))
-                    ;; XEmacs: (<extent> start end)
-                    ((and (fboundp 'extentp)
-                          (extentp (car entry)))
-                     (list (nth 0 entry)
-                           (funcall adjust-position (nth 1 entry))
-                           (funcall adjust-position (nth 2 entry))))
-                    (t
-                     entry)))))
-    (mapcar adjust list)))
+;; ----------------------------------------------------------------------------
+
+(defun lui--adjust-p (pos old)
+  (and (numberp pos) (>= (abs pos) old)))
+
+(defun lui--new-pos (pos shift)
+  (* (if (< pos 0) -1 1) (+ (abs pos) shift)))
+
+(defun lui-adjust-undo-list (old-begin shift)
+  ;; Translate buffer positions in buffer-undo-list by SHIFT.
+  (unless (or (zerop shift) (atom buffer-undo-list))
+    (let ((list buffer-undo-list) elt)
+      (while list
+        (setq elt (car list))
+        (cond ((integerp elt)           ; POSITION
+               (if (lui--adjust-p elt old-begin)
+                   (setf (car list) (lui--new-pos elt shift))))
+              ((or (atom elt)           ; nil, EXTENT
+                   (markerp (car elt))) ; (MARKER . DISTANCE)
+               nil)
+              ((integerp (car elt))     ; (BEGIN . END)
+               (if (lui--adjust-p (car elt) old-begin)
+                   (setf (car elt) (lui--new-pos (car elt) shift)))
+               (if (lui--adjust-p (cdr elt) old-begin)
+                   (setf (cdr elt) (lui--new-pos (cdr elt) shift))))
+              ((stringp (car elt))      ; (TEXT . POSITION)
+               (if (lui--adjust-p (cdr elt) old-begin)
+                   (setf (cdr elt) (lui--new-pos (cdr elt) shift))))
+              ((null (car elt))         ; (nil PROPERTY VALUE BEG . END)
+               (let ((cons (nthcdr 3 elt)))
+                 (if (lui--adjust-p (car cons) old-begin)
+                     (setf (car cons) (lui--new-pos (car cons) shift)))
+                 (if (lui--adjust-p (cdr cons) old-begin)
+                     (setf (cdr cons) (lui--new-pos (cdr cons) shift)))))
+              ((and (featurep 'xemacs)
+                    (extentp (car elt))) ; (EXTENT START END)
+               (if (lui--adjust-p (nth 1 elt) old-begin)
+                     (setf (nth 1 elt) (lui--new-pos (nth 1 elt) shift)))
+                 (if (lui--adjust-p (nth 2 elt) old-begin)
+                     (setf (nth 2 elt) (lui--new-pos (nth 2 elt) shift)))))
+        (setq list (cdr list))))))

  (defvar lui-prompt-map
    (let ((map (make-sparse-keymap)))






^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: Found the triggering behaviour
  2018-01-10 13:58 ` bug#26932: Found the triggering behaviour Vivek Dasmohapatra
@ 2019-10-23 10:02   ` Lars Ingebrigtsen
  2020-01-20 15:11     ` Vivek Dasmohapatra
  0 siblings, 1 reply; 25+ messages in thread
From: Lars Ingebrigtsen @ 2019-10-23 10:02 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

Vivek Dasmohapatra <vivek@etla.org> writes:

> The old code in lui.el used to (effectively) do this:
>
>   (setq buffer-undo-list (mapcar a-lambda-here buffer-undo-list))
>
> This seemed to cause some strings in the undo list structure to get
> freed to early, then freed again later.
>
> The altered code uses the approach of setf'ing the relevant elements of
> the undo-list, which doesn't trick the GC code into a premature free.
>
> Since there's a workaround it's not particularly urgent, but it seems
> to me that there's a hole in the GC logic somewhere.

If I understand correctly, the external lui package set buffer-undo-list
to something invalid, and this led Emacs to segfault when gc-ing?

Was there any further work done here, or a reproducible test case
written?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: Found the triggering behaviour
  2019-10-23 10:02   ` Lars Ingebrigtsen
@ 2020-01-20 15:11     ` Vivek Dasmohapatra
  2020-01-22 13:30       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 25+ messages in thread
From: Vivek Dasmohapatra @ 2020-01-20 15:11 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 26932

> If I understand correctly, the external lui package set buffer-undo-list
> to something invalid, and this led Emacs to segfault when gc-ing?

Not invalid as such - entries were removed from the list while it was "in 
flight" through a mapc/mapcar and a double free (or similar) occurred.

> Was there any further work done here, or a reproducible test case
> written?

No test case was written, the code for lui was changed to operate on
a copy of the undo list, then assign that back to the original head 
variable instead.






^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#26932: Found the triggering behaviour
  2020-01-20 15:11     ` Vivek Dasmohapatra
@ 2020-01-22 13:30       ` Lars Ingebrigtsen
  0 siblings, 0 replies; 25+ messages in thread
From: Lars Ingebrigtsen @ 2020-01-22 13:30 UTC (permalink / raw)
  To: Vivek Dasmohapatra; +Cc: 26932

Vivek Dasmohapatra <vivek@etla.org> writes:

>> If I understand correctly, the external lui package set buffer-undo-list
>> to something invalid, and this led Emacs to segfault when gc-ing?
>
> Not invalid as such - entries were removed from the list while it was
> "in flight" through a mapc/mapcar and a double free (or similar)
> occurred.
>
>> Was there any further work done here, or a reproducible test case
>> written?
>
> No test case was written, the code for lui was changed to operate on
> a copy of the undo list, then assign that back to the original head
> variable instead.

You can make the Emacs gc segfault pretty trivially by making lists that
are recursive in just the wrong way, but it'd be interesting to see just
what it was that lui.el was doing.  But if there's no test case, then it
seem unlikely that we'll make further progress on this bug report.

So I'm closing this bug report.  If further progress can be made, please
either open a new bug report or respond to this and it'll be reopened.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2020-01-22 13:30 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-14 20:54 bug#26932: 25.1; Crash triggered a few times a day with network process Vivek Dasmohapatra
2017-05-15  3:04 ` Eli Zaretskii
2017-05-15 11:18   ` Vivek Dasmohapatra
2017-06-11 21:39     ` Vivek Dasmohapatra
2017-06-12 14:10       ` Eli Zaretskii
2017-06-12 15:21         ` Vivek Dasmohapatra
2017-06-12 15:51           ` Eli Zaretskii
2017-06-12 15:56             ` Vivek Dasmohapatra
2017-06-12 16:30               ` Eli Zaretskii
2017-06-13 15:41                 ` Vivek Dasmohapatra
2017-06-13 16:41                   ` Eli Zaretskii
2017-06-13 17:04                     ` Vivek Dasmohapatra
2017-06-13 19:46                       ` Eli Zaretskii
2017-06-13 21:23                         ` Vivek Dasmohapatra
2017-06-14  2:32                           ` Eli Zaretskii
2017-06-15 13:48                             ` Vivek Dasmohapatra
2017-06-15 14:47                               ` Eli Zaretskii
2017-06-19  0:57                                 ` Vivek Dasmohapatra
2017-06-19 14:59                                   ` Eli Zaretskii
2017-06-19 18:03                                     ` Vivek Dasmohapatra
2017-07-10 13:01 ` bug#26932: Subject: Re: bug#26932: 25.1; Vivek Dasmohapatra
2018-01-10 13:58 ` bug#26932: Found the triggering behaviour Vivek Dasmohapatra
2019-10-23 10:02   ` Lars Ingebrigtsen
2020-01-20 15:11     ` Vivek Dasmohapatra
2020-01-22 13:30       ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).