GNU logs - #23397, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Ken Raeburn <raeburn@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 28 Apr 2016 22:07:01 +0000
Resent-Message-ID: <handler.23397.B.146188116911813 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 23397 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.146188116911813
          (code B ref -1); Thu, 28 Apr 2016 22:07:01 +0000
Received: (at submit) by debbugs.gnu.org; 28 Apr 2016 22:06:09 +0000
Received: from localhost ([127.0.0.1]:53627 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1avu4V-00034R-Ox
	for submit <at> debbugs.gnu.org; Thu, 28 Apr 2016 18:06:09 -0400
Received: from eggs.gnu.org ([208.118.235.92]:40654)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raeburn@HIDDEN>) id 1avu4T-00033x-0B
 for submit <at> debbugs.gnu.org; Thu, 28 Apr 2016 18:06:06 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1avu4E-00055v-8c
 for submit <at> debbugs.gnu.org; Thu, 28 Apr 2016 18:05:59 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID,
 T_FILL_THIS_FORM_SHORT autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:52967)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1avu4E-00055p-44
 for submit <at> debbugs.gnu.org; Thu, 28 Apr 2016 18:05:50 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:59790)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1avu48-0007Ki-9C
 for bug-gnu-emacs@HIDDEN; Thu, 28 Apr 2016 18:05:49 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1avu3y-00053z-Ma
 for bug-gnu-emacs@HIDDEN; Thu, 28 Apr 2016 18:05:44 -0400
Received: from mail-qk0-x22d.google.com ([2607:f8b0:400d:c09::22d]:35129)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1avu3y-00053t-CX
 for bug-gnu-emacs@HIDDEN; Thu, 28 Apr 2016 18:05:34 -0400
Received: by mail-qk0-x22d.google.com with SMTP id q76so33987954qke.2
 for <bug-gnu-emacs@HIDDEN>; Thu, 28 Apr 2016 15:05:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=from:to:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=v6qk7bEt0N0M9Cy98q9i254USEWv8xz6rJVIbLLSsiI=;
 b=TN6hdKy+CmJo1BVhvW1shv1IeHKTrZQKz1wrQQrlV5ZfSS4x4eZcMgRs/cVbiWQrGi
 3PKybrAeepHTcKxLovdtZD23EnOtue3+Ow3cz0PQUCeUgWminpgZlVwaXS3Nw8DcQ+9g
 lh5hOatSAfbXnahwlFzO9dQ9jF7/ut0j30Bro=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=v6qk7bEt0N0M9Cy98q9i254USEWv8xz6rJVIbLLSsiI=;
 b=KqBPXtuLHh+sW9ZfWPxnTtA8QjgiTQHjwSwk0NAc5+xOvWa91O/prgMT5QIsYc3ZPf
 5zujUV7tSoRzYWGBdLEoHeu6/cspe9XS6otvcWJX3t8yVW9IofNiWLO09bROlLv19A8s
 so9BTAOGQL5bm+4IDyUbdzoxgvFThPU1dBTLqCG8xt7+94EYCCFiSTodXfyKd5QpMLN3
 USWQHxQdtrSlBXWHWGGUUtRlgBRPokxVc6g4iejX/B+0zZzyVO1eTgUNLAghZe/VXvfq
 iqP75vGbxa7GvvmGt7SsIuWgt/JH/kL69lhbbc2d7Unnorhb2ecWr7dcJdjGoOhw2DEZ
 cITg==
X-Gm-Message-State: AOPr4FW7IKIM4/MUqo8VVV6Oaesi8Yfhhf7fgYj4+Gi13DE+PRWjddVvRMlaq25PkiN2UBgT
X-Received: by 10.55.73.199 with SMTP id w190mr17160395qka.77.1461881132884;
 Thu, 28 Apr 2016 15:05:32 -0700 (PDT)
Received: from just-testing.permabit.com (vpn.permabit.com. [66.202.84.2])
 by smtp.gmail.com with ESMTPSA id 195sm3463375qkg.20.2016.04.28.15.05.31
 (version=TLSv1/SSLv3 cipher=OTHER);
 Thu, 28 Apr 2016 15:05:31 -0700 (PDT)
From: Ken Raeburn <raeburn@HIDDEN>
Date: Thu, 28 Apr 2016 18:05:29 -0400
Message-ID: <6epot9crti.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)


