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))
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
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.
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.
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?
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)
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);
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);
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);
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.
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.