Package: emacs;
Reported by: Ken Raeburn <raeburn <at> permabit.com>
Date: Thu, 28 Apr 2016 22:07:01 UTC
Severity: normal
Tags: confirmed
Found in versions 26.1, 25.0.92
To reply to this bug, email your comments to 23397 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Thu, 28 Apr 2016 22:07:01 GMT) Full text and rfc822 format available.Ken Raeburn <raeburn <at> permabit.com>
:bug-gnu-emacs <at> gnu.org
.
(Thu, 28 Apr 2016 22:07:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ken Raeburn <raeburn <at> permabit.com> To: bug-gnu-emacs <at> gnu.org Subject: 25.0.92; assertion failure auto-reverting a file being overwritten 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. The "end" argument is nil, so the conditional expression will use the st_size value (zero). So with same_at_start=12223, BEGV_BYTE=1, and ZV_BYTE=12451, 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=<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 terminal] DISPLAY = :0.0 TERM = 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=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42 resultvar = 0 pid = <optimized out> #1 0x000000000052d308 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at ../../src/emacs.c:380 No locals. #2 0x00000000005995e4 in die (msg=<optimized out>, file=<optimized out>, line=<optimized out>) at ../../src/alloc.c:7218 No locals. #3 0x0000000000562b46 in buf_bytepos_to_charpos (b=0x3940870, bytepos=24673) at ../../src/marker.c:297 tail = <optimized out> best_above = <optimized out> best_above_byte = <optimized out> best_below = <optimized out> best_below_byte = <optimized out> #4 0x000000000056c786 in Finsert_file_contents (filename=59999236, visit=<optimized out>, beg=0, end=0, replace=<optimized out>) at ../../src/fileio.c:3853 temp = <optimized out> overlap = <optimized out> giveup_match_end = false st = { st_dev = 2057, st_ino = 5972083, st_nlink = 1, st_mode = 33188, st_uid = 1065, st_gid = 50, __pad0 = 0, st_rdev = 0, st_size = 0, st_blksize = 4096, st_blocks = 8, st_atim = { tv_sec = 1461804924, tv_nsec = 0 }, st_mtim = { tv_sec = 1461804924, tv_nsec = 0 }, st_ctim = { tv_sec = 1461804924, tv_nsec = 0 }, __unused = {0, 0, 0} } mtime = { tv_sec = 1461804924, tv_nsec = 0 } fd = 20 inserted = 0 how_much = <optimized out> beg_offset = 0 end_offset = <optimized out> unprocessed = <optimized out> handler = 0 val = <optimized out> insval = <optimized out> orig_filename = 59999236 old_undo = <optimized out> p = <optimized out> total = 0 not_regular = <optimized out> save_errno = 0 read_buf = [text elided]... coding = { id = 1, common_flags = 4096, mode = 0, src_multibyte = false, dst_multibyte = false, chars_at_source = false, raw_destination = false, annotated = true, eol_seen = 3, result = CODING_RESULT_SUCCESS, max_charset_id = 0, spec = { iso_2022 = { flags = 0, current_invocation = {0, 59159552}, current_designation = {0, 0, 0, 16}, ctext_extended_segment_len = 0, single_shifting = false, bol = true, embedded_utf_8 = false, cmp_status = { state = COMPOSING_NO, method = 59159773, old_form = false, length = 117, nchars = 0, ncomps = 0, carryover = {0, 137897158, 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, 0, 0, 13263128, 0, 0, 0, 53, 0, 15698672} } }, ccl = 0x0, utf_16 = { bom = utf_detect_bom, endian = utf_16_big_endian, surrogate = 59159552 }, utf_8_bom = utf_detect_bom, emacs_mule = { cmp_status = { state = COMPOSING_NO, method = COMPOSITION_RELATIVE, old_form = false, length = 0, nchars = 0, ncomps = 0, carryover = {16, 0, 2, 0, 59159773, 0, 117, 0, 0, 0, 137897158, 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} } }, undecided = { inhibit_nbd = 0, inhibit_ied = 0, prefer_utf_8 = false } }, safe_charsets = 0xcf1980 "", head_ascii = 6017289, detected_utf8_bytes = 53, detected_utf8_chars = 140724539966056, produced = 1, produced_char = 6011538, consumed = 13258416, consumed_char = 6072415, src_pos = 13263096, src_pos_byte = 4, src_chars = 22, src_bytes = 140724539966056, src_object = 0, source = 0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>, dst_pos = 59999236, dst_pos_byte = 5840580, dst_bytes = 53, dst_object = 0, destination = 0x35 <Address 0x35 out of bounds>, charbuf = 0xffffffffffffffff, charbuf_size = 59999236, charbuf_used = 0, carryover = "\000\000\000\000\000\000\000\000\004\204\223\003\000\000\000\000p\b\224\003\000\000\000\000\020\000\000\000\000\000\000\000\240\252", '\000' <repeats 14 times>"\372, \300[\000\000\000\000\000\240\252\000\000\000\000\000", carryover_bytes = 0, default_char = 0, detector = 0, decoder = 0x4ace70 <decode_coding_raw_text>, encoder = 0x4bdac0 <encode_coding_raw_text> } replace_handled = false set_coding_system = true coding_system = 186272 read_quit = false empty_undo_list_p = false old_Vdeactivate_mark = 44448 we_locked_file = false window_markers = <optimized out> same_at_start = 12223 same_at_end = 24673 same_at_end_charpos = 12451 #5 0x00000000005bbd7c in Ffuncall (nargs=6, args=0x7ffcfc374398) at ../../src/eval.c:2709 internal_argbuf = {13730768, 0, 1, 4440414, 53, 5928744, 292928, 292928} fun = <optimized out> original_fun = <optimized out> funcar = 0 numargs = 5 lisp_numargs = 6 val = <optimized out> internal_args = 0x7ffcfc3743a0 count = 24 #6 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=6, maxdepth=6, args_template=0, nargs=2, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 22 stack = { pc = 0xc184d9 ")\202y", byte_string = 9710972, byte_string_start = 0xc1846c "\306\002!\204\023", next = 0x7ffcfc3745f0 } result = 0 type = 2305 #7 0x00000000005bba72 in Ffuncall (nargs=3, args=0x7ffcfc374568) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 4554608 funcar = 0 numargs = 2 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 21 #8 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=3, maxdepth=6, args_template=0, nargs=2, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 19 stack = { pc = 0xc1860b "\210\334\335\t!!\026$\336\330\211\321\330\016%%\210\337\340\003\"\210\211\203\263", byte_string = 9710484, byte_string_start = 0xc1857c "r\306p!\206\b", next = 0x7ffcfc374790 } result = 0 type = 2305 #9 0x00000000005bba72 in Ffuncall (nargs=3, args=0x7ffcfc374720) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 4554512 funcar = 0 numargs = 2 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 18 #10 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=3, maxdepth=6, args_template=0, nargs=3, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 16 stack = { pc = 0xc1866d "*\207", byte_string = 9710228, byte_string_start = 0xc18661 "\303\001\030\031\n\206\t", next = 0x7ffcfc374960 } result = 0 type = 2305 #11 0x00000000005bba72 in Ffuncall (nargs=4, args=0x7ffcfc3748d0) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 3874224 funcar = 0 numargs = 3 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 15 #12 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=4, maxdepth=6, args_template=0, nargs=0, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 13 stack = { pc = 0x35c8952 "\210)\t\203\274", byte_string = 48010052, byte_string_start = 0x35c88b8 "p\306\307\030\t\203?", next = 0x7ffcfc374c30 } result = 0 type = 2305 #13 0x00000000005bba72 in Ffuncall (nargs=1, args=0x7ffcfc374bc8) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 55760293 funcar = 0 numargs = 0 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 12 #14 0x00000000005bce84 in Fapply (nargs=2, args=<optimized out>) at ../../src/eval.c:2274 i = <optimized out> numargs = <optimized out> funcall_nargs = <optimized out> funcall_args = 0x0 spread_arg = 0 fun = <optimized out> retval = <optimized out> sa_avail = 16384 sa_must_free = false #15 0x00000000005bbf06 in Ffuncall (nargs=3, args=0x7ffcfc374bc0) at ../../src/eval.c:2673 fun = <optimized out> original_fun = 9504 funcar = 0 numargs = 2 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 11 #16 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=3, maxdepth=6, args_template=0, nargs=0, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 11 stack = { pc = 0x10b6553 "\207", byte_string = 18033780, byte_string_start = 0x10b6548 "\300\301\002\"\206\v", next = 0x7ffcfc374df0 } result = 0 type = 2305 #17 0x00000000005bba72 in Ffuncall (nargs=1, args=0x7ffcfc374d88) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 41483120 funcar = 0 numargs = 0 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 10 #18 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=1, maxdepth=6, args_template=0, nargs=91483, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 9 stack = { pc = 0x35c87fb "\210\r\024\332\324\323\"\210)\001A\266\202\202r", byte_string = 49284980, byte_string_start = 0x35c8740 "\306\061\322", next = 0x7ffcfc374ff0 } result = 0 type = 2305 #19 0x00000000005bba72 in Ffuncall (nargs=2, args=0x7ffcfc374f70) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 41482928 funcar = 0 numargs = 1 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 8 #20 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=2, maxdepth=6, args_template=140724539969400, nargs=1, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 8 stack = { pc = 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", byte_string = 50354644, byte_string_start = 0x35d48a8 "\211@\302\001\b\"\002A@\303\004!\304\211\211\211\005:\204\032", next = 0x7ffcfc375180 } result = 0 type = 2305 #21 0x00000000005bba72 in Ffuncall (nargs=2, args=0x7ffcfc375110) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 41462528 funcar = 0 numargs = 1 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 7 #22 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=2, maxdepth=6, args_template=0, nargs=1, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 7 stack = { pc = 0x35d4655 "\207\303\304\305\003B\"\207", byte_string = 50369588, byte_string_start = 0x35d4640 "\211@\300=\203\026", next = 0x7ffcfc375680 } result = 0 type = 2305 #23 0x00000000005bba72 in Ffuncall (nargs=2, args=0x7ffcfc375378) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 457984 funcar = 0 numargs = 1 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 6 #24 0x00000000005b7159 in Ffuncall_interactively (nargs=2, args=0x7ffcfc375378) at ../../src/callint.c:248 No locals. #25 0x00000000005bbf06 in Ffuncall (nargs=3, args=0x7ffcfc375370) at ../../src/eval.c:2673 fun = <optimized out> original_fun = 24000 funcar = 0 numargs = 2 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 4 #26 0x00000000005b87c4 in Fcall_interactively (function=140724539970416, record_flag=0, keys=140724539970464) at ../../src/callint.c:836 val = <optimized out> args = 0x7ffcfc375370 visargs = 0xfff9f86ea710 specs = <optimized out> filter_specs = <optimized out> teml = <optimized out> up_event = <optimized out> sa_avail = <optimized out> sa_must_free = false next_event = <optimized out> prefix_arg = 0 string = <optimized out> tem = <optimized out> varies = 0x17ff6f4a5fab0 <Address 0x17ff6f4a5fab0 out of bounds> i = <optimized out> nargs = 3 mark = <optimized out> arg_from_tty = <optimized out> key_count = 1 record_then_fail = false save_this_command = 0 save_last_command = 4825984 save_this_original_command = 0 save_real_this_command = 0 #27 0x00000000005bbdfc in Ffuncall (nargs=4, args=0x7ffcfc3755f8) at ../../src/eval.c:2700 internal_argbuf = {457984, 0, 0, 4440414, 140724539971312, 5928744, 0, 140724539971312} fun = <optimized out> original_fun = <optimized out> funcar = 0 numargs = 3 lisp_numargs = 6 val = <optimized out> internal_args = 0x7ffcfc375600 count = 3 #28 0x00000000005fcaad in exec_byte_code (bytestr=2305, vector=4, maxdepth=6, args_template=0, nargs=4, args=0x400448) at ../../src/bytecode.c:880 targets = {0x5fc882, 0x5fd1e5, 0x5fd1ea, 0x5fd1ef, 0x5fd1f5, 0x5fc8e3, 0x5fcedf, 0x5fcf25, 0x5fced5, 0x5fceda, 0x5fcea6, 0x5fceab, 0x5fc924, 0x5fc928, 0x5fcc6f, 0x5fceb0, 0x5fce3a, 0x5fce3f, 0x5fcbe9, 0x5fcbee, 0x5fc9b5, 0x5fc9b8, 0x5fcc18, 0x5fcbf3, 0x5fcbba, 0x5fcbbf, 0x5fcbc4, 0x5fcbc9, 0x5fca49, 0x5fca50, 0x5fcc5b, 0x5fcb95, 0x5fcb80, 0x5fcb85, 0x5fcb8a, 0x5fdf7e, 0x5fca8f, 0x5fca90, 0x5fcbd5, 0x5fcb5b, 0x5fe45a, 0x5fe45f, 0x5fe464, 0x5fe430, 0x5fcad0, 0x5fcad0, 0x5fe3d6, 0x5fe435, 0x5fe291, 0x5fe287, 0x5fe1c7, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5ff150, 0x5ff0a2, 0x5ff0f9, 0x5fef22, 0x5fef79, 0x5fce44, 0x5fcd89, 0x5feff8, 0x5fcd18, 0x5fcdc9, 0x5ff062, 0x5feafc, 0x5ff335, 0x5ff2bb, 0x5ff2f8, 0x5ff28c, 0x5ff375, 0x5ff3b5, 0x5fe967, 0x5feef3, 0x5fee73, 0x5feeb3, 0x5fed72, 0x5fedb2, 0x5fedf9, 0x5fee36, 0x5feb2b, 0x5febb8, 0x5febf8, 0x5fec3c, 0x5fece8, 0x5feca3, 0x5fed2d, 0x5fd7b3, 0x5fd7f8, 0x5fd835, 0x5fd874, 0x5fd8b1, 0x5fd8ee, 0x5fd92b, 0x5fd9e5, 0x5fcb2d, 0x5fda46, 0x5fda75, 0x5fdaf3, 0x5fdb58, 0x5fdbb9, 0x5fdbe8, 0x5fdc19, 0x5fdc4a, 0x5fdca2, 0x5fc882, 0x5fdcf2, 0x5fdd27, 0x5fdd5c, 0x5fdd91, 0x5fddc6, 0x5fddfb, 0x5fcb2d, 0x5fc882, 0x5fde2a, 0x5fde71, 0x5fdea0, 0x5fdecf, 0x5fdf0f, 0x5fdf4f, 0x5fd423, 0x5fd470, 0x5fd691, 0x5fd6d1, 0x5fd65c, 0x5fd784, 0x5fc882, 0x5fe100, 0x5fe469, 0x5fcc83, 0x5fe52c, 0x5fe7db, 0x5fe86d, 0x5fe091, 0x5fe0df, 0x5fcc2c, 0x5fdf83, 0x5fd0a4, 0x5fe154, 0x5fe182, 0x5fe2bf, 0x5fe32c, 0x5fe373, 0x5fe760, 0x5fe3ea, 0x5fd711, 0x5fd755, 0x5fd4b0, 0x5fd4df, 0x5fd50e, 0x5fd53d, 0x5fd57d, 0x5fd5bd, 0x5fd5fd, 0x5fd63d, 0x5fd205, 0x5fd245, 0x5fd285, 0x5fd2b4, 0x5fd2f4, 0x5fd334, 0x5fd38d, 0x5fd3e6, 0x5fd968, 0x5fd9a5, 0x5fd126, 0x5fd18e, 0x5fc882, 0x5fe62a, 0x5fe6da, 0x5fe996, 0x5fea77, 0x5fdfb1, 0x5ff23c, 0x5feb68, 0x5fdaa6, 0x5fcf81, 0x5fcfc6, 0x5fc882, 0x5fc882, 0x5fd01e, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fc882, 0x5fd069 <repeats 64 times>} count = 3 stack = { pc = 0xbf57b7 "\006\006\071\203\242", byte_string = 10150908, byte_string_start = 0xbf573c "\306\020\211?\205\023", next = 0x0 } result = 0 type = 2305 #29 0x00000000005bba72 in Ffuncall (nargs=5, args=0x7ffcfc375790) at ../../src/eval.c:2754 fun = <optimized out> original_fun = 14784 funcar = 0 numargs = 4 lisp_numargs = 6 val = <optimized out> internal_args = <optimized out> count = 2 #30 0x00000000005bc079 in call4 (fn=<optimized out>, arg1=<optimized out>, arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at ../../src/eval.c:2577 No locals. #31 0x000000000053b1b2 in read_char (commandflag=1, map=127403475, prev_event=0, used_mouse_menu=0x7ffcfc375ebf, end_time=0x0) at ../../src/keyboard.c:2835 prev_buffer = 0x31cac30 c = 130132563 local_getcjmp = {{ __jmpbuf = {0, 369207272891589228, 52210736, 4611686018477719552, 13599328, 1, -367526741044780436, 369207937242997356}, __mask_was_saved = 0, __saved_mask = { __val = {0 <repeats 16 times>} } }} save_jump = {{ __jmpbuf = {0, 369209120862741100, 117521837, 5, 0, 1, -367526741044780436, 369207937242997356}, __mask_was_saved = 0, __saved_mask = { __val = {97323811, 0, 0, 97323827, 97323824, 0, 4611686018595160064, 4611686019484352512, 6072415, 41400304, 6073252, 166272, 0, 4611686018595160064, 97323827, 1} } }} tem = 457984 save = <optimized out> previous_echo_area_message = 0 also_record = 0 reread = false recorded = false polling_stopped_here = false orig_kboard = 0xcf8260 #32 0x000000000053f96e in read_key_sequence (keybuf=0x7ffcfc375f20, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=<optimized out>, bufsize=30) at ../../src/keyboard.c:9055 interrupted_kboard = <optimized out> interrupted_frame = 0xcfca00 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 127403475 first_event = 0 first_unbound = 31 mock_input = 0 fkey = { parent = 13805859, map = 13805859, start = 0, end = 0 } keytran = { parent = 13535811, map = 13535811, start = 0, end = 0 } indec = { parent = 13805875, map = 13805875, start = 0, end = 0 } shift_translated = false delayed_switch_frame = 0 original_uppercase = 5930301 original_uppercase_position = -1 dummyflag = <optimized out> starting_buffer = 0x31cac30 fake_prefixed_keys = 0 #33 0x0000000000541334 in command_loop_1 () at ../../src/keyboard.c:1357 cmd = <optimized out> keybuf = {98, 14, 246, 18, 4294967296, 3526540890385783552, 0, 5925508, 0, 28416, 0, 112171987, 140724539973632, 0, 0, 45840, 13437840, 6013092, 157136, 112171987, 9257796, 0, 140724539973632, 5451033, 0, 112171987, 0, 5451319, 0, 6006135} i = <optimized out> prev_modiff = 117 prev_buffer = 0x4bab8e0 #34 0x00000000005b9eba in internal_condition_case (bfun=0x541120 <command_loop_1>, handlers=<optimized out>, hfun=0x532d50 <cmd_error>) at ../../src/eval.c:1309 val = <optimized out> c = 0x8c9 #35 0x0000000000530fac in command_loop_2 (ignore=<optimized out>) at ../../src/keyboard.c:1099 val = 0 #36 0x00000000005b9f48 in internal_catch (tag=<optimized out>, func=0x530f90 <command_loop_2>, arg=0) at ../../src/eval.c:1074 val = 0 c = 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 = <optimized out> #39 0x0000000000532ba5 in Frecursive_edit () at ../../src/keyboard.c:755 buffer = <optimized out> #40 0x0000000000413a68 in main (argc=<optimized out>, argv=<optimized out>) at ../../src/emacs.c:1605 dummy = 140081048168216 stack_bottom_variable = 0 '\000' do_initial_setlocale = <optimized out> dumping = <optimized out> skip_args = 1 rlim = { rlim_cur = 8720000, rlim_max = 18446744073709551615 } no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x2 <Address 0x2 out of bounds> You can't do that without a process to debug. (gdb) source ~/xbt.gdb (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 = (struct buffer *) 0x3940870 (gdb) p *current_buffer $2 = { header = { size = 4611686018528256071 }, name_ = 60031812, filename_ = 59999236, directory_ = 60034580, backed_up_ = 0, save_length_ = 49802, auto_save_file_name_ = 60034804, read_only_ = 0, mark_ = 60032025, local_var_alist_ = 154793331, major_mode_ = 4621376, mode_name_ = 14815124, mode_line_format_ = 17496099, header_line_format_ = 48621651, keymap_ = 17934947, abbrev_table_ = 53010869, syntax_table_ = 20669221, category_table_ = 13559829, case_fold_search_ = 44448, tab_width_ = 34, fill_column_ = 282, left_margin_ = 2, auto_fill_function_ = 0, downcase_table_ = 13561197, upcase_table_ = 13565413, case_canon_table_ = 19090613, case_eqv_table_ = 19753381, truncate_lines_ = 0, word_wrap_ = 0, ctl_arrow_ = 44448, bidi_display_reordering_ = 44448, bidi_paragraph_direction_ = 30480, selective_display_ = 0, selective_display_ellipses_ = 44448, minor_modes_ = 0, overwrite_mode_ = 0, abbrev_mode_ = 0, display_table_ = 0, mark_active_ = 0, enable_multibyte_characters_ = 44448, buffer_file_coding_system_ = 0, file_format_ = 0, auto_save_file_format_ = 44448, cache_long_scans_ = 44448, width_table_ = 0, pt_marker_ = 0, begv_marker_ = 0, zv_marker_ = 0, point_before_scroll_ = 0, file_truename_ = 142613924, invisibility_spec_ = 60262899, last_selected_window_ = 0, display_count_ = 30, left_margin_cols_ = 2, right_margin_cols_ = 2, left_fringe_width_ = 0, right_fringe_width_ = 0, fringes_outside_margins_ = 0, scroll_bar_width_ = 0, scroll_bar_height_ = 0, vertical_scroll_bar_type_ = 44448, horizontal_scroll_bar_type_ = 44448, indicate_empty_lines_ = 44448, indicate_buffer_boundaries_ = 0, fringe_indicator_alist_ = 21556691, fringe_cursor_alist_ = 18337955, display_time_ = 128283843, scroll_up_aggressively_ = 0, scroll_down_aggressively_ = 0, cursor_type_ = 44448, extra_line_spacing_ = 0, cursor_in_non_selected_windows_ = 44448, own_text = { beg = 0x584cd90 "##\n# Perl object that represents an optofs filesystem\n#\n# $Id$\n##\npackage Permabit::FileSystem::Optofs;\n\nuse strict;\nuse warnings FATAL => qw(all);\nuse English qw(-no_match_vars);\n\nuse Carp qw(confess"..., gpt = 12223, z = 12451, gpt_byte = 12223, z_byte = 12451, gap_size = 1245, modiff = 44191, chars_modiff = 44187, save_modiff = 44191, overlay_modiff = 3961, compact = 44191, beg_unchanged = 229, end_unchanged = 0, unchanged_modified = 44168, overlay_unchanged_modified = 2746, intervals = 0x7dd8ab0, markers = 0x67d2e58, inhibit_shrinking = false, redisplay = false }, text = 0x3940ab0, next = 0x391e2f0, pt = 12222, pt_byte = 12222, begv = 1, begv_byte = 1, zv = 12451, zv_byte = 12451, base_buffer = 0x0, indirections = 0, window_count = 0, local_flags = '\000' <repeats 14 times>, "\001\000\001\000\000\000\001", '\000' <repeats 16 times>, "\001", '\000' <repeats 11 times>, modtime = { tv_sec = 1461804890, tv_nsec = 0 }, modtime_size = 12450, auto_save_modified = 44190, display_error_modiff = 0, auto_save_failure_time = 0, last_window_start = 12052, newline_cache = 0x39447b0, width_run_cache = 0x0, bidi_paragraph_cache = 0x0, prevent_redisplay_optimizations_p = true, clip_changed = true, overlays_before = 0x7b71510, overlays_after = 0x925da10, overlay_center = 12282, undo_list_ = 170189555 } (gdb) p $2.name_ $3 = 60031812 (gdb) xtype Lisp_String (gdb) xstring $4 = (struct Lisp_String *) 0x3940340 "Optofs.pm" (gdb) fr 3 #3 0x0000000000562b46 in buf_bytepos_to_charpos (b=0x3940870, bytepos=24673) at ../../src/marker.c:297 warning: Source file is more recent than executable. 297 eassert (BUF_BEG_BYTE (b) <= bytepos && bytepos <= 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 297 eassert (BUF_BEG_BYTE (b) <= bytepos && bytepos <= BUF_Z_BYTE (b)); 298 299 best_above = BUF_Z (b); 300 best_above_byte = BUF_Z_BYTE (b); 301 (gdb) up #4 0x000000000056c786 in Finsert_file_contents (filename=59999236, visit=<optimized out>, beg=0, end=0, replace=<optimized out>) at ../../src/fileio.c:3853 warning: Source file is more recent than executable. 3853 same_at_end_charpos = BYTE_TO_CHAR (same_at_end); (gdb) list 3848 overlap = (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 += overlap; 3853 same_at_end_charpos = BYTE_TO_CHAR (same_at_end); 3854 3855 /* Arrange to read only the nonmatching middle part of the file. */ 3856 beg_offset += same_at_start - BEGV_BYTE; 3857 end_offset -= ZV_BYTE - same_at_end; (gdb) up #5 0x00000000005bbd7c in Ffuncall (nargs=6, args=0x7ffcfc374398) at ../../src/eval.c:2709 2709 val = (XSUBR (fun)->function.a5 (gdb) list 2704 val = (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 = (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 = 59999236 (gdb) xtype Lisp_String (gdb) xstring $6 = (struct Lisp_String *) 0x3938400 "/u1/ken/rh/src/perl/lib/Permabit/FileSystem/Optofs.pm" (gdb) p internal_args[1] $7 = 44448 (gdb) xtype Lisp_Symbol (gdb) xsymbol $8 = (struct Lisp_Symbol *) 0xcdb930 "t" (gdb) p internal_args[2] $9 = 0 (gdb) xtype Lisp_Symbol (gdb) xsymbol $10 = (struct Lisp_Symbol *) 0xcd0b90 "nil" (gdb) p internal_args[3] $11 = 0 (gdb) p internal_args[4] $12 = 44448 (gdb) In GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) 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=/permabit/user/raeburn/dev/emacs/emacs-25/lx/Inst-5725167 --with-x-toolkit=lucid --enable-checking CPPFLAGS=-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 <at> chat.permabit.com is now Away Mark saved where search started Quit Mark saved where search started Mark set jwiele <at> chat.permabit.com is now Online Load-path shadows: /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-muc-nick-completion hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-muc-nick-completion /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-modeline hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-modeline /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-screen hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-screen /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-socks5 hides /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 hides /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/site-lisp/emacs-jabber/fsm /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-widget hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-widget /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-si-client hides /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 hides /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 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-browse /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ahc-presence hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ahc-presence /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-roster hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-roster /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/srv hides /usr/share/emacs/site-lisp/emacs-jabber/srv /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ft-client hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-client /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-compose hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-compose /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-search hides /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 hides /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 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-ft-server /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-activity hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-activity /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-export hides /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 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-festival /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-xmessage hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-xmessage /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-iq hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-iq /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-autoloads hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoloads /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-vcard-avatars hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-vcard-avatars /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-ft-common hides /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 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-awesome /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-si-server hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-server /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-bookmarks hides /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 hides /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 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-autoaway /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-keymap hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-keymap /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-register hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-register /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-avatar hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-avatar /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-presence hides /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 hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-si-common /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-history hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-history /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-keepalive hides /usr/share/emacs/site-lisp/emacs-jabber/jabber-keepalive /permabit/user/raeburn/.emacs.d/elpa/jabber-20160124.552/jabber-truncate hides /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 hides /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 hides /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))
bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Mon, 02 May 2016 16:49:02 GMT) Full text and rfc822 format available.Message #8 received at 23397 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Ken Raeburn <raeburn <at> permabit.com> Cc: 23397 <at> debbugs.gnu.org Subject: Re: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten Date: Mon, 02 May 2016 19:47:57 +0300
> From: Ken Raeburn <raeburn <at> permabit.com> > 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.
bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Mon, 02 May 2016 20:44:01 GMT) Full text and rfc822 format available.Message #11 received at 23397 <at> debbugs.gnu.org (full text, mbox):
From: Ken Raeburn <raeburn <at> permabit.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 23397 <at> debbugs.gnu.org Subject: Re: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten Date: Mon, 02 May 2016 16:43:12 -0400
Eli Zaretskii <eliz <at> gnu.org> 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.
bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Tue, 03 May 2016 15:16:01 GMT) Full text and rfc822 format available.Message #14 received at 23397 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Ken Raeburn <raeburn <at> permabit.com> Cc: 23397 <at> debbugs.gnu.org Subject: Re: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten Date: Tue, 03 May 2016 18:15:37 +0300
> From: Ken Raeburn <raeburn <at> permabit.com> > 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?
bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Tue, 03 May 2016 21:05:01 GMT) Full text and rfc822 format available.Message #17 received at 23397 <at> debbugs.gnu.org (full text, mbox):
From: Ken Raeburn <raeburn <at> permabit.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 23397 <at> debbugs.gnu.org Subject: Re: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten Date: Tue, 03 May 2016 17:04:24 -0400
Eli Zaretskii <eliz <at> gnu.org> 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)
bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Sat, 16 Jun 2018 21:46:02 GMT) Full text and rfc822 format available.Message #20 received at 23397 <at> debbugs.gnu.org (full text, mbox):
From: Noam Postavsky <npostavs <at> gmail.com> To: Ken Raeburn <raeburn <at> permabit.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 23397 <at> debbugs.gnu.org Subject: Re: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten Date: Sat, 16 Jun 2018 17:45:36 -0400
found 23397 26.1 tags 23397 + confirmed quit Ken Raeburn <raeburn <at> permabit.com> 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);
Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Sat, 16 Jun 2018 21:46:02 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Sat, 16 Jun 2018 21:46:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Sun, 17 Jun 2018 05:37:01 GMT) Full text and rfc822 format available.Message #27 received at 23397 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Noam Postavsky <npostavs <at> gmail.com> Cc: raeburn <at> permabit.com, 23397 <at> debbugs.gnu.org Subject: Re: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten Date: Sun, 17 Jun 2018 08:36:35 +0300
> From: Noam Postavsky <npostavs <at> gmail.com> > Cc: Eli Zaretskii <eliz <at> gnu.org>, 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.
bug-gnu-emacs <at> gnu.org
:bug#23397
; Package emacs
.
(Sat, 05 Sep 2020 14:05:02 GMT) Full text and rfc822 format available.Message #30 received at 23397 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Noam Postavsky <npostavs <at> gmail.com> Cc: Ken Raeburn <raeburn <at> permabit.com>, Eli Zaretskii <eliz <at> gnu.org>, 23397 <at> debbugs.gnu.org Subject: Re: bug#23397: 25.0.92; assertion failure auto-reverting a file being overwritten Date: Sat, 05 Sep 2020 16:03:54 +0200
Noam Postavsky <npostavs <at> gmail.com> 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 <at> gnu.org> 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,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.