I'm running the emacs-25 branch as of revision a1f221b, but with commit
d82f24b reverted (attempting to debug #23013), and built with
MARKER_DEBUG enabled (as Eli pointed out, probably not relevant to
#23013) along with assertions.

I was using "git" to update a source tree while about twenty files from
it were loaded into Emacs buffers. Auto-revert was triggered; during the
process, Finsert_file_contents was loading a Perl file when it invoked
BYTE_TO_CHAR:

	  /* Don't try to reuse the same piece of text twice.  */
	  overlap =3D (same_at_start - BEGV_BYTE
		     - (same_at_end
			+ (! NILP (end) ? end_offset : st.st_size) - ZV_BYTE));
	  if (overlap > 0)
	    same_at_end +=3D overlap;
	  same_at_end_charpos =3D BYTE_TO_CHAR (same_at_end);

...with same_at_end well out of range (Z_BYTE=3D12451, same_at_end=3D24673).
The reverting appears to have happened while the file was in the process
of being updated, as st.st_size is zero.

The "end" argument is nil, so the conditional expression will use the
st_size value (zero). So with same_at_start=3D12223, BEGV_BYTE=3D1, and
ZV_BYTE=3D12451, the "overlap" value will be 24673 minus the (old) value
of same_at_end. If that difference doesn't go negative, we'll set
same_at_end to 24673, which is the value seen in the next frame down.
(The "overlap" variable isn't visible from gdb at this point.)

So in buf_bytepos_to_charpos, the initial range check assertion fails,
and Emacs dies.

I haven't managed to reproduce this so far.



Core was generated by `emacs --daemon'.
Program terminated with signal 6, Aborted.
#0  0x00007f6725308b7b in raise (sig=3D<optimized out>) at ../nptl/sysdeps/=
unix/sysv/linux/pt-raise.c:42
42	../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from te=
rminal]
DISPLAY =3D :0.0
TERM =3D dumb
Breakpoint 1 at 0x52d290: file ../../src/emacs.c, line 352.
Temporary breakpoint 2 at 0x54d950: file ../../src/sysdep.c, line 911.
(gdb) bt full
#0  0x00007f6725308b7b in raise (sig=3D<optimized out>) at ../nptl/sysdeps/=
unix/sysv/linux/pt-raise.c:42
        resultvar =3D 0
        pid =3D <optimized out>
#1  0x000000000052d308 in terminate_due_to_signal (sig=3D6, backtrace_limit=
=3D2147483647) at ../../src/emacs.c:380
No locals.
#2  0x00000000005995e4 in die (msg=3D<optimized out>, file=3D<optimized out=
>, line=3D<optimized out>) at ../../src/alloc.c:7218
No locals.
#3  0x0000000000562b46 in buf_bytepos_to_charpos (b=3D0x3940870, bytepos=3D=
24673) at ../../src/marker.c:297
        tail =3D <optimized out>
        best_above =3D <optimized out>
        best_above_byte =3D <optimized out>
        best_below =3D <optimized out>
        best_below_byte =3D <optimized out>
#4  0x000000000056c786 in Finsert_file_contents (filename=3D59999236, visit=
=3D<optimized out>, beg=3D0, end=3D0, replace=3D<optimized out>) at ../../s=
rc/fileio.c:3853
        temp =3D <optimized out>
        overlap =3D <optimized out>
        giveup_match_end =3D false
        st =3D {
          st_dev =3D 2057,=20
          st_ino =3D 5972083,=20
          st_nlink =3D 1,=20
          st_mode =3D 33188,=20
          st_uid =3D 1065,=20
          st_gid =3D 50,=20
          __pad0 =3D 0,=20
          st_rdev =3D 0,=20
          st_size =3D 0,=20
          st_blksize =3D 4096,=20
          st_blocks =3D 8,=20
          st_atim =3D {
            tv_sec =3D 1461804924,=20
            tv_nsec =3D 0
          },=20
          st_mtim =3D {
            tv_sec =3D 1461804924,=20
            tv_nsec =3D 0
          },=20
          st_ctim =3D {
            tv_sec =3D 1461804924,=20
            tv_nsec =3D 0
          },=20
          __unused =3D {0, 0, 0}
        }
        mtime =3D {
          tv_sec =3D 1461804924,=20
          tv_nsec =3D 0
        }
        fd =3D 20
        inserted =3D 0
        how_much =3D <optimized out>
        beg_offset =3D 0
        end_offset =3D <optimized out>
        unprocessed =3D <optimized out>
        handler =3D 0
        val =3D <optimized out>
        insval =3D <optimized out>
        orig_filename =3D 59999236
        old_undo =3D <optimized out>
        p =3D <optimized out>
        total =3D 0
        not_regular =3D <optimized out>
        save_errno =3D 0
        read_buf =3D [text elided]...
        coding =3D {
          id =3D 1,=20
          common_flags =3D 4096,=20
          mode =3D 0,=20
          src_multibyte =3D false,=20
          dst_multibyte =3D false,=20
          chars_at_source =3D false,=20
          raw_destination =3D false,=20
          annotated =3D true,=20
          eol_seen =3D 3,=20
          result =3D CODING_RESULT_SUCCESS,=20
          max_charset_id =3D 0,=20
          spec =3D {
            iso_2022 =3D {
              flags =3D 0,=20
              current_invocation =3D {0, 59159552},=20
              current_designation =3D {0, 0, 0, 16},=20
              ctext_extended_segment_len =3D 0,=20
              single_shifting =3D false,=20
              bol =3D true,=20
              embedded_utf_8 =3D false,=20
              cmp_status =3D {
                state =3D COMPOSING_NO,=20
                method =3D 59159773,=20
                old_form =3D false,=20
                length =3D 117,=20
                nchars =3D 0,=20
                ncomps =3D 0,=20
                carryover =3D {0, 137897158, 0, 0, 0, 53, 0, 0, 0, 1, 0, 59=
159720, 0, 13184, 0 <repeats 11 times>, 137897156, 0, 1, 0, 0, 1, 163300019=
2, 821086785, 13263192, 0, 0, 0, 0, 0, 13263192, 0, 47, 0, 47, 0, 0, 0, 583=
6564, 0, 0, 0, 53, 0, 13263096, 0, 0, 0, 1, 0, 0, 0, 13263128, 0, 0, 0, 53,=
 0, 15698672}
              }
            },=20
            ccl =3D 0x0,=20
            utf_16 =3D {
              bom =3D utf_detect_bom,=20
              endian =3D utf_16_big_endian,=20
              surrogate =3D 59159552
            },=20
            utf_8_bom =3D utf_detect_bom,=20
            emacs_mule =3D {
              cmp_status =3D {
                state =3D COMPOSING_NO,=20
                method =3D COMPOSITION_RELATIVE,=20
                old_form =3D false,=20
                length =3D 0,=20
                nchars =3D 0,=20
                ncomps =3D 0,=20
                carryover =3D {16, 0, 2, 0, 59159773, 0, 117, 0, 0, 0, 1378=
97158, 0, 0, 0, 53, 0, 0, 0, 1, 0, 59159720, 0, 13184, 0 <repeats 11 times>=
, 137897156, 0, 1, 0, 0, 1, 1633000192, 821086785, 13263192, 0, 0, 0, 0, 0,=
 13263192, 0, 47, 0, 47, 0, 0, 0, 5836564, 0, 0, 0, 53, 0, 13263096, 0, 0, =
0, 1, 0}
              }
            },=20
            undecided =3D {
              inhibit_nbd =3D 0,=20
              inhibit_ied =3D 0,=20
              prefer_utf_8 =3D false
            }
          },=20
          safe_charsets =3D 0xcf1980 "",=20
          head_ascii =3D 6017289,=20
          detected_utf8_bytes =3D 53,=20
          detected_utf8_chars =3D 140724539966056,=20
          produced =3D 1,=20
          produced_char =3D 6011538,=20
          consumed =3D 13258416,=20
          consumed_char =3D 6072415,=20
          src_pos =3D 13263096,=20
          src_pos_byte =3D 4,=20
          src_chars =3D 22,=20
          src_bytes =3D 140724539966056,=20
          src_object =3D 0,=20
          source =3D 0xffffffffffffffff <Address 0xffffffffffffffff out of =
bounds>,=20
          dst_pos =3D 59999236,=20
          dst_pos_byte =3D 5840580,=20
          dst_bytes =3D 53,=20
          dst_object =3D 0,=20
          destination =3D 0x35 <Address 0x35 out of bounds>,=20
          charbuf =3D 0xffffffffffffffff,=20
          charbuf_size =3D 59999236,=20
          charbuf_used =3D 0,=20
          carryover =3D "\000\000\000\000\000\000\000\000\004\204\223\003\0=
00\000\000\000p\b\224\003\000\000\000\000\020\000\000\000\000\000\000\000\2=
40\252", '\000' <repeats 14 times>"\372, \300[\000\000\000\000\000\240\252\=
000\000\000\000\000",=20
          carryover_bytes =3D 0,=20
          default_char =3D 0,=20
          detector =3D 0,=20
          decoder =3D 0x4ace70 <decode_coding_raw_text>,=20
          encoder =3D 0x4bdac0 <encode_coding_raw_text>
        }
        replace_handled =3D false
        set_coding_system =3D true
        coding_system =3D 186272
        read_quit =3D false
        empty_undo_list_p =3D false
        old_Vdeactivate_mark =3D 44448
        we_locked_file =3D false
        window_markers =3D <optimized out>
        same_at_start =3D 12223
        same_at_end =3D 24673
        same_at_end_charpos =3D 12451
#5  0x00000000005bbd7c in Ffuncall (nargs=3D6, args=3D0x7ffcfc374398) at ..=
/../src/eval.c:2709
        internal_argbuf =3D {13730768, 0, 1, 4440414, 53, 5928744, 292928, =
292928}
        fun =3D <optimized out>
        original_fun =3D <optimized out>
        funcar =3D 0
        numargs =3D 5
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D 0x7ffcfc3743a0
        count =3D 24
#6  0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D6, maxde=
pth=3D6, args_template=3D0, nargs=3D2, args=3D0x400448) at ../../src/byteco=
de.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 22
        stack =3D {
          pc =3D 0xc184d9 ")\202y",=20
          byte_string =3D 9710972,=20
          byte_string_start =3D 0xc1846c "\306\002!\204\023",=20
          next =3D 0x7ffcfc3745f0
        }
        result =3D 0
        type =3D 2305
#7  0x00000000005bba72 in Ffuncall (nargs=3D3, args=3D0x7ffcfc374568) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 4554608
        funcar =3D 0
        numargs =3D 2
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 21
#8  0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D3, maxde=
pth=3D6, args_template=3D0, nargs=3D2, args=3D0x400448) at ../../src/byteco=
de.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 19
        stack =3D {
          pc =3D 0xc1860b "\210\334\335\t!!\026$\336\330\211\321\330\016%%\=
210\337\340\003\"\210\211\203\263",=20
          byte_string =3D 9710484,=20
          byte_string_start =3D 0xc1857c "r\306p!\206\b",=20
          next =3D 0x7ffcfc374790
        }
        result =3D 0
        type =3D 2305
#9  0x00000000005bba72 in Ffuncall (nargs=3D3, args=3D0x7ffcfc374720) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 4554512
        funcar =3D 0
        numargs =3D 2
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 18
#10 0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D3, maxde=
pth=3D6, args_template=3D0, nargs=3D3, args=3D0x400448) at ../../src/byteco=
de.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 16
        stack =3D {
          pc =3D 0xc1866d "*\207",=20
          byte_string =3D 9710228,=20
          byte_string_start =3D 0xc18661 "\303\001\030\031\n\206\t",=20
          next =3D 0x7ffcfc374960
        }
        result =3D 0
        type =3D 2305
#11 0x00000000005bba72 in Ffuncall (nargs=3D4, args=3D0x7ffcfc3748d0) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 3874224
        funcar =3D 0
        numargs =3D 3
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 15
#12 0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D4, maxde=
pth=3D6, args_template=3D0, nargs=3D0, args=3D0x400448) at ../../src/byteco=
de.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 13
        stack =3D {
          pc =3D 0x35c8952 "\210)\t\203\274",=20
          byte_string =3D 48010052,=20
          byte_string_start =3D 0x35c88b8 "p\306\307\030\t\203?",=20
          next =3D 0x7ffcfc374c30
        }
        result =3D 0
        type =3D 2305
#13 0x00000000005bba72 in Ffuncall (nargs=3D1, args=3D0x7ffcfc374bc8) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 55760293
        funcar =3D 0
        numargs =3D 0
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 12
#14 0x00000000005bce84 in Fapply (nargs=3D2, args=3D<optimized out>) at ../=
../src/eval.c:2274
        i =3D <optimized out>
        numargs =3D <optimized out>
        funcall_nargs =3D <optimized out>
        funcall_args =3D 0x0
        spread_arg =3D 0
        fun =3D <optimized out>
        retval =3D <optimized out>
        sa_avail =3D 16384
        sa_must_free =3D false
#15 0x00000000005bbf06 in Ffuncall (nargs=3D3, args=3D0x7ffcfc374bc0) at ..=
/../src/eval.c:2673
        fun =3D <optimized out>
        original_fun =3D 9504
        funcar =3D 0
        numargs =3D 2
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 11
#16 0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D3, maxde=
pth=3D6, args_template=3D0, nargs=3D0, args=3D0x400448) at ../../src/byteco=
de.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 11
        stack =3D {
          pc =3D 0x10b6553 "\207",=20
          byte_string =3D 18033780,=20
          byte_string_start =3D 0x10b6548 "\300\301\002\"\206\v",=20
          next =3D 0x7ffcfc374df0
        }
        result =3D 0
        type =3D 2305
#17 0x00000000005bba72 in Ffuncall (nargs=3D1, args=3D0x7ffcfc374d88) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 41483120
        funcar =3D 0
        numargs =3D 0
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 10
#18 0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D1, maxde=
pth=3D6, args_template=3D0, nargs=3D91483, args=3D0x400448) at ../../src/by=
tecode.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 9
        stack =3D {
          pc =3D 0x35c87fb "\210\r\024\332\324\323\"\210)\001A\266\202\202r=
",=20
          byte_string =3D 49284980,=20
          byte_string_start =3D 0x35c8740 "\306\061\322",=20
          next =3D 0x7ffcfc374ff0
        }
        result =3D 0
        type =3D 2305
#19 0x00000000005bba72 in Ffuncall (nargs=3D2, args=3D0x7ffcfc374f70) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 41482928
        funcar =3D 0
        numargs =3D 1
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 8
#20 0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D2, maxde=
pth=3D6, args_template=3D140724539969400, nargs=3D1, args=3D0x400448) at ..=
/../src/bytecode.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 8
        stack =3D {
          pc =3D 0x35d4a38 "\210\004\204\262\001\211\334>\203\273\001\006\a=
;\203\250\001\335\006\b!\204\273\001\006\b\336\006\016!\230\203\273\001\337=
\332\006\r\005@\"!\210\001A\266\202\202\060",=20
          byte_string =3D 50354644,=20
          byte_string_start =3D 0x35d48a8 "\211@\302\001\b\"\002A@\303\004!=
\304\211\211\211\005:\204\032",=20
          next =3D 0x7ffcfc375180
        }
        result =3D 0
        type =3D 2305
#21 0x00000000005bba72 in Ffuncall (nargs=3D2, args=3D0x7ffcfc375110) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 41462528
        funcar =3D 0
        numargs =3D 1
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 7
#22 0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D2, maxde=
pth=3D6, args_template=3D0, nargs=3D1, args=3D0x400448) at ../../src/byteco=
de.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 7
        stack =3D {
          pc =3D 0x35d4655 "\207\303\304\305\003B\"\207",=20
          byte_string =3D 50369588,=20
          byte_string_start =3D 0x35d4640 "\211@\300=3D\203\026",=20
          next =3D 0x7ffcfc375680
        }
        result =3D 0
        type =3D 2305
#23 0x00000000005bba72 in Ffuncall (nargs=3D2, args=3D0x7ffcfc375378) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 457984
        funcar =3D 0
        numargs =3D 1
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 6
#24 0x00000000005b7159 in Ffuncall_interactively (nargs=3D2, args=3D0x7ffcf=
c375378) at ../../src/callint.c:248
No locals.
#25 0x00000000005bbf06 in Ffuncall (nargs=3D3, args=3D0x7ffcfc375370) at ..=
/../src/eval.c:2673
        fun =3D <optimized out>
        original_fun =3D 24000
        funcar =3D 0
        numargs =3D 2
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 4
#26 0x00000000005b87c4 in Fcall_interactively (function=3D140724539970416, =
record_flag=3D0, keys=3D140724539970464) at ../../src/callint.c:836
        val =3D <optimized out>
        args =3D 0x7ffcfc375370
        visargs =3D 0xfff9f86ea710
        specs =3D <optimized out>
        filter_specs =3D <optimized out>
        teml =3D <optimized out>
        up_event =3D <optimized out>
        sa_avail =3D <optimized out>
        sa_must_free =3D false
        next_event =3D <optimized out>
        prefix_arg =3D 0
        string =3D <optimized out>
        tem =3D <optimized out>
        varies =3D 0x17ff6f4a5fab0 <Address 0x17ff6f4a5fab0 out of bounds>
        i =3D <optimized out>
        nargs =3D 3
        mark =3D <optimized out>
        arg_from_tty =3D <optimized out>
        key_count =3D 1
        record_then_fail =3D false
        save_this_command =3D 0
        save_last_command =3D 4825984
        save_this_original_command =3D 0
        save_real_this_command =3D 0
#27 0x00000000005bbdfc in Ffuncall (nargs=3D4, args=3D0x7ffcfc3755f8) at ..=
/../src/eval.c:2700
        internal_argbuf =3D {457984, 0, 0, 4440414, 140724539971312, 592874=
4, 0, 140724539971312}
        fun =3D <optimized out>
        original_fun =3D <optimized out>
        funcar =3D 0
        numargs =3D 3
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D 0x7ffcfc375600
        count =3D 3
#28 0x00000000005fcaad in exec_byte_code (bytestr=3D2305, vector=3D4, maxde=
pth=3D6, args_template=3D0, nargs=3D4, args=3D0x400448) at ../../src/byteco=
de.c:880
        targets =3D {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5f=
c8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924,=
 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5f=
c9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9,=
 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5f=
df7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464,=
 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5f=
e1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2,=
 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5f=
cdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375,=
 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5f=
edf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3,=
 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5f=
d92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9,=
 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5f=
dd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71,=
 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5f=
d6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c,=
 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5f=
e154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711,=
 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5f=
d5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334,=
 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5f=
e62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6,=
 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5f=
c882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 =
<repeats 64 times>}
        count =3D 3
        stack =3D {
          pc =3D 0xbf57b7 "\006\006\071\203\242",=20
          byte_string =3D 10150908,=20
          byte_string_start =3D 0xbf573c "\306\020\211?\205\023",=20
          next =3D 0x0
        }
        result =3D 0
        type =3D 2305
#29 0x00000000005bba72 in Ffuncall (nargs=3D5, args=3D0x7ffcfc375790) at ..=
/../src/eval.c:2754
        fun =3D <optimized out>
        original_fun =3D 14784
        funcar =3D 0
        numargs =3D 4
        lisp_numargs =3D 6
        val =3D <optimized out>
        internal_args =3D <optimized out>
        count =3D 2
#30 0x00000000005bc079 in call4 (fn=3D<optimized out>, arg1=3D<optimized ou=
t>, arg2=3D<optimized out>, arg3=3D<optimized out>, arg4=3D<optimized out>)=
 at ../../src/eval.c:2577
No locals.
#31 0x000000000053b1b2 in read_char (commandflag=3D1, map=3D127403475, prev=
_event=3D0, used_mouse_menu=3D0x7ffcfc375ebf, end_time=3D0x0) at ../../src/=
keyboard.c:2835
        prev_buffer =3D 0x31cac30
        c =3D 130132563
        local_getcjmp =3D {{
            __jmpbuf =3D {0, 369207272891589228, 52210736, 4611686018477719=
552, 13599328, 1, -367526741044780436, 369207937242997356},=20
            __mask_was_saved =3D 0,=20
            __saved_mask =3D {
              __val =3D {0 <repeats 16 times>}
            }
          }}
        save_jump =3D {{
            __jmpbuf =3D {0, 369209120862741100, 117521837, 5, 0, 1, -36752=
6741044780436, 369207937242997356},=20
            __mask_was_saved =3D 0,=20
            __saved_mask =3D {
              __val =3D {97323811, 0, 0, 97323827, 97323824, 0, 46116860185=
95160064, 4611686019484352512, 6072415, 41400304, 6073252, 166272, 0, 46116=
86018595160064, 97323827, 1}
            }
          }}
        tem =3D 457984
        save =3D <optimized out>
        previous_echo_area_message =3D 0
        also_record =3D 0
        reread =3D false
        recorded =3D false
        polling_stopped_here =3D false
        orig_kboard =3D 0xcf8260
#32 0x000000000053f96e in read_key_sequence (keybuf=3D0x7ffcfc375f20, promp=
t=3D0, dont_downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, fix_curr=
ent_buffer=3Dtrue, prevent_redisplay=3D<optimized out>, bufsize=3D30) at ..=
/../src/keyboard.c:9055
        interrupted_kboard =3D <optimized out>
        interrupted_frame =3D 0xcfca00
        key =3D <optimized out>
        used_mouse_menu =3D false
        echo_local_start =3D 0
        last_real_key_start =3D 0
        keys_local_start =3D 0
        new_binding =3D <optimized out>
        t =3D 0
        echo_start =3D 0
        keys_start =3D 0
        current_binding =3D 127403475
        first_event =3D 0
        first_unbound =3D 31
        mock_input =3D 0
        fkey =3D {
          parent =3D 13805859,=20
          map =3D 13805859,=20
          start =3D 0,=20
          end =3D 0
        }
        keytran =3D {
          parent =3D 13535811,=20
          map =3D 13535811,=20
          start =3D 0,=20
          end =3D 0
        }
        indec =3D {
          parent =3D 13805875,=20
          map =3D 13805875,=20
          start =3D 0,=20
          end =3D 0
        }
        shift_translated =3D false
        delayed_switch_frame =3D 0
        original_uppercase =3D 5930301
        original_uppercase_position =3D -1
        dummyflag =3D <optimized out>
        starting_buffer =3D 0x31cac30
        fake_prefixed_keys =3D 0
#33 0x0000000000541334 in command_loop_1 () at ../../src/keyboard.c:1357
        cmd =3D <optimized out>
        keybuf =3D {98, 14, 246, 18, 4294967296, 3526540890385783552, 0, 59=
25508, 0, 28416, 0, 112171987, 140724539973632, 0, 0, 45840, 13437840, 6013=
092, 157136, 112171987, 9257796, 0, 140724539973632, 5451033, 0, 112171987,=
 0, 5451319, 0, 6006135}
        i =3D <optimized out>
        prev_modiff =3D 117
        prev_buffer =3D 0x4bab8e0
#34 0x00000000005b9eba in internal_condition_case (bfun=3D0x541120 <command=
_loop_1>, handlers=3D<optimized out>, hfun=3D0x532d50 <cmd_error>) at ../..=
/src/eval.c:1309
        val =3D <optimized out>
        c =3D 0x8c9
#35 0x0000000000530fac in command_loop_2 (ignore=3D<optimized out>) at ../.=
./src/keyboard.c:1099
        val =3D 0
#36 0x00000000005b9f48 in internal_catch (tag=3D<optimized out>, func=3D0x5=
30f90 <command_loop_2>, arg=3D0) at ../../src/eval.c:1074
        val =3D 0
        c =3D 0x8c9
#37 0x0000000000530ee2 in command_loop () at ../../src/keyboard.c:1078
No locals.
#38 0x0000000000532846 in recursive_edit_1 () at ../../src/keyboard.c:684
        val =3D <optimized out>
#39 0x0000000000532ba5 in Frecursive_edit () at ../../src/keyboard.c:755
        buffer =3D <optimized out>
#40 0x0000000000413a68 in main (argc=3D<optimized out>, argv=3D<optimized o=
ut>) at ../../src/emacs.c:1605
        dummy =3D 140081048168216
        stack_bottom_variable =3D 0 '\000'
        do_initial_setlocale =3D <optimized out>
        dumping =3D <optimized out>
        skip_args =3D 1
        rlim =3D {
          rlim_cur =3D 8720000,=20
          rlim_max =3D 18446744073709551615
        }
        no_loadup =3D false
        junk =3D 0x0
        dname_arg =3D 0x0
        ch_to_dir =3D 0x0
        original_pwd =3D 0x2 <Address 0x2 out of bounds>
You can't do that without a process to debug.
(gdb) source ~/xbt.gdb=20
(gdb) xbt
"insert-file-contents" (0xfc3743a0)
"revert-buffer-insert-file-contents--default-function" (0xfc374570)
"revert-buffer--default" (0xfc374728)
"revert-buffer" (0xfc3748d8)
0x352d5a0 PVEC_COMPILED
"apply" (0xfc374bc8)
"auto-revert-handler" (0xfc374d90)
"auto-revert-notify-handler" (0xfc374f78)
"file-notify-callback" (0xfc375118)
"file-notify-handle-event" (0xfc375380)
"funcall-interactively" (0xfc375378)
"call-interactively" (0xfc375600)
"command-execute" (0xfc375798)
(gdb) p current_buffer
$1 =3D (struct buffer *) 0x3940870
(gdb) p *current_buffer
$2 =3D {
  header =3D {
    size =3D 4611686018528256071
  },=20
  name_ =3D 60031812,=20
  filename_ =3D 59999236,=20
  directory_ =3D 60034580,=20
  backed_up_ =3D 0,=20
  save_length_ =3D 49802,=20
  auto_save_file_name_ =3D 60034804,=20
  read_only_ =3D 0,=20
  mark_ =3D 60032025,=20
  local_var_alist_ =3D 154793331,=20
  major_mode_ =3D 4621376,=20
  mode_name_ =3D 14815124,=20
  mode_line_format_ =3D 17496099,=20
  header_line_format_ =3D 48621651,=20
  keymap_ =3D 17934947,=20
  abbrev_table_ =3D 53010869,=20
  syntax_table_ =3D 20669221,=20
  category_table_ =3D 13559829,=20
  case_fold_search_ =3D 44448,=20
  tab_width_ =3D 34,=20
  fill_column_ =3D 282,=20
  left_margin_ =3D 2,=20
  auto_fill_function_ =3D 0,=20
  downcase_table_ =3D 13561197,=20
  upcase_table_ =3D 13565413,=20
  case_canon_table_ =3D 19090613,=20
  case_eqv_table_ =3D 19753381,=20
  truncate_lines_ =3D 0,=20
  word_wrap_ =3D 0,=20
  ctl_arrow_ =3D 44448,=20
  bidi_display_reordering_ =3D 44448,=20
  bidi_paragraph_direction_ =3D 30480,=20
  selective_display_ =3D 0,=20
  selective_display_ellipses_ =3D 44448,=20
  minor_modes_ =3D 0,=20
  overwrite_mode_ =3D 0,=20
  abbrev_mode_ =3D 0,=20
  display_table_ =3D 0,=20
  mark_active_ =3D 0,=20
  enable_multibyte_characters_ =3D 44448,=20
  buffer_file_coding_system_ =3D 0,=20
  file_format_ =3D 0,=20
  auto_save_file_format_ =3D 44448,=20
  cache_long_scans_ =3D 44448,=20
  width_table_ =3D 0,=20
  pt_marker_ =3D 0,=20
  begv_marker_ =3D 0,=20
  zv_marker_ =3D 0,=20
  point_before_scroll_ =3D 0,=20
  file_truename_ =3D 142613924,=20
  invisibility_spec_ =3D 60262899,=20
  last_selected_window_ =3D 0,=20
  display_count_ =3D 30,=20
  left_margin_cols_ =3D 2,=20
  right_margin_cols_ =3D 2,=20
  left_fringe_width_ =3D 0,=20
  right_fringe_width_ =3D 0,=20
  fringes_outside_margins_ =3D 0,=20
  scroll_bar_width_ =3D 0,=20
  scroll_bar_height_ =3D 0,=20
  vertical_scroll_bar_type_ =3D 44448,=20
  horizontal_scroll_bar_type_ =3D 44448,=20
  indicate_empty_lines_ =3D 44448,=20
  indicate_buffer_boundaries_ =3D 0,=20
  fringe_indicator_alist_ =3D 21556691,=20
  fringe_cursor_alist_ =3D 18337955,=20
  display_time_ =3D 128283843,=20
  scroll_up_aggressively_ =3D 0,=20
  scroll_down_aggressively_ =3D 0,=20
  cursor_type_ =3D 44448,=20
  extra_line_spacing_ =3D 0,=20
  cursor_in_non_selected_windows_ =3D 44448,=20
  own_text =3D {
    beg =3D 0x584cd90 "##\n# Perl object that represents an optofs filesyst=
em\n#\n# $Id$\n##\npackage Permabit::FileSystem::Optofs;\n\nuse strict;\nus=
e warnings FATAL =3D> qw(all);\nuse English qw(-no_match_vars);\n\nuse Carp=
 qw(confess"...,=20
    gpt =3D 12223,=20
    z =3D 12451,=20
    gpt_byte =3D 12223,=20
    z_byte =3D 12451,=20
    gap_size =3D 1245,=20
    modiff =3D 44191,=20
    chars_modiff =3D 44187,=20
    save_modiff =3D 44191,=20
    overlay_modiff =3D 3961,=20
    compact =3D 44191,=20
    beg_unchanged =3D 229,=20
    end_unchanged =3D 0,=20
    unchanged_modified =3D 44168,=20
    overlay_unchanged_modified =3D 2746,=20
    intervals =3D 0x7dd8ab0,=20
    markers =3D 0x67d2e58,=20
    inhibit_shrinking =3D false,=20
    redisplay =3D false
  },=20
  text =3D 0x3940ab0,=20
  next =3D 0x391e2f0,=20
  pt =3D 12222,=20
  pt_byte =3D 12222,=20
  begv =3D 1,=20
  begv_byte =3D 1,=20
  zv =3D 12451,=20
  zv_byte =3D 12451,=20
  base_buffer =3D 0x0,=20
  indirections =3D 0,=20
  window_count =3D 0,=20
  local_flags =3D '\000' <repeats 14 times>, "\001\000\001\000\000\000\001"=
, '\000' <repeats 16 times>, "\001", '\000' <repeats 11 times>,=20
  modtime =3D {
    tv_sec =3D 1461804890,=20
    tv_nsec =3D 0
  },=20
  modtime_size =3D 12450,=20
  auto_save_modified =3D 44190,=20
  display_error_modiff =3D 0,=20
  auto_save_failure_time =3D 0,=20
  last_window_start =3D 12052,=20
  newline_cache =3D 0x39447b0,=20
  width_run_cache =3D 0x0,=20
  bidi_paragraph_cache =3D 0x0,=20
  prevent_redisplay_optimizations_p =3D true,=20
  clip_changed =3D true,=20
  overlays_before =3D 0x7b71510,=20
  overlays_after =3D 0x925da10,=20
  overlay_center =3D 12282,=20
  undo_list_ =3D 170189555
}
(gdb) p $2.name_
$3 =3D 60031812
(gdb) xtype
Lisp_String
(gdb) xstring
$4 =3D (struct Lisp_String *) 0x3940340
"Optofs.pm"
(gdb) fr 3
#3  0x0000000000562b46 in buf_bytepos_to_charpos (b=3D0x3940870, bytepos=3D=
24673) at ../../src/marker.c:297
warning: Source file is more recent than executable.
297	  eassert (BUF_BEG_BYTE (b) <=3D bytepos && bytepos <=3D BUF_Z_BYTE (b)=
);
(gdb) list
292	{
293	  struct Lisp_Marker *tail;
294	  ptrdiff_t best_above, best_above_byte;
295	  ptrdiff_t best_below, best_below_byte;
296=09
297	  eassert (BUF_BEG_BYTE (b) <=3D bytepos && bytepos <=3D BUF_Z_BYTE (b)=
);
298=09
299	  best_above =3D BUF_Z (b);
300	  best_above_byte =3D BUF_Z_BYTE (b);
301=09
(gdb) up
#4  0x000000000056c786 in Finsert_file_contents (filename=3D59999236, visit=
=3D<optimized out>, beg=3D0, end=3D0, replace=3D<optimized out>) at ../../s=
rc/fileio.c:3853
warning: Source file is more recent than executable.
3853		  same_at_end_charpos =3D BYTE_TO_CHAR (same_at_end);
(gdb) list
3848		  overlap =3D (same_at_start - BEGV_BYTE
3849			     - (same_at_end
3850				+ (! NILP (end) ? end_offset : st.st_size) - ZV_BYTE));
3851		  if (overlap > 0)
3852		    same_at_end +=3D overlap;
3853		  same_at_end_charpos =3D BYTE_TO_CHAR (same_at_end);
3854=09
3855		  /* Arrange to read only the nonmatching middle part of the file.  */
3856		  beg_offset +=3D same_at_start - BEGV_BYTE;
3857		  end_offset -=3D ZV_BYTE - same_at_end;
(gdb) up
#5  0x00000000005bbd7c in Ffuncall (nargs=3D6, args=3D0x7ffcfc374398) at ..=
/../src/eval.c:2709
2709		      val =3D (XSUBR (fun)->function.a5
(gdb) list
2704		      val =3D (XSUBR (fun)->function.a4
2705			     (internal_args[0], internal_args[1], internal_args[2],
2706			     internal_args[3]));
2707		      break;
2708		    case 5:
2709		      val =3D (XSUBR (fun)->function.a5
2710			     (internal_args[0], internal_args[1], internal_args[2],
2711			      internal_args[3], internal_args[4]));
2712		      break;
2713		    case 6:
(gdb) p internal_args[0]
$5 =3D 59999236
(gdb) xtype
Lisp_String
(gdb) xstring
$6 =3D (struct Lisp_String *) 0x3938400
"/u1/ken/rh/src/perl/lib/Permabit/FileSystem/Optofs.pm"
(gdb) p internal_args[1]
$7 =3D 44448
(gdb) xtype
Lisp_Symbol
(gdb) xsymbol
$8 =3D (struct Lisp_Symbol *) 0xcdb930
"t"
(gdb) p internal_args[2]
$9 =3D 0
(gdb) xtype
Lisp_Symbol
(gdb) xsymbol
$10 =3D (struct Lisp_Symbol *) 0xcd0b90
"nil"
(gdb) p internal_args[3]
$11 =3D 0
(gdb) p internal_args[4]
$12 =3D 44448
(gdb)=20

In GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll b=
ars)
 of 2016-04-08 built on just-testing.permabit.com
Repository revision: 5725167b6826e2b3892297367368c50468cea83e
Windowing system distributor 'The X.Org Foundation', version 11.0.11103000
System Description:	Ubuntu 12.04.5 LTS

Configured using:
 'configure
 --prefix=3D/permabit/user/raeburn/dev/emacs/emacs-25/lx/Inst-5725167
 --with-x-toolkit=3Dlucid --enable-checking CPPFLAGS=3D-DMARKER_DEBUG
 --without-sound'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK DBUS GSETTINGS NOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID
X11

Important settings:
  locale-coding-system: nil

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  rcirc-track-minor-mode: t
  diff-auto-refine-mode: t
  display-time-mode: t
  global-hi-lock-mode: t
  hi-lock-mode: t
  icomplete-mode: t
  desktop-save-mode: t
  global-edit-server-edit-mode: t
  jabber-activity-mode: t
  which-function-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Mark saved where search started
Mark set
Mark saved where search started
Mark set
jwiele@HIDDEN is now Away
Mark saved where search started
Quit
Mark saved where search started
Mark set
jwiele@HIDDEN is now Online

Load-path shadows:
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-muc-nick-co=
mpletion hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-muc-nick-comp=
letion
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-modeline hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-modeline
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-screen hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-screen
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-socks5 hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-socks5
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-muc hides /=
usr/share/emacs/site-lisp/emacs-jabber/jabber-muc
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-chatbuffer =
hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chatbuffer
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-events hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-events
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-chatstates =
hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-chatstates
/permabit/user/raeburn/.emacs.d/elpa/fsm-0.2/fsm hides /usr/share/emacs/sit=
e-lisp/emacs-jabber/fsm
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-widget hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-widget
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-si-client h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-client
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-sasl hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-sasl
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ratpoison h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ratpoison
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-time hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-time
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-logon hides=
 /usr/share/emacs/site-lisp/emacs-jabber/jabber-logon
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-browse hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-browse
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ahc-presenc=
e hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ahc-presence
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-roster hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-roster
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/srv hides /usr/sha=
re/emacs/site-lisp/emacs-jabber/srv
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ft-client h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-client
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-compose hid=
es /usr/share/emacs/site-lisp/emacs-jabber/jabber-compose
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-search hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-search
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-feature-neg=
 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-feature-neg
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-sawfish hid=
es /usr/share/emacs/site-lisp/emacs-jabber/jabber-sawfish
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-vcard hides=
 /usr/share/emacs/site-lisp/emacs-jabber/jabber-vcard
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ft-server h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-server
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-activity hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-activity
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-export hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-export
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-conn hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-conn
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-xml hides /=
usr/share/emacs/site-lisp/emacs-jabber/jabber-xml
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber hides /usr/=
share/emacs/site-lisp/emacs-jabber/jabber
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-util hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-util
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-festival hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-festival
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-xmessage hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-xmessage
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-iq hides /u=
sr/share/emacs/site-lisp/emacs-jabber/jabber-iq
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-autoloads h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoloads
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-vcard-avata=
rs hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-vcard-avatars
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ft-common h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-common
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-menu hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-menu
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-awesome hid=
es /usr/share/emacs/site-lisp/emacs-jabber/jabber-awesome
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-si-server h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-server
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-bookmarks h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-bookmarks
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-wmii hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-wmii
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-core hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-core
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-version hid=
es /usr/share/emacs/site-lisp/emacs-jabber/jabber-version
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ourversion =
hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ourversion
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-autoaway hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoaway
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-keymap hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-keymap
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-register hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-register
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-avatar hide=
s /usr/share/emacs/site-lisp/emacs-jabber/jabber-avatar
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-presence hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-presence
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-gmail hides=
 /usr/share/emacs/site-lisp/emacs-jabber/jabber-gmail
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-osd hides /=
usr/share/emacs/site-lisp/emacs-jabber/jabber-osd
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-alert hides=
 /usr/share/emacs/site-lisp/emacs-jabber/jabber-alert
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-disco hides=
 /usr/share/emacs/site-lisp/emacs-jabber/jabber-disco
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-chat hides =
/usr/share/emacs/site-lisp/emacs-jabber/jabber-chat
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-si-common h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-common
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-history hid=
es /usr/share/emacs/site-lisp/emacs-jabber/jabber-history
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-keepalive h=
ides /usr/share/emacs/site-lisp/emacs-jabber/jabber-keepalive
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-truncate hi=
des /usr/share/emacs/site-lisp/emacs-jabber/jabber-truncate
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ahc hides /=
usr/share/emacs/site-lisp/emacs-jabber/jabber-ahc
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-private hid=
es /usr/share/emacs/site-lisp/emacs-jabber/jabber-private
/permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-watch hides=
 /usr/share/emacs/site-lisp/emacs-jabber/jabber-watch
~/permabit-emacs/kr-pdoc hides /permabit/user/raeburn/elisp/kr-pdoc
/permabit/user/raeburn/.emacs.d/elpa/systemtap-mode-20151122.1140/systemtap=
-mode hides /permabit/user/raeburn/elisp/systemtap-mode
/permabit/user/raeburn/.emacs.d/elpa/ssh-20120904.1342/ssh hides /permabit/=
user/raeburn/elisp/ssh
/permabit/user/raeburn/.emacs.d/elpa/hideshowvis-20130824.500/hideshowvis h=
ides /permabit/user/raeburn/elisp/hideshowvis
/permabit/user/raeburn/.emacs.d/elpa/lua-mode-20151025.530/lua-mode hides /=
permabit/user/raeburn/elisp/lua-mode
/permabit/user/raeburn/.emacs.d/elpa/edit-server-20141231.1358/edit-server =
hides /permabit/user/raeburn/elisp/edit-server
~/permabit-emacs/c-fns hides /permabit/user/raeburn/elisp/c-fns
/permabit/user/raeburn/elisp/objdump/loaddefs hides /permabit/user/raeburn/=
dev/emacs/emacs-25/lx/Inst-5725167/share/emacs/25.0.92/lisp/loaddefs

Features:
(shadow sort mail-extr gnus-msg emacsbug sendmail compare-w grep gud
add-log misearch multi-isearch pcmpl-unix jabber-rtt goto-addr
jabber-keepalive jabber-ping sasl-digest hmac-md5 hex-util server
make-mode nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid
rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn
nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc
xmltok systemtap-mode cc-awk sh-script smie executable objdump python
tramp-sh tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell
warnings json map smerge-mode org-element org-rmail org-mhe org-irc
org-info org-gnus org-docview doc-view subr-x jka-compr image-mode
org-bibtex bibtex org-bbdb org-w3m org org-macro org-footnote
org-pcomplete pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs find-func cal-menu calendar cal-loaddefs face-remap
autorevert filenotify rcirc vc vc-dispatcher vc-git diff-mode hideshow
time hi-lock icomplete kr-stuff smart-quotes easy-mmode kr-hesiod
hideshowvis desktop frameset browse-url edit-server kr-gnus gnus-demon
nntp gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message rfc822
mml mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus
gnus-ems nnheader mail-utils iso-transl kr-dbus kr-math cc-mode cc-fonts
cc-guess cc-menus cc-cmds jabber jabber-notifications notifications
jabber-libnotify dbus jabber-awesome jabber-osd jabber-wmii
jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison
jabber-tmux jabber-screen jabber-socks5 jabber-ft-server
jabber-si-server jabber-ft-client jabber-ft-common jabber-si-client
jabber-si-common jabber-feature-neg jabber-truncate jabber-time
jabber-autoaway jabber-vcard-avatars jabber-chatstates jabber-events
jabber-vcard jabber-avatar mailcap jabber-activity jabber-watch
jabber-modeline jabber-ahc-presence jabber-ahc jabber-version
jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse
jabber-search jabber-register jabber-roster format-spec jabber-presence
jabber-muc jabber-bookmarks jabber-private jabber-muc-nick-coloring
hexrgb jabber-widget jabber-disco wid-edit jabber-chat jabber-history
jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console
sgml-mode ewoc jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login
sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls gnutls
jabber-xml xml jabber-menu jabber-util auth-source cl-seq eieio
eieio-core cl-macs gnus-util time-date mm-util help-fns mail-prsvr
password-cache kr-autoloads finder-inf ssh-autoloads info package
epg-config seq byte-opt bytecomp byte-compile cl-extra help-mode cconv
idutils derived thingatpt compile comint ansi-color ring cperl-mode
easymenu which-func imenu cc-styles cc-align cc-engine cc-vars p4 dired
kr-message-timestamp advice c-eldoc cl gv cc-defs cl-loaddefs pcase
cl-lib timeclock disp-table 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 x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 927246 106539)
 (symbols 48 53126 0)
 (miscs 40 64903 4492)
 (strings 32 133729 22635)
 (string-bytes 1 4387654)
 (vectors 16 75312)
 (vector-slots 8 1314060 22701)
 (floats 8 741 848)
 (intervals 56 36488 1898)
 (buffers 976 205)
 (heap 1024 72030 2567))




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Ken Raeburn <raeburn@HIDDEN>
Subject: bug#23397: Acknowledgement (25.0.92; assertion failure
 auto-reverting a file being overwritten)
Message-ID: <handler.23397.B.146188116911813.ack <at> debbugs.gnu.org>
References: <6epot9crti.fsf@HIDDEN>
X-Gnu-PR-Message: ack 23397
X-Gnu-PR-Package: emacs
Reply-To: 23397 <at> debbugs.gnu.org
Date: Thu, 28 Apr 2016 22:07:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 23397 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
23397: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D23397
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 02 May 2016 16:49:02 +0000
Resent-Message-ID: <handler.23397.B23397.146220769727331 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Ken Raeburn <raeburn@HIDDEN>
Cc: 23397 <at> debbugs.gnu.org
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Received: via spool by 23397-submit <at> debbugs.gnu.org id=B23397.146220769727331
          (code B ref 23397); Mon, 02 May 2016 16:49:02 +0000
Received: (at 23397) by debbugs.gnu.org; 2 May 2016 16:48:17 +0000
Received: from localhost ([127.0.0.1]:34100 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1axH16-00076l-SH
	for submit <at> debbugs.gnu.org; Mon, 02 May 2016 12:48:17 -0400
Received: from eggs.gnu.org ([208.118.235.92]:56078)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1axH15-00076X-0z
 for 23397 <at> debbugs.gnu.org; Mon, 02 May 2016 12:48:15 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1axH0q-0003qw-DQ
 for 23397 <at> debbugs.gnu.org; Mon, 02 May 2016 12:48:06 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33314)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1axH0q-0003qI-Az; Mon, 02 May 2016 12:48:00 -0400
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3423
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1axH0k-0000Rc-A8; Mon, 02 May 2016 12:47:54 -0400
Date: Mon, 02 May 2016 19:47:57 +0300
Message-Id: <83vb2wl83m.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-reply-to: <6epot9crti.fsf@HIDDEN> (message from Ken
 Raeburn on Thu, 28 Apr 2016 18:05:29 -0400)
References: <6epot9crti.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -6.0 (------)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Thu, 28 Apr 2016 18:05:29 -0400
> 
> I'm running the emacs-25 branch as of revision a1f221b, but with commit
> d82f24b reverted (attempting to debug #23013), and built with
> MARKER_DEBUG enabled (as Eli pointed out, probably not relevant to
> #23013) along with assertions.
> 
> I was using "git" to update a source tree while about twenty files from
> it were loaded into Emacs buffers. Auto-revert was triggered; during the
> process, Finsert_file_contents was loading a Perl file when it invoked
> BYTE_TO_CHAR:
> 
> 	  /* Don't try to reuse the same piece of text twice.  */
> 	  overlap = (same_at_start - BEGV_BYTE
> 		     - (same_at_end
> 			+ (! NILP (end) ? end_offset : st.st_size) - ZV_BYTE));
> 	  if (overlap > 0)
> 	    same_at_end += overlap;
> 	  same_at_end_charpos = BYTE_TO_CHAR (same_at_end);
> 
> ...with same_at_end well out of range (Z_BYTE=12451, same_at_end=24673).
> The reverting appears to have happened while the file was in the process
> of being updated, as st.st_size is zero.

So you are saying that the file's contents was updated between the
time we called 'fstat' at the beginning of the function and the time
we used st.st_size in the above snippet?

If so, perhaps we should call 'fstat' again each time we want to use
st.st_size, and retry from the beginning if we find a mismatch?

> I haven't managed to reproduce this so far.

You could artificially modify the value of st.st_size in the debugger,
and then see what happens.

Thanks.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Ken Raeburn <raeburn@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 02 May 2016 20:44:01 +0000
Resent-Message-ID: <handler.23397.B23397.146222180223833 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 23397 <at> debbugs.gnu.org
Received: via spool by 23397-submit <at> debbugs.gnu.org id=B23397.146222180223833
          (code B ref 23397); Mon, 02 May 2016 20:44:01 +0000
Received: (at 23397) by debbugs.gnu.org; 2 May 2016 20:43:22 +0000
Received: from localhost ([127.0.0.1]:34241 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1axKgc-0006CL-Ir
	for submit <at> debbugs.gnu.org; Mon, 02 May 2016 16:43:22 -0400
Received: from mail-qk0-f175.google.com ([209.85.220.175]:32919)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raeburn@HIDDEN>) id 1axKga-0006C9-Mp
 for 23397 <at> debbugs.gnu.org; Mon, 02 May 2016 16:43:20 -0400
Received: by mail-qk0-f175.google.com with SMTP id n63so33804qkf.0
 for <23397 <at> debbugs.gnu.org>; Mon, 02 May 2016 13:43:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=uHhgFTbdjvYIqhvE7FZX6YqHsr30DMCnCzHQ7SGD9zE=;
 b=BwKnEkLS2QJG7565em2S1BCJW5mr+826B9Kb7eum9nWdbjIUTZKp/YRZanqmRndDmK
 bZM6zoU/xWnHrv/pRPi0DdnYcB6ZheP86rfXL71OSqljqCzpagoRcoW1TwfC6CIlaN8g
 Z36/F+1TtJsDPl5g6Dv2yuxy4xQkSS/JPVQ6w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=uHhgFTbdjvYIqhvE7FZX6YqHsr30DMCnCzHQ7SGD9zE=;
 b=bpT2UJjpOBun/s7e3loQma2Va63fBryNoE0hjkzFQU57zNXu/LU5gzc8M7r4vjCx0p
 jZPhxMWpca1way6RxR+91r5m4A8G6JhMXcaXpl/6prcv04O5knMU1/hr02eWeTRhBz78
 yV6HsfP9l0YsUd142aDQyzbtFpwI0+A2+q1U5Z2EPoAMKDUD5lXhixJbxZd3fY7r01O1
 83hkh+oApl1GHbd7gZhVS0oBD/e1gRrSsTeVkQqRhe4RCX1BQOTL4VBwhdoD8tyKoyFN
 cGpgoHelRwJOWi9oCV9yL8EBc4fZEa4ocwH/Vh1LGp9RUfLzHi7KtKjFMAjrRI2EDrbH
 3Ljw==
X-Gm-Message-State: AOPr4FXaeiVVyi/qO119lYZKV1r6BvkQUcQifjzHVzs5PbMsv7sjebR2h0lXZyBhz3gQXhK4
X-Received: by 10.55.41.159 with SMTP id p31mr12154238qkp.36.1462221795005;
 Mon, 02 May 2016 13:43:15 -0700 (PDT)
Received: from just-testing.permabit.com (vpn.permabit.com. [66.202.84.2])
 by smtp.gmail.com with ESMTPSA id y129sm9780964qka.33.2016.05.02.13.43.12
 (version=TLSv1/SSLv3 cipher=OTHER);
 Mon, 02 May 2016 13:43:13 -0700 (PDT)
From: Ken Raeburn <raeburn@HIDDEN>
References: <6epot9crti.fsf@HIDDEN> <83vb2wl83m.fsf@HIDDEN>
Date: Mon, 02 May 2016 16:43:12 -0400
In-Reply-To: <83vb2wl83m.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 02 May
 2016 19:47:57 +0300")
Message-ID: <6efuu0chsv.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.92 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

Eli Zaretskii <eliz@HIDDEN> writes:

> So you are saying that the file's contents was updated between the
> time we called 'fstat' at the beginning of the function and the time
> we used st.st_size in the above snippet?

That's my guess. Or, more specifically, between the fstat and attempting
to go ahead and read data anyway.

But I did a few experiments with truncating the file and using a
breakpoint after the fstat to stall Emacs while I restored the file (so
the size appeared to be zero but all the data was readable), and nothing
interesting happened. That part of the function seems to be trying to
figure out if some of the beginning and end of the file are unchanged
from before, so I think maybe it also requires having some part in the
middle changed, or one version of the file being shorter than the other.
I'll run a few more experiments today to see.

> If so, perhaps we should call 'fstat' again each time we want to use
> st.st_size, and retry from the beginning if we find a mismatch?

If the file is large, and being frequently updated in small increments,
that could delay us considerably, as we restart the process multiple
times. (Some of the files I use auto-revert mode on are log files in the
tens of megabytes. Last I tried, auto-revert-tail-mode didn't cope
nicely with the case where the file got truncated and rewritten, so
reverting the whole file seems to be the way to go for now.) And if we
put a limit on the number of iterations, the last time around we'll
still need to get it right.

There's code there doing lseek and read calls; we should be able to keep
track of the last file position we read from, if that's not already
derivable from existing variables visible at that point.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 03 May 2016 15:16:01 +0000
Resent-Message-ID: <handler.23397.B23397.146228855526139 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Ken Raeburn <raeburn@HIDDEN>
Cc: 23397 <at> debbugs.gnu.org
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Received: via spool by 23397-submit <at> debbugs.gnu.org id=B23397.146228855526139
          (code B ref 23397); Tue, 03 May 2016 15:16:01 +0000
Received: (at 23397) by debbugs.gnu.org; 3 May 2016 15:15:55 +0000
Received: from localhost ([127.0.0.1]:35487 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1axc3G-0006nX-JF
	for submit <at> debbugs.gnu.org; Tue, 03 May 2016 11:15:54 -0400
Received: from eggs.gnu.org ([208.118.235.92]:57963)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1axc3E-0006nK-3Y
 for 23397 <at> debbugs.gnu.org; Tue, 03 May 2016 11:15:53 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1axc2z-0005jG-Id
 for 23397 <at> debbugs.gnu.org; Tue, 03 May 2016 11:15:43 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53733)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1axc2z-0005iH-FX; Tue, 03 May 2016 11:15:37 -0400
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4409
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1axc2t-0007wy-D3; Tue, 03 May 2016 11:15:31 -0400
Date: Tue, 03 May 2016 18:15:37 +0300
Message-Id: <83d1p3kw9y.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-reply-to: <6efuu0chsv.fsf@HIDDEN> (message from Ken
 Raeburn on Mon, 02 May 2016 16:43:12 -0400)
References: <6epot9crti.fsf@HIDDEN>
 <83vb2wl83m.fsf@HIDDEN> <6efuu0chsv.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -6.0 (------)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

> From: Ken Raeburn <raeburn@HIDDEN>
> Cc: 23397 <at> debbugs.gnu.org
> Date: Mon, 02 May 2016 16:43:12 -0400
> 
> > If so, perhaps we should call 'fstat' again each time we want to use
> > st.st_size, and retry from the beginning if we find a mismatch?
> 
> If the file is large, and being frequently updated in small increments,
> that could delay us considerably, as we restart the process multiple
> times.

That is still better than aborting, right?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Ken Raeburn <raeburn@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 03 May 2016 21:05:01 +0000
Resent-Message-ID: <handler.23397.B23397.146230947314115 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 23397 <at> debbugs.gnu.org
Received: via spool by 23397-submit <at> debbugs.gnu.org id=B23397.146230947314115
          (code B ref 23397); Tue, 03 May 2016 21:05:01 +0000
Received: (at 23397) by debbugs.gnu.org; 3 May 2016 21:04:33 +0000
Received: from localhost ([127.0.0.1]:35866 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1axhUe-0003fa-SQ
	for submit <at> debbugs.gnu.org; Tue, 03 May 2016 17:04:33 -0400
Received: from mail-qg0-f52.google.com ([209.85.192.52]:33938)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raeburn@HIDDEN>) id 1axhUd-0003fN-41
 for 23397 <at> debbugs.gnu.org; Tue, 03 May 2016 17:04:31 -0400
Received: by mail-qg0-f52.google.com with SMTP id 90so14347588qgz.1
 for <23397 <at> debbugs.gnu.org>; Tue, 03 May 2016 14:04:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=Bgc7yvjMFMKYUg/3qV52qeobwHKAeTlTwSSHOaRdcg0=;
 b=a7ZHDYSiMULP54EJW9OdOTvAE+l/OANQIsFPg2vcbYMmL20pOKLbI69i+BN0wDQNMN
 VOBEHIBaSFy3eO0n1/27tGFkGWcX3XS4smksti04hnVOJ8FIl4DitoiykXJlnfjarhJB
 qQx/zHuIbH+h/Ws9l7kYvqKmUSRdaFCbLkv0k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=Bgc7yvjMFMKYUg/3qV52qeobwHKAeTlTwSSHOaRdcg0=;
 b=lodzUWgWNblLkI81m99WxhURtWeoC2QJjib0TzIXS1sXTezdsxhuK4/ZEz4FWs/HlU
 xW6r//9Oy1KRk2g2bkwMhcbXKZe0TFPrnEebcF5YE/WSswOU56xsfkRhNLia1sAEKXFN
 +MNSwO7Y8SD0ZF4YlI9yo/C31hvN1WqsPgSHPyCDveh/4GVRYHCuIVGEs7EQYenCbdwW
 Y1b5sdZonIPwdwNbFv/X9+DGigAg3m+ZJH31llmN3sDdV1cKp1xrlAnj9E8C5meH0mit
 /xYUrSqpFHo11C1gfPpJixisCzL5T7+iXrwWkFgZm8OBVkJuhsWxsnAsm1t8m0VgBo3W
 +8nA==
X-Gm-Message-State: AOPr4FXFZ/WnDDpVo2rJ4fjRpL3kc6sv6OKMGoj8ZT6JDx7ad0dq8svIUEKPZ6Dfse8nTC3F
X-Received: by 10.140.89.202 with SMTP id v68mr4865901qgd.95.1462309465818;
 Tue, 03 May 2016 14:04:25 -0700 (PDT)
Received: from just-testing.permabit.com (vpn.permabit.com. [66.202.84.2])
 by smtp.gmail.com with ESMTPSA id x189sm99898qhb.43.2016.05.03.14.04.24
 (version=TLSv1/SSLv3 cipher=OTHER);
 Tue, 03 May 2016 14:04:24 -0700 (PDT)
From: Ken Raeburn <raeburn@HIDDEN>
References: <6epot9crti.fsf@HIDDEN>
 <83vb2wl83m.fsf@HIDDEN> <6efuu0chsv.fsf@HIDDEN>
 <83d1p3kw9y.fsf@HIDDEN>
Date: Tue, 03 May 2016 17:04:24 -0400
In-Reply-To: <83d1p3kw9y.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 03 May
 2016 18:15:37 +0300")
Message-ID: <6e8tzqdfaf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.92 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


Eli Zaretskii <eliz@HIDDEN> writes:
> That is still better than aborting, right?

Of course. But it seems to me we should have the information we need to
keep the Emacs processing self-consistent whether we iterate or not.
Other code in the function already clearly expects that the number of
bytes we can read may be different from st_size.

(Arguably, in case we're trying to preserve point or markers in a later
part of the file than might have been rewritten so far, it might be
desirable for insert-file-contents to restart or pause briefly and retry
reading more content if it detects a change, but I think that's mostly a
separate question.)

I've finally reproduced the problem. A key issue was that the whole
block containing the failing code would be skipped by the conditional
below if the coding system were "undecided", which seems to be the norm
in my testing with "emacs -Q", but not in my working environment for
whatever reason; maybe one of the minor modes I've loaded is setting a
more specific coding system.

  if (!NILP (replace)
      && BEGV < ZV
      && (NILP (coding_system)
	  || ! CODING_REQUIRE_DECODING (&coding)))

If the coding system is "undecided-unix", we enter this block, and I can
get it to blow up.

Recipe:

Get two similar files differing in the middle; I started with emacs-25
charset.h:

    cp .../src/charset.h file.h
    sed -e 400,499s/a/b/g < file.h > file2.h

Set a breakpoint just after the fstat call in Finsert_file_contents,
run emacs -Q, and read in file.h (continuing whenever the breakpoint is
hit). Turn on auto-revert-mode in the buffer.

Set the coding system with "C-x RET f" to "undecided-unix". That marks
the buffer as modified, so clear that by saving the file.

Copy file2.h over file.h, and when the breakpoint is triggered, change
st.st_size to zero, to simulate rereading before the file overwriting
has finished, and continue. My debugging printfs show that an
out-of-range same_at_end is generated as in my original case:

    (gdb) c
    Continuing.
    Finsert_file_contents:3871: same_at_start=13993 same_at_end=17747
         st_size=0 ZV=19498
      => overlap=15743
      => new same_at_end=33490

    ../../src/marker.c:297: Emacs fatal error: assertion failed: BUF_BEG_BYTE (b) <= bytepos && bytepos <= BUF_Z_BYTE (b)




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Noam Postavsky <npostavs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 16 Jun 2018 21:46:02 +0000
Resent-Message-ID: <handler.23397.B23397.152918554718855 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Ken Raeburn <raeburn@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 23397 <at> debbugs.gnu.org
Received: via spool by 23397-submit <at> debbugs.gnu.org id=B23397.152918554718855
          (code B ref 23397); Sat, 16 Jun 2018 21:46:02 +0000
Received: (at 23397) by debbugs.gnu.org; 16 Jun 2018 21:45:47 +0000
Received: from localhost ([127.0.0.1]:52173 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fUJ11-0004ty-C8
	for submit <at> debbugs.gnu.org; Sat, 16 Jun 2018 17:45:47 -0400
Received: from mail-io0-f175.google.com ([209.85.223.175]:36306)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <npostavs@HIDDEN>)
 id 1fUJ0y-0004tf-Gx; Sat, 16 Jun 2018 17:45:45 -0400
Received: by mail-io0-f175.google.com with SMTP id k3-v6so13715073iog.3;
 Sat, 16 Jun 2018 14:45:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=b6MZtqpRF7CshnhOaf8OOEovMs8DPUmNcfmDTJgKDFc=;
 b=AsrMRkESSjAvPLVxiQXb436PjHGj6bDuQzaKGTyYKLqfnsDaJlim1DErcrobaPqe++
 BI5/nQoFrvRW5xKBdv9VbSivB2BpIOqfLgliU0WdUzFh9LE+fSzIxoTI9b5Xi7TOnp2q
 qM60PN3KQ7l8wZWyK6fW9vLcS7a/mFaOjcnpDHd/xKQDDUKnMfMXiFKr33pUU+HHRClk
 ir0haOlP7O4OUjnuJ3igysA3aLFOZU7OLSdEmKWrMi/6uUa8SFlFXjdSrHs4dZS33xIa
 Z04qSF9H2Ag6rtnrwriysd0LRYmQRhY6sikxsxt3JlEd/Z8QHVjaR8cGT5JZpj4n7RuE
 oKBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=b6MZtqpRF7CshnhOaf8OOEovMs8DPUmNcfmDTJgKDFc=;
 b=NgjL7qYqPuOAHaFLtOymnXnS8jpCaGFKQZnW6JY2vE4GruRyrT1FcE3wnMTMvZWVYg
 +A7FNS4eeOB5o9S0KyiOLsibk+2w62yPmuIuVeKVe53XlxzNDCsyE8l+ZjOw6ldylZMJ
 WTFDAQOhlftuINA0L72KJdyhsXXvDzK2kazE5baicULkTZt1xaZjmM0asHZKJfxE83Xx
 FoqweS9nb5Y1MnFRQZZlCqlkYuFncgijDr33hKlgdJm/FlXT8/2KHCLmLTX7ph1cPlPy
 JFr95RiGj9hwsIwv849VDDlme/boUGguk0kufaS5V9HArqEhAOkUgeNf6Ozlacc9kDE9
 GLAA==
X-Gm-Message-State: APt69E19yocytaPDTertrlh+yt6VCm+W8hShCpKBjx+SZ7qvrVyLJni9
 Qw+sOHxgaHXRXc8cOtx4S66TXQ==
X-Google-Smtp-Source: ADUXVKIsiTnBJqgmpNPq+NH7jSDNtink3/WRVEOqkA6lDtRlROZBzRuuZfX0logONilAiN23TXcFiQ==
X-Received: by 2002:a6b:3c11:: with SMTP id
 k17-v6mr5464022iob.92.1529185538609; 
 Sat, 16 Jun 2018 14:45:38 -0700 (PDT)
Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34])
 by smtp.googlemail.com with ESMTPSA id
 y18-v6sm4326042ioa.10.2018.06.16.14.45.37
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Sat, 16 Jun 2018 14:45:38 -0700 (PDT)
From: Noam Postavsky <npostavs@HIDDEN>
References: <6epot9crti.fsf@HIDDEN>
 <83vb2wl83m.fsf@HIDDEN> <6efuu0chsv.fsf@HIDDEN>
Date: Sat, 16 Jun 2018 17:45:36 -0400
In-Reply-To: <6efuu0chsv.fsf@HIDDEN> (Ken Raeburn's message
 of "Mon, 02 May 2016 16:43:12 -0400")
Message-ID: <87zhzutngf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

found 23397 26.1
tags 23397 + confirmed
quit

Ken Raeburn <raeburn@HIDDEN> writes:

> There's code there doing lseek and read calls; we should be able to keep
> track of the last file position we read from, if that's not already
> derivable from existing variables visible at that point.

This seems to fix the scenario you gave in #17.  I don't quite
understand what the overlap expression is trying to compute though.

--- i/src/fileio.c
+++ w/src/fileio.c
@@ -3849,6 +3849,8 @@ because (1) it preserves some marker positions and (2) it puts less data
 	  goto handled;
 	}
 
+      off_t file_end_pos = st.st_size;
+
       /* Count how many chars at the end of the file
 	 match the text at the end of the buffer.  But, if we have
 	 already found that decoding is necessary, don't waste time.  */
@@ -3879,6 +3881,8 @@ because (1) it preserves some marker positions and (2) it puts less data
 	      total_read += nread;
 	    }
 
+          file_end_pos = max (curpos - trial + total_read, file_end_pos);
+
 	  /* Scan this bufferful from the end, comparing with
 	     the Emacs buffer.  */
 	  bufpos = total_read;
@@ -3931,7 +3935,7 @@ because (1) it preserves some marker positions and (2) it puts less data
 	  /* Don't try to reuse the same piece of text twice.  */
 	  overlap = (same_at_start - BEGV_BYTE
 		     - (same_at_end
-			+ (! NILP (end) ? end_offset : st.st_size) - ZV_BYTE));
+			+ (! NILP (end) ? end_offset : file_end_pos) - ZV_BYTE));
 	  if (overlap > 0)
 	    same_at_end += overlap;
 	  same_at_end_charpos = BYTE_TO_CHAR (same_at_end);






Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 16 Jun 2018 21:45:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 16 17:45:47 2018
Received: from localhost ([127.0.0.1]:52171 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fUJ11-0004tw-2c
	for submit <at> debbugs.gnu.org; Sat, 16 Jun 2018 17:45:47 -0400
Received: from mail-io0-f175.google.com ([209.85.223.175]:36306)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <npostavs@HIDDEN>)
 id 1fUJ0y-0004tf-Gx; Sat, 16 Jun 2018 17:45:45 -0400
Received: by mail-io0-f175.google.com with SMTP id k3-v6so13715073iog.3;
 Sat, 16 Jun 2018 14:45:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=b6MZtqpRF7CshnhOaf8OOEovMs8DPUmNcfmDTJgKDFc=;
 b=AsrMRkESSjAvPLVxiQXb436PjHGj6bDuQzaKGTyYKLqfnsDaJlim1DErcrobaPqe++
 BI5/nQoFrvRW5xKBdv9VbSivB2BpIOqfLgliU0WdUzFh9LE+fSzIxoTI9b5Xi7TOnp2q
 qM60PN3KQ7l8wZWyK6fW9vLcS7a/mFaOjcnpDHd/xKQDDUKnMfMXiFKr33pUU+HHRClk
 ir0haOlP7O4OUjnuJ3igysA3aLFOZU7OLSdEmKWrMi/6uUa8SFlFXjdSrHs4dZS33xIa
 Z04qSF9H2Ag6rtnrwriysd0LRYmQRhY6sikxsxt3JlEd/Z8QHVjaR8cGT5JZpj4n7RuE
 oKBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=b6MZtqpRF7CshnhOaf8OOEovMs8DPUmNcfmDTJgKDFc=;
 b=NgjL7qYqPuOAHaFLtOymnXnS8jpCaGFKQZnW6JY2vE4GruRyrT1FcE3wnMTMvZWVYg
 +A7FNS4eeOB5o9S0KyiOLsibk+2w62yPmuIuVeKVe53XlxzNDCsyE8l+ZjOw6ldylZMJ
 WTFDAQOhlftuINA0L72KJdyhsXXvDzK2kazE5baicULkTZt1xaZjmM0asHZKJfxE83Xx
 FoqweS9nb5Y1MnFRQZZlCqlkYuFncgijDr33hKlgdJm/FlXT8/2KHCLmLTX7ph1cPlPy
 JFr95RiGj9hwsIwv849VDDlme/boUGguk0kufaS5V9HArqEhAOkUgeNf6Ozlacc9kDE9
 GLAA==
X-Gm-Message-State: APt69E19yocytaPDTertrlh+yt6VCm+W8hShCpKBjx+SZ7qvrVyLJni9
 Qw+sOHxgaHXRXc8cOtx4S66TXQ==
X-Google-Smtp-Source: ADUXVKIsiTnBJqgmpNPq+NH7jSDNtink3/WRVEOqkA6lDtRlROZBzRuuZfX0logONilAiN23TXcFiQ==
X-Received: by 2002:a6b:3c11:: with SMTP id
 k17-v6mr5464022iob.92.1529185538609; 
 Sat, 16 Jun 2018 14:45:38 -0700 (PDT)
Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34])
 by smtp.googlemail.com with ESMTPSA id
 y18-v6sm4326042ioa.10.2018.06.16.14.45.37
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Sat, 16 Jun 2018 14:45:38 -0700 (PDT)
From: Noam Postavsky <npostavs@HIDDEN>
To: Ken Raeburn <raeburn@HIDDEN>
Subject: Re: bug#23397: 25.0.92;
 assertion failure auto-reverting a file being overwritten
References: <6epot9crti.fsf@HIDDEN>
 <83vb2wl83m.fsf@HIDDEN> <6efuu0chsv.fsf@HIDDEN>
Date: Sat, 16 Jun 2018 17:45:36 -0400
In-Reply-To: <6efuu0chsv.fsf@HIDDEN> (Ken Raeburn's message
 of "Mon, 02 May 2016 16:43:12 -0400")
Message-ID: <87zhzutngf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
Cc: Eli Zaretskii <eliz@HIDDEN>, 23397 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

found 23397 26.1
tags 23397 + confirmed
quit

Ken Raeburn <raeburn@HIDDEN> writes:

> There's code there doing lseek and read calls; we should be able to keep
> track of the last file position we read from, if that's not already
> derivable from existing variables visible at that point.

This seems to fix the scenario you gave in #17.  I don't quite
understand what the overlap expression is trying to compute though.

--- i/src/fileio.c
+++ w/src/fileio.c
@@ -3849,6 +3849,8 @@ because (1) it preserves some marker positions and (2) it puts less data
 	  goto handled;
 	}
 
+      off_t file_end_pos = st.st_size;
+
       /* Count how many chars at the end of the file
 	 match the text at the end of the buffer.  But, if we have
 	 already found that decoding is necessary, don't waste time.  */
@@ -3879,6 +3881,8 @@ because (1) it preserves some marker positions and (2) it puts less data
 	      total_read += nread;
 	    }
 
+          file_end_pos = max (curpos - trial + total_read, file_end_pos);
+
 	  /* Scan this bufferful from the end, comparing with
 	     the Emacs buffer.  */
 	  bufpos = total_read;
@@ -3931,7 +3935,7 @@ because (1) it preserves some marker positions and (2) it puts less data
 	  /* Don't try to reuse the same piece of text twice.  */
 	  overlap = (same_at_start - BEGV_BYTE
 		     - (same_at_end
-			+ (! NILP (end) ? end_offset : st.st_size) - ZV_BYTE));
+			+ (! NILP (end) ? end_offset : file_end_pos) - ZV_BYTE));
 	  if (overlap > 0)
 	    same_at_end += overlap;
 	  same_at_end_charpos = BYTE_TO_CHAR (same_at_end);






Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 16 Jun 2018 21:45:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 16 17:45:47 2018
Received: from localhost ([127.0.0.1]:52171 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fUJ11-0004tw-2c
	for submit <at> debbugs.gnu.org; Sat, 16 Jun 2018 17:45:47 -0400
Received: from mail-io0-f175.google.com ([209.85.223.175]:36306)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <npostavs@HIDDEN>)
 id 1fUJ0y-0004tf-Gx; Sat, 16 Jun 2018 17:45:45 -0400
Received: by mail-io0-f175.google.com with SMTP id k3-v6so13715073iog.3;
 Sat, 16 Jun 2018 14:45:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=b6MZtqpRF7CshnhOaf8OOEovMs8DPUmNcfmDTJgKDFc=;
 b=AsrMRkESSjAvPLVxiQXb436PjHGj6bDuQzaKGTyYKLqfnsDaJlim1DErcrobaPqe++
 BI5/nQoFrvRW5xKBdv9VbSivB2BpIOqfLgliU0WdUzFh9LE+fSzIxoTI9b5Xi7TOnp2q
 qM60PN3KQ7l8wZWyK6fW9vLcS7a/mFaOjcnpDHd/xKQDDUKnMfMXiFKr33pUU+HHRClk
 ir0haOlP7O4OUjnuJ3igysA3aLFOZU7OLSdEmKWrMi/6uUa8SFlFXjdSrHs4dZS33xIa
 Z04qSF9H2Ag6rtnrwriysd0LRYmQRhY6sikxsxt3JlEd/Z8QHVjaR8cGT5JZpj4n7RuE
 oKBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=b6MZtqpRF7CshnhOaf8OOEovMs8DPUmNcfmDTJgKDFc=;
 b=NgjL7qYqPuOAHaFLtOymnXnS8jpCaGFKQZnW6JY2vE4GruRyrT1FcE3wnMTMvZWVYg
 +A7FNS4eeOB5o9S0KyiOLsibk+2w62yPmuIuVeKVe53XlxzNDCsyE8l+ZjOw6ldylZMJ
 WTFDAQOhlftuINA0L72KJdyhsXXvDzK2kazE5baicULkTZt1xaZjmM0asHZKJfxE83Xx
 FoqweS9nb5Y1MnFRQZZlCqlkYuFncgijDr33hKlgdJm/FlXT8/2KHCLmLTX7ph1cPlPy
 JFr95RiGj9hwsIwv849VDDlme/boUGguk0kufaS5V9HArqEhAOkUgeNf6Ozlacc9kDE9
 GLAA==
X-Gm-Message-State: APt69E19yocytaPDTertrlh+yt6VCm+W8hShCpKBjx+SZ7qvrVyLJni9
 Qw+sOHxgaHXRXc8cOtx4S66TXQ==
X-Google-Smtp-Source: ADUXVKIsiTnBJqgmpNPq+NH7jSDNtink3/WRVEOqkA6lDtRlROZBzRuuZfX0logONilAiN23TXcFiQ==
X-Received: by 2002:a6b:3c11:: with SMTP id
 k17-v6mr5464022iob.92.1529185538609; 
 Sat, 16 Jun 2018 14:45:38 -0700 (PDT)
Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34])
 by smtp.googlemail.com with ESMTPSA id
 y18-v6sm4326042ioa.10.2018.06.16.14.45.37
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Sat, 16 Jun 2018 14:45:38 -0700 (PDT)
From: Noam Postavsky <npostavs@HIDDEN>
To: Ken Raeburn <raeburn@HIDDEN>
Subject: Re: bug#23397: 25.0.92;
 assertion failure auto-reverting a file being overwritten
References: <6epot9crti.fsf@HIDDEN>
 <83vb2wl83m.fsf@HIDDEN> <6efuu0chsv.fsf@HIDDEN>
Date: Sat, 16 Jun 2018 17:45:36 -0400
In-Reply-To: <6efuu0chsv.fsf@HIDDEN> (Ken Raeburn's message
 of "Mon, 02 May 2016 16:43:12 -0400")
Message-ID: <87zhzutngf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
Cc: Eli Zaretskii <eliz@HIDDEN>, 23397 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

found 23397 26.1
tags 23397 + confirmed
quit

Ken Raeburn <raeburn@HIDDEN> writes:

> There's code there doing lseek and read calls; we should be able to keep
> track of the last file position we read from, if that's not already
> derivable from existing variables visible at that point.

This seems to fix the scenario you gave in #17.  I don't quite
understand what the overlap expression is trying to compute though.

--- i/src/fileio.c
+++ w/src/fileio.c
@@ -3849,6 +3849,8 @@ because (1) it preserves some marker positions and (2) it puts less data
 	  goto handled;
 	}
 
+      off_t file_end_pos = st.st_size;
+
       /* Count how many chars at the end of the file
 	 match the text at the end of the buffer.  But, if we have
 	 already found that decoding is necessary, don't waste time.  */
@@ -3879,6 +3881,8 @@ because (1) it preserves some marker positions and (2) it puts less data
 	      total_read += nread;
 	    }
 
+          file_end_pos = max (curpos - trial + total_read, file_end_pos);
+
 	  /* Scan this bufferful from the end, comparing with
 	     the Emacs buffer.  */
 	  bufpos = total_read;
@@ -3931,7 +3935,7 @@ because (1) it preserves some marker positions and (2) it puts less data
 	  /* Don't try to reuse the same piece of text twice.  */
 	  overlap = (same_at_start - BEGV_BYTE
 		     - (same_at_end
-			+ (! NILP (end) ? end_offset : st.st_size) - ZV_BYTE));
+			+ (! NILP (end) ? end_offset : file_end_pos) - ZV_BYTE));
 	  if (overlap > 0)
 	    same_at_end += overlap;
 	  same_at_end_charpos = BYTE_TO_CHAR (same_at_end);






Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 17 Jun 2018 05:37:01 +0000
Resent-Message-ID: <handler.23397.B23397.15292138159861 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: confirmed
To: Noam Postavsky <npostavs@HIDDEN>
Cc: raeburn@HIDDEN, 23397 <at> debbugs.gnu.org
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Received: via spool by 23397-submit <at> debbugs.gnu.org id=B23397.15292138159861
          (code B ref 23397); Sun, 17 Jun 2018 05:37:01 +0000
Received: (at 23397) by debbugs.gnu.org; 17 Jun 2018 05:36:55 +0000
Received: from localhost ([127.0.0.1]:52488 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fUQMw-0002Yz-Ty
	for submit <at> debbugs.gnu.org; Sun, 17 Jun 2018 01:36:55 -0400
Received: from eggs.gnu.org ([208.118.235.92]:35168)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1fUQMu-0002Ym-Ti
 for 23397 <at> debbugs.gnu.org; Sun, 17 Jun 2018 01:36:53 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1fUQMk-0006EC-Og
 for 23397 <at> debbugs.gnu.org; Sun, 17 Jun 2018 01:36:47 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45760)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1fUQMk-0006Dr-HT; Sun, 17 Jun 2018 01:36:42 -0400
Received: from [176.228.60.248] (port=4822 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1fUQMj-0006fP-Vh; Sun, 17 Jun 2018 01:36:42 -0400
Date: Sun, 17 Jun 2018 08:36:35 +0300
Message-Id: <83r2l6x9cs.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-reply-to: <87zhzutngf.fsf@HIDDEN> (message from Noam Postavsky on Sat,
 16 Jun 2018 17:45:36 -0400)
References: <6epot9crti.fsf@HIDDEN>
 <83vb2wl83m.fsf@HIDDEN> <6efuu0chsv.fsf@HIDDEN>
 <87zhzutngf.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

> From: Noam Postavsky <npostavs@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  23397 <at> debbugs.gnu.org
> Date: Sat, 16 Jun 2018 17:45:36 -0400
> 
> I don't quite understand what the overlap expression is trying to
> compute though.

It prevents us from re-using the same portion of buffer text for
matching both at start and at end of the file.  This could happen,
e.g., with buffers whose contents is the same character, and a file
whose contents is mostly the same, but larger, and with a few
different characters in the middle.  Then the "same_at_end" loop could
inadvertently match a part of the buffer that was already matched by
the "same_at_start" loop.

The overlap expression computes the portion of the buffer that was
matched by both "same_at_start" and "same_at_end" loops.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 05 Sep 2020 14:05:02 +0000
Resent-Message-ID: <handler.23397.B23397.159931464516727 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 23397
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: confirmed
To: Noam Postavsky <npostavs@HIDDEN>
Cc: Ken Raeburn <raeburn@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 23397 <at> debbugs.gnu.org
Received: via spool by 23397-submit <at> debbugs.gnu.org id=B23397.159931464516727
          (code B ref 23397); Sat, 05 Sep 2020 14:05:02 +0000
Received: (at 23397) by debbugs.gnu.org; 5 Sep 2020 14:04:05 +0000
Received: from localhost ([127.0.0.1]:43715 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kEYnV-0004Lj-D8
	for submit <at> debbugs.gnu.org; Sat, 05 Sep 2020 10:04:05 -0400
Received: from quimby.gnus.org ([95.216.78.240]:34164)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1kEYnU-0004LD-6Q
 for 23397 <at> debbugs.gnu.org; Sat, 05 Sep 2020 10:04:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=SrYK3FfoFuJyz4/CMR5NuqMchtMULJ5o/cc9Brcs6pY=; b=YK1zgcc+mKdD+ZFP265MAJYD0g
 uzUUfQp5QQ9Bc/KII2SHRtfI/934YXhNHTZ7QRg5LOhUs6pVFmWCVBKJFZbiQhRxB5hNRTmaSBjp0
 ZsZIIhDspvKQ94qAyFrZdJaAd0XY8ruF363KtOVdmRBSU6TaUBj75xRym7vH/Cuprjts=;
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo)
 by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1kEYnL-0004VR-Hy; Sat, 05 Sep 2020 16:03:58 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
References: <6epot9crti.fsf@HIDDEN>
 <83vb2wl83m.fsf@HIDDEN> <6efuu0chsv.fsf@HIDDEN>
 <87zhzutngf.fsf@HIDDEN>
X-Now-Playing: RATN's _J_: "=?UTF-8?Q?=E3=82=8F=E3=81=9F=E3=81=97=E3=81=AB=E3=82=8F=E3=81=8B=E3=82=8B=E3=81=93=E3=81=A8?="
Date: Sat, 05 Sep 2020 16:03:54 +0200
In-Reply-To: <87zhzutngf.fsf@HIDDEN> (Noam Postavsky's message of "Sat, 16
 Jun 2018 17:45:36 -0400")
Message-ID: <87k0x848xh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview: Noam Postavsky <npostavs@HIDDEN> writes: > This seems to
 fix the scenario you gave in #17. I don't quite > understand what the overlap
 expression is trying to compute though. [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Noam Postavsky <npostavs@HIDDEN> writes:

> This seems to fix the scenario you gave in #17.  I don't quite
> understand what the overlap expression is trying to compute though.

[...]

> +      off_t file_end_pos = st.st_size;

[etc]

Eli Zaretskii <eliz@HIDDEN> writes:

>> I don't quite understand what the overlap expression is trying to
>> compute though.
>
> It prevents us from re-using the same portion of buffer text for
> matching both at start and at end of the file.  This could happen,
> e.g., with buffers whose contents is the same character, and a file
> whose contents is mostly the same, but larger, and with a few
> different characters in the middle.  Then the "same_at_end" loop could
> inadvertently match a part of the buffer that was already matched by
> the "same_at_start" loop.
>
> The overlap expression computes the portion of the buffer that was
> matched by both "same_at_start" and "same_at_end" loops.

This was two years ago, but the patch doesn't seem to be applied?  It
was a rather obscure timing-related (but serious) bug.

Noam, did Eli's explanation help?

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





Last modified: Sat, 5 Sep 2020 14:15:01 UTC

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