unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
@ 2014-09-14  2:37 Michael Welsh Duggan
  2014-09-14 17:10 ` Dmitry Antipov
  2014-09-23 15:52 ` Paul Eggert
  0 siblings, 2 replies; 8+ messages in thread
From: Michael Welsh Duggan @ 2014-09-14  2:37 UTC (permalink / raw)
  To: 18473

[-- Attachment #1: Type: text/plain, Size: 23 bytes --]

With attached foo.el:


[-- Attachment #2: foo.el --]
[-- Type: application/emacs-lisp, Size: 188 bytes --]

[-- Attachment #3: Type: text/plain, Size: 44092 bytes --]


emacs -Q -l foo.el
(testbug 2049)
C-j

SEGFAULT


Output from backtrace full:

(gdb) backtrace full
#0  __GI___libc_free (mem=0x11bf625000000) at malloc.c:2929
        ar_ptr = <optimized out>
        p = <optimized out>
        hook = 0x0
#1  0x0000000000526532 in xfree (block=<optimized out>) at alloc.c:790
No locals.
#2  0x00000000005279ab in free_save_value (save=12877840) at alloc.c:3710
No locals.
#3  0x000000000053fb45 in unbind_to (count=count@entry=27, value=12414258)
    at eval.c:3217
        quitf = 12414258
#4  0x000000000054026f in eval_sub (form=form@entry=12783478) at eval.c:2155
        vals = 0xc48010
        argnum = <optimized out>
        sa_must_free = false
        numargs = <optimized out>
        args_left = 12414258
        i = <optimized out>
        maxargs = <optimized out>
        argvals = {1, 5440526, 0, 5516524, 15006773, 12518338, 12518336, 
          12414258}
        fun = <optimized out>
        val = 13148125
        original_args = 12783446
#5  0x0000000000541b78 in Feval (form=12783478, lexical=<optimized out>)
    at eval.c:1999
No locals.
#6  0x000000000054030d in eval_sub (form=<optimized out>) at eval.c:2184
        numargs = <optimized out>
        args_left = 12414258
        i = 2
        maxargs = 2
        argvals = {12783478, 12414258, 12529442, 1, 140737488344632, 5508598, 
          8704233, 12414258}
        fun = 11593589
        val = <optimized out>
        original_args = 19579014
#7  0x0000000000540691 in Fprogn (body=19578294) at eval.c:461
        val = <optimized out>
#8  0x0000000000540129 in eval_sub (form=<optimized out>) at eval.c:2129
        numargs = <optimized out>
        args_left = 19603974
        i = <optimized out>
        maxargs = <optimized out>
        argvals = {12023840, 13091888, 1, 1, 1, 5439051, 12776818, 5434546}
        fun = 11594741
        val = <optimized out>
        original_args = 19603974
#9  0x0000000000541590 in Funwind_protect (args=19603782) at eval.c:1208
        val = <optimized out>
#10 0x0000000000540129 in eval_sub (form=<optimized out>) at eval.c:2129
        numargs = <optimized out>
        args_left = 19603782
        i = <optimized out>
        maxargs = <optimized out>
        argvals = {15006773, 19, 0, 1, 140737488345040, 12414258, 8704233, 1}
        fun = 11593877
        val = <optimized out>
        original_args = 19603782
#11 0x0000000000540691 in Fprogn (body=19603574, body@entry=19603590)
    at eval.c:461
        val = <optimized out>
#12 0x0000000000535811 in Fsave_current_buffer (args=19603590)
    at editfns.c:955
No locals.
#13 0x0000000000540129 in eval_sub (form=<optimized out>) at eval.c:2129
        numargs = <optimized out>
        args_left = 19603590
        i = <optimized out>
        maxargs = <optimized out>
        argvals = {1, 2, 16, 5508598, 140737488345320, 19784198, 18609637, 17}
        fun = 11591717
        val = <optimized out>
        original_args = 19603590
#14 0x0000000000540691 in Fprogn (body=19603558) at eval.c:461
        val = <optimized out>
#15 0x0000000000542cc7 in Flet (args=19603542) at eval.c:969
        temps = 0x7fffffffd890
        tem = <optimized out>
        lexenv = 12414258
        elt = <optimized out>
        varlist = <optimized out>
        argnum = 1
        sa_must_free = false
#16 0x0000000000540129 in eval_sub (form=<optimized out>) at eval.c:2129
        numargs = <optimized out>
        args_left = 19603542
        i = <optimized out>
        maxargs = <optimized out>
        argvals = {1, 32, 9063264, 5507010, 140737488345680, 12859291, 
          9063269, 15}
        fun = 11594117
        val = <optimized out>
        original_args = 19603542
#17 0x0000000000540691 in Fprogn (body=19603414) at eval.c:461
        val = <optimized out>
#18 0x0000000000540970 in funcall_lambda (fun=fun@entry=19603510, 
    nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffda40)
    at eval.c:2953
        val = <optimized out>
        syms_left = 12414258
        lexenv = 12414258
        i = 1
        optional = false
        rest = false
#19 0x00000000005414f5 in apply_lambda (fun=fun@entry=19603510, 
    args=<optimized out>) at eval.c:2835
        args_left = 12414258
        i = 1
        arg_vector = 0x7fffffffda40
        tem = <optimized out>
        sa_must_free = false
#20 0x0000000000540517 in eval_sub (form=form@entry=19784198) at eval.c:2256
        fun = 19603510
        val = <optimized out>
        original_args = 19783990
#21 0x0000000000541b78 in Feval (form=19784198, lexical=<optimized out>)
    at eval.c:1999
No locals.
#22 0x0000000000540c11 in Ffuncall (nargs=<optimized out>, 
    args=args@entry=0x7fffffffdc18) at eval.c:2729
        internal_argbuf = {140737488346320, 12516066, 12516064, 12441093, 
          20593808, 1, 20, 5434584}
        fun = 11593589
        original_fun = 12519666
        numargs = <optimized out>
        val = <optimized out>
        internal_args = 0x7fffffffdc20
        i = <optimized out>
#23 0x00000000005718a1 in exec_byte_code (bytestr=<optimized out>, 
    vector=10128205, maxdepth=<optimized out>, 
    args_template=args_template@entry=1028, nargs=nargs@entry=1, 
    args=<optimized out>, args@entry=0x7fffffffddc8) at bytecode.c:920
        targets = {0x573dde <exec_byte_code+11404>, 
          0x573e29 <exec_byte_code+11479>, 0x573e2b <exec_byte_code+11481>, 
          0x573e2d <exec_byte_code+11483>, 0x573e2f <exec_byte_code+11485>, 
          0x573e2f <exec_byte_code+11485>, 0x573e6d <exec_byte_code+11547>, 
          0x573eba <exec_byte_code+11624>, 0x571438 <exec_byte_code+742>, 
          0x57143a <exec_byte_code+744>, 0x57143c <exec_byte_code+746>, 
          0x57143e <exec_byte_code+748>, 0x571440 <exec_byte_code+750>, 
          0x571440 <exec_byte_code+750>, 0x571445 <exec_byte_code+755>, 
          0x571414 <exec_byte_code+706>, 0x5716e9 <exec_byte_code+1431>, 
          0x5716eb <exec_byte_code+1433>, 0x5716ed <exec_byte_code+1435>, 
          0x5716ef <exec_byte_code+1437>, 0x5716f1 <exec_byte_code+1439>, 
          0x5716f1 <exec_byte_code+1439>, 0x571718 <exec_byte_code+1478>, 
          0x5716f6 <exec_byte_code+1444>, 0x5717f7 <exec_byte_code+1701>, 
          0x5717f9 <exec_byte_code+1703>, 0x5717fb <exec_byte_code+1705>, 
          0x5717fd <exec_byte_code+1707>, 0x5717ff <exec_byte_code+1709>, 
          0x5717ff <exec_byte_code+1709>, 0x5717c4 <exec_byte_code+1650>, 
          0x5717d5 <exec_byte_code+1667>, 0x571876 <exec_byte_code+1828>, 
          0x571878 <exec_byte_code+1830>, 0x57187a <exec_byte_code+1832>, 
          0x57187c <exec_byte_code+1834>, 0x57187e <exec_byte_code+1836>, 
          0x57187e <exec_byte_code+1836>, 0x571843 <exec_byte_code+1777>, 
          0x571854 <exec_byte_code+1794>, 0x5718f6 <exec_byte_code+1956>, 
          0x5718f8 <exec_byte_code+1958>, 0x5718fa <exec_byte_code+1960>, 
          0x5718fc <exec_byte_code+1962>, 0x5718fe <exec_byte_code+1964>, 
          0x5718fe <exec_byte_code+1964>, 0x5718c3 <exec_byte_code+1905>, 
          0x5718d4 <exec_byte_code+1922>, 0x572464 <exec_byte_code+4882>, 
          0x57230b <exec_byte_code+4537>, 0x572303 <exec_byte_code+4529>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x5725e0 <exec_byte_code+5262>, 
          0x57267c <exec_byte_code+5418>, 0x5726c8 <exec_byte_code+5494>, 
          0x57271a <exec_byte_code+5576>, 0x57276c <exec_byte_code+5658>, 
          0x571602 <exec_byte_code+1200>, 0x57164d <exec_byte_code+1275>, 
          0x5727b6 <exec_byte_code+5732>, 0x5715a4 <exec_byte_code+1106>, 
          0x57168b <exec_byte_code+1337>, 0x5727f3 <exec_byte_code+5793>, 
          0x572831 <exec_byte_code+5855>, 0x57285f <exec_byte_code+5901>, 
          0x57289d <exec_byte_code+5963>, 0x5728d5 <exec_byte_code+6019>, 
          0x57295c <exec_byte_code+6154>, 0x57298a <exec_byte_code+6200>, 
          0x5729c8 <exec_byte_code+6262>, 0x572a0a <exec_byte_code+6328>, 
          0x572a38 <exec_byte_code+6374>, 0x572a66 <exec_byte_code+6420>, 
          0x572aa4 <exec_byte_code+6482>, 0x572ae2 <exec_byte_code+6544>, 
          0x572b20 <exec_byte_code+6606>, 0x572b62 <exec_byte_code+6672>, 
          0x572b9a <exec_byte_code+6728>, 0x572bd2 <exec_byte_code+6784>, 
          0x572c59 <exec_byte_code+6919>, 0x572ca2 <exec_byte_code+6992>, 
          0x572ceb <exec_byte_code+7065>, 0x572e86 <exec_byte_code+7476>, 
          0x572ec9 <exec_byte_code+7543>, 0x572f0c <exec_byte_code+7610>, 
          0x572f4f <exec_byte_code+7677>, 0x572f92 <exec_byte_code+7744>, 
          0x572fca <exec_byte_code+7800>, 0x573014 <exec_byte_code+7874>, 
          0x57304c <exec_byte_code+7930>, 0x573084 <exec_byte_code+7986>, 
          0x5730bc <exec_byte_code+8042>, 0x57316a <exec_byte_code+8216>, 
          0x5721fa <exec_byte_code+4264>, 0x5731a7 <exec_byte_code+8277>, 
          0x5731d5 <exec_byte_code+8323>, 0x573257 <exec_byte_code+8453>, 
          0x573294 <exec_byte_code+8514>, 0x5732d1 <exec_byte_code+8575>, 
          0x5732ff <exec_byte_code+8621>, 0x57332f <exec_byte_code+8669>, 
          0x57335f <exec_byte_code+8717>, 0x573393 <exec_byte_code+8769>, 
          0x573dde <exec_byte_code+11404>, 0x5733c8 <exec_byte_code+8822>, 
          0x5733f8 <exec_byte_code+8870>, 0x573428 <exec_byte_code+8918>, 
          0x573458 <exec_byte_code+8966>, 0x573488 <exec_byte_code+9014>, 
          0x5734b8 <exec_byte_code+9062>, 0x5721fa <exec_byte_code+4264>, 
          0x573dde <exec_byte_code+11404>, 0x5734e6 <exec_byte_code+9108>, 
          0x573528 <exec_byte_code+9174>, 0x573556 <exec_byte_code+9220>, 
          0x573584 <exec_byte_code+9266>, 0x5735c2 <exec_byte_code+9328>, 
          0x573600 <exec_byte_code+9390>, 0x57362e <exec_byte_code+9436>, 
          0x57377f <exec_byte_code+9773>, 0x5737bd <exec_byte_code+9835>, 
          0x5737fb <exec_byte_code+9897>, 0x573839 <exec_byte_code+9959>, 
          0x573869 <exec_byte_code+10007>, 0x573dde <exec_byte_code+11404>, 
          0x572176 <exec_byte_code+4132>, 0x571973 <exec_byte_code+2081>, 
          0x5714b5 <exec_byte_code+867>, 0x571a44 <exec_byte_code+2290>, 
          0x571b33 <exec_byte_code+2529>, 0x571c1d <exec_byte_code+2763>, 
          0x572118 <exec_byte_code+4038>, 0x572152 <exec_byte_code+4096>, 
          0x571793 <exec_byte_code+1601>, 0x5721c9 <exec_byte_code+4215>, 
          0x57222b <exec_byte_code+4313>, 0x57228f <exec_byte_code+4413>, 
          0x5722c0 <exec_byte_code+4462>, 0x572495 <exec_byte_code+4931>, 
          0x5724eb <exec_byte_code+5017>, 0x57252d <exec_byte_code+5083>, 
          0x572580 <exec_byte_code+5166>, 0x571944 <exec_byte_code+2034>, 
          0x573897 <exec_byte_code+10053>, 0x5738d9 <exec_byte_code+10119>, 
          0x573907 <exec_byte_code+10165>, 0x573935 <exec_byte_code+10211>, 
          0x573963 <exec_byte_code+10257>, 0x573991 <exec_byte_code+10303>, 
          0x5739cf <exec_byte_code+10365>, 0x573a0d <exec_byte_code+10427>, 
          0x573a4b <exec_byte_code+10489>, 0x573a89 <exec_byte_code+10551>, 
          0x573b5c <exec_byte_code+10762>, 0x573b9a <exec_byte_code+10824>, 
          0x573bd8 <exec_byte_code+10886>, 0x573c06 <exec_byte_code+10932>, 
          0x573c44 <exec_byte_code+10994>, 0x573c82 <exec_byte_code+11056>, 
          0x573cc6 <exec_byte_code+11124>, 0x573d0a <exec_byte_code+11192>, 
          0x5730f4 <exec_byte_code+8098>, 0x57312c <exec_byte_code+8154>, 
          0x573d42 <exec_byte_code+11248>, 0x573d9f <exec_byte_code+11341>, 
          0x573dde <exec_byte_code+11404>, 0x571d07 <exec_byte_code+2997>, 
          0x571dbe <exec_byte_code+3180>, 0x571e92 <exec_byte_code+3392>, 
          0x571f66 <exec_byte_code+3604>, 0x57203f <exec_byte_code+3821>, 
          0x57290d <exec_byte_code+6075>, 0x572c0a <exec_byte_code+6840>, 
          0x573208 <exec_byte_code+8374>, 0x573f1a <exec_byte_code+11720>, 
          0x573f6a <exec_byte_code+11800>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573fcd <exec_byte_code+11899>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 
          0x574023 <exec_byte_code+11985> <repeats 64 times>}
        count = 12
        op = <optimized out>
        vectorp = 0x9a8b50 <pure+1544272>
        stack = {
          pc = 0xa7956b <pure+2398827> "\002\")\207", 
          byte_string = 10128169, 
          byte_string_start = 0xa79559 <pure+2398809> "\211\203\b", 
          next = 0x7fffffffde30
        }
        top = 0x7fffffffdc18
        result = <optimized out>
        type = <optimized out>
#24 0x00000000005407c2 in funcall_lambda (fun=10128125, nargs=nargs@entry=1, 
    arg_vector=arg_vector@entry=0x7fffffffddc8) at eval.c:2894
        val = <optimized out>
        syms_left = <optimized out>
        lexenv = <optimized out>
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#25 0x0000000000540d43 in Ffuncall (nargs=<optimized out>, 
    args=args@entry=0x7fffffffddc0) at eval.c:2775
        fun = <optimized out>
        original_fun = 20487506
        numargs = 1
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#26 0x00000000005718a1 in exec_byte_code (bytestr=<optimized out>, 
    vector=10128941, maxdepth=<optimized out>, 
    args_template=args_template@entry=1028, nargs=nargs@entry=1, 
    args=<optimized out>, args@entry=0x7fffffffdf78) at bytecode.c:920
        targets = {0x573dde <exec_byte_code+11404>, 
          0x573e29 <exec_byte_code+11479>, 0x573e2b <exec_byte_code+11481>, 
          0x573e2d <exec_byte_code+11483>, 0x573e2f <exec_byte_code+11485>, 
          0x573e2f <exec_byte_code+11485>, 0x573e6d <exec_byte_code+11547>, 
          0x573eba <exec_byte_code+11624>, 0x571438 <exec_byte_code+742>, 
          0x57143a <exec_byte_code+744>, 0x57143c <exec_byte_code+746>, 
          0x57143e <exec_byte_code+748>, 0x571440 <exec_byte_code+750>, 
          0x571440 <exec_byte_code+750>, 0x571445 <exec_byte_code+755>, 
          0x571414 <exec_byte_code+706>, 0x5716e9 <exec_byte_code+1431>, 
          0x5716eb <exec_byte_code+1433>, 0x5716ed <exec_byte_code+1435>, 
          0x5716ef <exec_byte_code+1437>, 0x5716f1 <exec_byte_code+1439>, 
          0x5716f1 <exec_byte_code+1439>, 0x571718 <exec_byte_code+1478>, 
          0x5716f6 <exec_byte_code+1444>, 0x5717f7 <exec_byte_code+1701>, 
          0x5717f9 <exec_byte_code+1703>, 0x5717fb <exec_byte_code+1705>, 
          0x5717fd <exec_byte_code+1707>, 0x5717ff <exec_byte_code+1709>, 
          0x5717ff <exec_byte_code+1709>, 0x5717c4 <exec_byte_code+1650>, 
          0x5717d5 <exec_byte_code+1667>, 0x571876 <exec_byte_code+1828>, 
          0x571878 <exec_byte_code+1830>, 0x57187a <exec_byte_code+1832>, 
          0x57187c <exec_byte_code+1834>, 0x57187e <exec_byte_code+1836>, 
          0x57187e <exec_byte_code+1836>, 0x571843 <exec_byte_code+1777>, 
          0x571854 <exec_byte_code+1794>, 0x5718f6 <exec_byte_code+1956>, 
          0x5718f8 <exec_byte_code+1958>, 0x5718fa <exec_byte_code+1960>, 
          0x5718fc <exec_byte_code+1962>, 0x5718fe <exec_byte_code+1964>, 
          0x5718fe <exec_byte_code+1964>, 0x5718c3 <exec_byte_code+1905>, 
          0x5718d4 <exec_byte_code+1922>, 0x572464 <exec_byte_code+4882>, 
          0x57230b <exec_byte_code+4537>, 0x572303 <exec_byte_code+4529>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x5725e0 <exec_byte_code+5262>, 
          0x57267c <exec_byte_code+5418>, 0x5726c8 <exec_byte_code+5494>, 
          0x57271a <exec_byte_code+5576>, 0x57276c <exec_byte_code+5658>, 
          0x571602 <exec_byte_code+1200>, 0x57164d <exec_byte_code+1275>, 
          0x5727b6 <exec_byte_code+5732>, 0x5715a4 <exec_byte_code+1106>, 
          0x57168b <exec_byte_code+1337>, 0x5727f3 <exec_byte_code+5793>, 
          0x572831 <exec_byte_code+5855>, 0x57285f <exec_byte_code+5901>, 
          0x57289d <exec_byte_code+5963>, 0x5728d5 <exec_byte_code+6019>, 
          0x57295c <exec_byte_code+6154>, 0x57298a <exec_byte_code+6200>, 
          0x5729c8 <exec_byte_code+6262>, 0x572a0a <exec_byte_code+6328>, 
          0x572a38 <exec_byte_code+6374>, 0x572a66 <exec_byte_code+6420>, 
          0x572aa4 <exec_byte_code+6482>, 0x572ae2 <exec_byte_code+6544>, 
          0x572b20 <exec_byte_code+6606>, 0x572b62 <exec_byte_code+6672>, 
          0x572b9a <exec_byte_code+6728>, 0x572bd2 <exec_byte_code+6784>, 
          0x572c59 <exec_byte_code+6919>, 0x572ca2 <exec_byte_code+6992>, 
          0x572ceb <exec_byte_code+7065>, 0x572e86 <exec_byte_code+7476>, 
          0x572ec9 <exec_byte_code+7543>, 0x572f0c <exec_byte_code+7610>, 
          0x572f4f <exec_byte_code+7677>, 0x572f92 <exec_byte_code+7744>, 
          0x572fca <exec_byte_code+7800>, 0x573014 <exec_byte_code+7874>, 
          0x57304c <exec_byte_code+7930>, 0x573084 <exec_byte_code+7986>, 
          0x5730bc <exec_byte_code+8042>, 0x57316a <exec_byte_code+8216>, 
          0x5721fa <exec_byte_code+4264>, 0x5731a7 <exec_byte_code+8277>, 
          0x5731d5 <exec_byte_code+8323>, 0x573257 <exec_byte_code+8453>, 
          0x573294 <exec_byte_code+8514>, 0x5732d1 <exec_byte_code+8575>, 
          0x5732ff <exec_byte_code+8621>, 0x57332f <exec_byte_code+8669>, 
          0x57335f <exec_byte_code+8717>, 0x573393 <exec_byte_code+8769>, 
          0x573dde <exec_byte_code+11404>, 0x5733c8 <exec_byte_code+8822>, 
          0x5733f8 <exec_byte_code+8870>, 0x573428 <exec_byte_code+8918>, 
          0x573458 <exec_byte_code+8966>, 0x573488 <exec_byte_code+9014>, 
          0x5734b8 <exec_byte_code+9062>, 0x5721fa <exec_byte_code+4264>, 
          0x573dde <exec_byte_code+11404>, 0x5734e6 <exec_byte_code+9108>, 
          0x573528 <exec_byte_code+9174>, 0x573556 <exec_byte_code+9220>, 
          0x573584 <exec_byte_code+9266>, 0x5735c2 <exec_byte_code+9328>, 
          0x573600 <exec_byte_code+9390>, 0x57362e <exec_byte_code+9436>, 
          0x57377f <exec_byte_code+9773>, 0x5737bd <exec_byte_code+9835>, 
          0x5737fb <exec_byte_code+9897>, 0x573839 <exec_byte_code+9959>, 
          0x573869 <exec_byte_code+10007>, 0x573dde <exec_byte_code+11404>, 
          0x572176 <exec_byte_code+4132>, 0x571973 <exec_byte_code+2081>, 
          0x5714b5 <exec_byte_code+867>, 0x571a44 <exec_byte_code+2290>, 
          0x571b33 <exec_byte_code+2529>, 0x571c1d <exec_byte_code+2763>, 
          0x572118 <exec_byte_code+4038>, 0x572152 <exec_byte_code+4096>, 
          0x571793 <exec_byte_code+1601>, 0x5721c9 <exec_byte_code+4215>, 
          0x57222b <exec_byte_code+4313>, 0x57228f <exec_byte_code+4413>, 
          0x5722c0 <exec_byte_code+4462>, 0x572495 <exec_byte_code+4931>, 
          0x5724eb <exec_byte_code+5017>, 0x57252d <exec_byte_code+5083>, 
          0x572580 <exec_byte_code+5166>, 0x571944 <exec_byte_code+2034>, 
          0x573897 <exec_byte_code+10053>, 0x5738d9 <exec_byte_code+10119>, 
          0x573907 <exec_byte_code+10165>, 0x573935 <exec_byte_code+10211>, 
          0x573963 <exec_byte_code+10257>, 0x573991 <exec_byte_code+10303>, 
          0x5739cf <exec_byte_code+10365>, 0x573a0d <exec_byte_code+10427>, 
          0x573a4b <exec_byte_code+10489>, 0x573a89 <exec_byte_code+10551>, 
          0x573b5c <exec_byte_code+10762>, 0x573b9a <exec_byte_code+10824>, 
          0x573bd8 <exec_byte_code+10886>, 0x573c06 <exec_byte_code+10932>, 
          0x573c44 <exec_byte_code+10994>, 0x573c82 <exec_byte_code+11056>, 
          0x573cc6 <exec_byte_code+11124>, 0x573d0a <exec_byte_code+11192>, 
          0x5730f4 <exec_byte_code+8098>, 0x57312c <exec_byte_code+8154>, 
          0x573d42 <exec_byte_code+11248>, 0x573d9f <exec_byte_code+11341>, 
          0x573dde <exec_byte_code+11404>, 0x571d07 <exec_byte_code+2997>, 
          0x571dbe <exec_byte_code+3180>, 0x571e92 <exec_byte_code+3392>, 
          0x571f66 <exec_byte_code+3604>, 0x57203f <exec_byte_code+3821>, 
          0x57290d <exec_byte_code+6075>, 0x572c0a <exec_byte_code+6840>, 
          0x573208 <exec_byte_code+8374>, 0x573f1a <exec_byte_code+11720>, 
          0x573f6a <exec_byte_code+11800>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573fcd <exec_byte_code+11899>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 
          0x574023 <exec_byte_code+11985> <repeats 64 times>}
        count = 10
        op = <optimized out>
        vectorp = 0x9a8e30 <pure+1545008>
        stack = {
          pc = 0xa7941c <pure+2398492> "\n)B\211A\t=\204\032", 
          byte_string = 10128905, 
          byte_string_start = 0xa7940f <pure+2398479> "\b\204\b", 
          next = 0x7fffffffdfd0
        }
        top = 0x7fffffffddc0
        result = <optimized out>
        type = <optimized out>
#27 0x00000000005407c2 in funcall_lambda (fun=10128853, nargs=nargs@entry=1, 
    arg_vector=arg_vector@entry=0x7fffffffdf78) at eval.c:2894
        val = <optimized out>
        syms_left = <optimized out>
        lexenv = <optimized out>
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#28 0x0000000000540d43 in Ffuncall (nargs=<optimized out>, 
    args=args@entry=0x7fffffffdf70) at eval.c:2775
        fun = <optimized out>
        original_fun = 15703282
        numargs = 1
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#29 0x00000000005718a1 in exec_byte_code (bytestr=<optimized out>, 
    vector=10126005, maxdepth=<optimized out>, 
    args_template=args_template@entry=1024, nargs=nargs@entry=1, 
    args=<optimized out>, args@entry=0x7fffffffe1a0) at bytecode.c:920
        targets = {0x573dde <exec_byte_code+11404>, 
          0x573e29 <exec_byte_code+11479>, 0x573e2b <exec_byte_code+11481>, 
          0x573e2d <exec_byte_code+11483>, 0x573e2f <exec_byte_code+11485>, 
          0x573e2f <exec_byte_code+11485>, 0x573e6d <exec_byte_code+11547>, 
          0x573eba <exec_byte_code+11624>, 0x571438 <exec_byte_code+742>, 
          0x57143a <exec_byte_code+744>, 0x57143c <exec_byte_code+746>, 
          0x57143e <exec_byte_code+748>, 0x571440 <exec_byte_code+750>, 
          0x571440 <exec_byte_code+750>, 0x571445 <exec_byte_code+755>, 
          0x571414 <exec_byte_code+706>, 0x5716e9 <exec_byte_code+1431>, 
          0x5716eb <exec_byte_code+1433>, 0x5716ed <exec_byte_code+1435>, 
          0x5716ef <exec_byte_code+1437>, 0x5716f1 <exec_byte_code+1439>, 
          0x5716f1 <exec_byte_code+1439>, 0x571718 <exec_byte_code+1478>, 
          0x5716f6 <exec_byte_code+1444>, 0x5717f7 <exec_byte_code+1701>, 
          0x5717f9 <exec_byte_code+1703>, 0x5717fb <exec_byte_code+1705>, 
          0x5717fd <exec_byte_code+1707>, 0x5717ff <exec_byte_code+1709>, 
          0x5717ff <exec_byte_code+1709>, 0x5717c4 <exec_byte_code+1650>, 
          0x5717d5 <exec_byte_code+1667>, 0x571876 <exec_byte_code+1828>, 
          0x571878 <exec_byte_code+1830>, 0x57187a <exec_byte_code+1832>, 
          0x57187c <exec_byte_code+1834>, 0x57187e <exec_byte_code+1836>, 
          0x57187e <exec_byte_code+1836>, 0x571843 <exec_byte_code+1777>, 
          0x571854 <exec_byte_code+1794>, 0x5718f6 <exec_byte_code+1956>, 
          0x5718f8 <exec_byte_code+1958>, 0x5718fa <exec_byte_code+1960>, 
          0x5718fc <exec_byte_code+1962>, 0x5718fe <exec_byte_code+1964>, 
          0x5718fe <exec_byte_code+1964>, 0x5718c3 <exec_byte_code+1905>, 
          0x5718d4 <exec_byte_code+1922>, 0x572464 <exec_byte_code+4882>, 
          0x57230b <exec_byte_code+4537>, 0x572303 <exec_byte_code+4529>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x5725e0 <exec_byte_code+5262>, 
          0x57267c <exec_byte_code+5418>, 0x5726c8 <exec_byte_code+5494>, 
          0x57271a <exec_byte_code+5576>, 0x57276c <exec_byte_code+5658>, 
          0x571602 <exec_byte_code+1200>, 0x57164d <exec_byte_code+1275>, 
          0x5727b6 <exec_byte_code+5732>, 0x5715a4 <exec_byte_code+1106>, 
          0x57168b <exec_byte_code+1337>, 0x5727f3 <exec_byte_code+5793>, 
          0x572831 <exec_byte_code+5855>, 0x57285f <exec_byte_code+5901>, 
          0x57289d <exec_byte_code+5963>, 0x5728d5 <exec_byte_code+6019>, 
          0x57295c <exec_byte_code+6154>, 0x57298a <exec_byte_code+6200>, 
          0x5729c8 <exec_byte_code+6262>, 0x572a0a <exec_byte_code+6328>, 
          0x572a38 <exec_byte_code+6374>, 0x572a66 <exec_byte_code+6420>, 
          0x572aa4 <exec_byte_code+6482>, 0x572ae2 <exec_byte_code+6544>, 
          0x572b20 <exec_byte_code+6606>, 0x572b62 <exec_byte_code+6672>, 
          0x572b9a <exec_byte_code+6728>, 0x572bd2 <exec_byte_code+6784>, 
          0x572c59 <exec_byte_code+6919>, 0x572ca2 <exec_byte_code+6992>, 
          0x572ceb <exec_byte_code+7065>, 0x572e86 <exec_byte_code+7476>, 
          0x572ec9 <exec_byte_code+7543>, 0x572f0c <exec_byte_code+7610>, 
          0x572f4f <exec_byte_code+7677>, 0x572f92 <exec_byte_code+7744>, 
          0x572fca <exec_byte_code+7800>, 0x573014 <exec_byte_code+7874>, 
          0x57304c <exec_byte_code+7930>, 0x573084 <exec_byte_code+7986>, 
          0x5730bc <exec_byte_code+8042>, 0x57316a <exec_byte_code+8216>, 
          0x5721fa <exec_byte_code+4264>, 0x5731a7 <exec_byte_code+8277>, 
          0x5731d5 <exec_byte_code+8323>, 0x573257 <exec_byte_code+8453>, 
          0x573294 <exec_byte_code+8514>, 0x5732d1 <exec_byte_code+8575>, 
          0x5732ff <exec_byte_code+8621>, 0x57332f <exec_byte_code+8669>, 
          0x57335f <exec_byte_code+8717>, 0x573393 <exec_byte_code+8769>, 
          0x573dde <exec_byte_code+11404>, 0x5733c8 <exec_byte_code+8822>, 
          0x5733f8 <exec_byte_code+8870>, 0x573428 <exec_byte_code+8918>, 
          0x573458 <exec_byte_code+8966>, 0x573488 <exec_byte_code+9014>, 
          0x5734b8 <exec_byte_code+9062>, 0x5721fa <exec_byte_code+4264>, 
          0x573dde <exec_byte_code+11404>, 0x5734e6 <exec_byte_code+9108>, 
          0x573528 <exec_byte_code+9174>, 0x573556 <exec_byte_code+9220>, 
          0x573584 <exec_byte_code+9266>, 0x5735c2 <exec_byte_code+9328>, 
          0x573600 <exec_byte_code+9390>, 0x57362e <exec_byte_code+9436>, 
          0x57377f <exec_byte_code+9773>, 0x5737bd <exec_byte_code+9835>, 
          0x5737fb <exec_byte_code+9897>, 0x573839 <exec_byte_code+9959>, 
          0x573869 <exec_byte_code+10007>, 0x573dde <exec_byte_code+11404>, 
          0x572176 <exec_byte_code+4132>, 0x571973 <exec_byte_code+2081>, 
          0x5714b5 <exec_byte_code+867>, 0x571a44 <exec_byte_code+2290>, 
          0x571b33 <exec_byte_code+2529>, 0x571c1d <exec_byte_code+2763>, 
          0x572118 <exec_byte_code+4038>, 0x572152 <exec_byte_code+4096>, 
          0x571793 <exec_byte_code+1601>, 0x5721c9 <exec_byte_code+4215>, 
          0x57222b <exec_byte_code+4313>, 0x57228f <exec_byte_code+4413>, 
          0x5722c0 <exec_byte_code+4462>, 0x572495 <exec_byte_code+4931>, 
          0x5724eb <exec_byte_code+5017>, 0x57252d <exec_byte_code+5083>, 
          0x572580 <exec_byte_code+5166>, 0x571944 <exec_byte_code+2034>, 
          0x573897 <exec_byte_code+10053>, 0x5738d9 <exec_byte_code+10119>, 
          0x573907 <exec_byte_code+10165>, 0x573935 <exec_byte_code+10211>, 
          0x573963 <exec_byte_code+10257>, 0x573991 <exec_byte_code+10303>, 
          0x5739cf <exec_byte_code+10365>, 0x573a0d <exec_byte_code+10427>, 
          0x573a4b <exec_byte_code+10489>, 0x573a89 <exec_byte_code+10551>, 
          0x573b5c <exec_byte_code+10762>, 0x573b9a <exec_byte_code+10824>, 
          0x573bd8 <exec_byte_code+10886>, 0x573c06 <exec_byte_code+10932>, 
          0x573c44 <exec_byte_code+10994>, 0x573c82 <exec_byte_code+11056>, 
          0x573cc6 <exec_byte_code+11124>, 0x573d0a <exec_byte_code+11192>, 
          0x5730f4 <exec_byte_code+8098>, 0x57312c <exec_byte_code+8154>, 
          0x573d42 <exec_byte_code+11248>, 0x573d9f <exec_byte_code+11341>, 
          0x573dde <exec_byte_code+11404>, 0x571d07 <exec_byte_code+2997>, 
          0x571dbe <exec_byte_code+3180>, 0x571e92 <exec_byte_code+3392>, 
          0x571f66 <exec_byte_code+3604>, 0x57203f <exec_byte_code+3821>, 
          0x57290d <exec_byte_code+6075>, 0x572c0a <exec_byte_code+6840>, 
          0x573208 <exec_byte_code+8374>, 0x573f1a <exec_byte_code+11720>, 
          0x573f6a <exec_byte_code+11800>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573fcd <exec_byte_code+11899>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 
          0x574023 <exec_byte_code+11985> <repeats 64 times>}
        count = 8
        op = <optimized out>
        vectorp = 0x9a82b8 <pure+1542072>
        stack = {
          pc = 0xa79838 <pure+2399544> "\210\301 )\207", 
          byte_string = 10125969, 
          byte_string_start = 0xa7982c <pure+2399532> "p\030\301 \210\302\001\206\v", 
          next = 0x7fffffffe430
        }
        top = 0x7fffffffdf70
        result = <optimized out>
        type = <optimized out>
#30 0x00000000005407c2 in funcall_lambda (fun=10125917, nargs=nargs@entry=1, 
    arg_vector=arg_vector@entry=0x7fffffffe1a0) at eval.c:2894
        val = <optimized out>
        syms_left = <optimized out>
        lexenv = <optimized out>
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#31 0x0000000000540d43 in Ffuncall (nargs=nargs@entry=2, 
    args=args@entry=0x7fffffffe198) at eval.c:2775
        fun = <optimized out>
        original_fun = 20487058
        numargs = 1
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#32 0x000000000053c894 in Ffuncall_interactively (nargs=2, 
    args=0x7fffffffe198) at callint.c:270
No locals.
#33 0x0000000000540b88 in Ffuncall (nargs=nargs@entry=3, 
    args=args@entry=0x7fffffffe190) at eval.c:2706
        fun = 11592773
        original_fun = 12532130
        numargs = 2
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#34 0x000000000053e08a in Fcall_interactively (function=20487058, 
    record_flag=12414258, keys=12449013) at callint.c:876
        val = <optimized out>
        args = 0x7fffffffe190
        visargs = 0x7fffffffe1a8
        specs = <optimized out>
        filter_specs = <optimized out>
        teml = <optimized out>
        up_event = 12414258
        enable = <optimized out>
        sa_must_free = false
        next_event = <optimized out>
        prefix_arg = 12414258
        string = <optimized out>
        tem = <optimized out>
        varies = 0x7fffffffe1c0 ""
        i = 3
        nargs = 3
        mark = <optimized out>
        arg_from_tty = false
        key_count = 1
        record_then_fail = false
        save_this_command = 20487058
        save_last_command = 12454226
        save_this_original_command = 20487058
        save_real_this_command = 20487058
#35 0x0000000000540c2b in Ffuncall (nargs=<optimized out>, 
    args=args@entry=0x7fffffffe3a8) at eval.c:2733
        internal_argbuf = {20487058, 12414258, 0, 5440526, 40, 19761542, 
          12452338, 1}
        fun = 11592725
        original_fun = 12532562
        numargs = <optimized out>
        val = <optimized out>
        internal_args = 0x7fffffffe3b0
        i = <optimized out>
#36 0x00000000005718a1 in exec_byte_code (bytestr=<optimized out>, 
    vector=9507149, maxdepth=<optimized out>, 
    args_template=args_template@entry=4100, nargs=nargs@entry=1, 
    args=<optimized out>, args@entry=0x7fffffffe568) at bytecode.c:920
        targets = {0x573dde <exec_byte_code+11404>, 
          0x573e29 <exec_byte_code+11479>, 0x573e2b <exec_byte_code+11481>, 
          0x573e2d <exec_byte_code+11483>, 0x573e2f <exec_byte_code+11485>, 
          0x573e2f <exec_byte_code+11485>, 0x573e6d <exec_byte_code+11547>, 
          0x573eba <exec_byte_code+11624>, 0x571438 <exec_byte_code+742>, 
          0x57143a <exec_byte_code+744>, 0x57143c <exec_byte_code+746>, 
          0x57143e <exec_byte_code+748>, 0x571440 <exec_byte_code+750>, 
          0x571440 <exec_byte_code+750>, 0x571445 <exec_byte_code+755>, 
          0x571414 <exec_byte_code+706>, 0x5716e9 <exec_byte_code+1431>, 
          0x5716eb <exec_byte_code+1433>, 0x5716ed <exec_byte_code+1435>, 
          0x5716ef <exec_byte_code+1437>, 0x5716f1 <exec_byte_code+1439>, 
          0x5716f1 <exec_byte_code+1439>, 0x571718 <exec_byte_code+1478>, 
          0x5716f6 <exec_byte_code+1444>, 0x5717f7 <exec_byte_code+1701>, 
          0x5717f9 <exec_byte_code+1703>, 0x5717fb <exec_byte_code+1705>, 
          0x5717fd <exec_byte_code+1707>, 0x5717ff <exec_byte_code+1709>, 
          0x5717ff <exec_byte_code+1709>, 0x5717c4 <exec_byte_code+1650>, 
          0x5717d5 <exec_byte_code+1667>, 0x571876 <exec_byte_code+1828>, 
          0x571878 <exec_byte_code+1830>, 0x57187a <exec_byte_code+1832>, 
          0x57187c <exec_byte_code+1834>, 0x57187e <exec_byte_code+1836>, 
          0x57187e <exec_byte_code+1836>, 0x571843 <exec_byte_code+1777>, 
          0x571854 <exec_byte_code+1794>, 0x5718f6 <exec_byte_code+1956>, 
          0x5718f8 <exec_byte_code+1958>, 0x5718fa <exec_byte_code+1960>, 
          0x5718fc <exec_byte_code+1962>, 0x5718fe <exec_byte_code+1964>, 
          0x5718fe <exec_byte_code+1964>, 0x5718c3 <exec_byte_code+1905>, 
          0x5718d4 <exec_byte_code+1922>, 0x572464 <exec_byte_code+4882>, 
          0x57230b <exec_byte_code+4537>, 0x572303 <exec_byte_code+4529>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x5725e0 <exec_byte_code+5262>, 
          0x57267c <exec_byte_code+5418>, 0x5726c8 <exec_byte_code+5494>, 
          0x57271a <exec_byte_code+5576>, 0x57276c <exec_byte_code+5658>, 
          0x571602 <exec_byte_code+1200>, 0x57164d <exec_byte_code+1275>, 
          0x5727b6 <exec_byte_code+5732>, 0x5715a4 <exec_byte_code+1106>, 
          0x57168b <exec_byte_code+1337>, 0x5727f3 <exec_byte_code+5793>, 
          0x572831 <exec_byte_code+5855>, 0x57285f <exec_byte_code+5901>, 
          0x57289d <exec_byte_code+5963>, 0x5728d5 <exec_byte_code+6019>, 
          0x57295c <exec_byte_code+6154>, 0x57298a <exec_byte_code+6200>, 
          0x5729c8 <exec_byte_code+6262>, 0x572a0a <exec_byte_code+6328>, 
          0x572a38 <exec_byte_code+6374>, 0x572a66 <exec_byte_code+6420>, 
          0x572aa4 <exec_byte_code+6482>, 0x572ae2 <exec_byte_code+6544>, 
          0x572b20 <exec_byte_code+6606>, 0x572b62 <exec_byte_code+6672>, 
          0x572b9a <exec_byte_code+6728>, 0x572bd2 <exec_byte_code+6784>, 
          0x572c59 <exec_byte_code+6919>, 0x572ca2 <exec_byte_code+6992>, 
          0x572ceb <exec_byte_code+7065>, 0x572e86 <exec_byte_code+7476>, 
          0x572ec9 <exec_byte_code+7543>, 0x572f0c <exec_byte_code+7610>, 
          0x572f4f <exec_byte_code+7677>, 0x572f92 <exec_byte_code+7744>, 
          0x572fca <exec_byte_code+7800>, 0x573014 <exec_byte_code+7874>, 
          0x57304c <exec_byte_code+7930>, 0x573084 <exec_byte_code+7986>, 
          0x5730bc <exec_byte_code+8042>, 0x57316a <exec_byte_code+8216>, 
          0x5721fa <exec_byte_code+4264>, 0x5731a7 <exec_byte_code+8277>, 
          0x5731d5 <exec_byte_code+8323>, 0x573257 <exec_byte_code+8453>, 
          0x573294 <exec_byte_code+8514>, 0x5732d1 <exec_byte_code+8575>, 
          0x5732ff <exec_byte_code+8621>, 0x57332f <exec_byte_code+8669>, 
          0x57335f <exec_byte_code+8717>, 0x573393 <exec_byte_code+8769>, 
          0x573dde <exec_byte_code+11404>, 0x5733c8 <exec_byte_code+8822>, 
          0x5733f8 <exec_byte_code+8870>, 0x573428 <exec_byte_code+8918>, 
          0x573458 <exec_byte_code+8966>, 0x573488 <exec_byte_code+9014>, 
          0x5734b8 <exec_byte_code+9062>, 0x5721fa <exec_byte_code+4264>, 
          0x573dde <exec_byte_code+11404>, 0x5734e6 <exec_byte_code+9108>, 
          0x573528 <exec_byte_code+9174>, 0x573556 <exec_byte_code+9220>, 
          0x573584 <exec_byte_code+9266>, 0x5735c2 <exec_byte_code+9328>, 
          0x573600 <exec_byte_code+9390>, 0x57362e <exec_byte_code+9436>, 
          0x57377f <exec_byte_code+9773>, 0x5737bd <exec_byte_code+9835>, 
          0x5737fb <exec_byte_code+9897>, 0x573839 <exec_byte_code+9959>, 
          0x573869 <exec_byte_code+10007>, 0x573dde <exec_byte_code+11404>, 
          0x572176 <exec_byte_code+4132>, 0x571973 <exec_byte_code+2081>, 
          0x5714b5 <exec_byte_code+867>, 0x571a44 <exec_byte_code+2290>, 
          0x571b33 <exec_byte_code+2529>, 0x571c1d <exec_byte_code+2763>, 
          0x572118 <exec_byte_code+4038>, 0x572152 <exec_byte_code+4096>, 
          0x571793 <exec_byte_code+1601>, 0x5721c9 <exec_byte_code+4215>, 
          0x57222b <exec_byte_code+4313>, 0x57228f <exec_byte_code+4413>, 
          0x5722c0 <exec_byte_code+4462>, 0x572495 <exec_byte_code+4931>, 
          0x5724eb <exec_byte_code+5017>, 0x57252d <exec_byte_code+5083>, 
          0x572580 <exec_byte_code+5166>, 0x571944 <exec_byte_code+2034>, 
          0x573897 <exec_byte_code+10053>, 0x5738d9 <exec_byte_code+10119>, 
          0x573907 <exec_byte_code+10165>, 0x573935 <exec_byte_code+10211>, 
          0x573963 <exec_byte_code+10257>, 0x573991 <exec_byte_code+10303>, 
          0x5739cf <exec_byte_code+10365>, 0x573a0d <exec_byte_code+10427>, 
          0x573a4b <exec_byte_code+10489>, 0x573a89 <exec_byte_code+10551>, 
          0x573b5c <exec_byte_code+10762>, 0x573b9a <exec_byte_code+10824>, 
          0x573bd8 <exec_byte_code+10886>, 0x573c06 <exec_byte_code+10932>, 
          0x573c44 <exec_byte_code+10994>, 0x573c82 <exec_byte_code+11056>, 
          0x573cc6 <exec_byte_code+11124>, 0x573d0a <exec_byte_code+11192>, 
          0x5730f4 <exec_byte_code+8098>, 0x57312c <exec_byte_code+8154>, 
          0x573d42 <exec_byte_code+11248>, 0x573d9f <exec_byte_code+11341>, 
          0x573dde <exec_byte_code+11404>, 0x571d07 <exec_byte_code+2997>, 
          0x571dbe <exec_byte_code+3180>, 0x571e92 <exec_byte_code+3392>, 
          0x571f66 <exec_byte_code+3604>, 0x57203f <exec_byte_code+3821>, 
          0x57290d <exec_byte_code+6075>, 0x572c0a <exec_byte_code+6840>, 
          0x573208 <exec_byte_code+8374>, 0x573f1a <exec_byte_code+11720>, 
          0x573f6a <exec_byte_code+11800>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573fcd <exec_byte_code+11899>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 0x573dde <exec_byte_code+11404>, 
          0x573dde <exec_byte_code+11404>, 
          0x574023 <exec_byte_code+11985> <repeats 64 times>}
        count = 4
        op = <optimized out>
        vectorp = 0x911150 <pure+923216>
        stack = {
          pc = 0xabbca3 <pure+2671011> "\006\006\071\203\233", 
          byte_string = 9507113, 
          byte_string_start = 0xabbc2f <pure+2670895> "\306\020\211?\205\f", 
          next = 0x0
        }
        top = 0x7fffffffe3a8
        result = <optimized out>
        type = <optimized out>
#37 0x00000000005407c2 in funcall_lambda (fun=9507069, nargs=nargs@entry=1, 
    arg_vector=arg_vector@entry=0x7fffffffe568) at eval.c:2894
        val = <optimized out>
        syms_left = <optimized out>
        lexenv = <optimized out>
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#38 0x0000000000540d43 in Ffuncall (nargs=nargs@entry=2, 
    args=args@entry=0x7fffffffe560) at eval.c:2775
        fun = <optimized out>
        original_fun = 12458594
        numargs = 1
        val = <optimized out>
        internal_args = <optimized out>
        i = <optimized out>
#39 0x00000000005421f8 in call1 (fn=<optimized out>, arg1=<optimized out>)
    at eval.c:2579
No locals.
#40 0x00000000004e3415 in command_loop_1 () at keyboard.c:1572
        cmd = <optimized out>
        keybuf = {40, 12441088, 12019776, 12414208, 0, 5440526, 
          140737488348784, 5506371, 12865190, 15763730, 12865190, 0, 0, 
          5508917, 12462130, 12865190, 8583969, 15763730, 15763730, 5087554, 
          12640486, 12414258, 12414258, 5087849, 15904256, 4000, 0, 0, 0, 
          5512067}
        i = <optimized out>
        prev_modiff = 52
        prev_buffer = 0xbdd600
#41 0x000000000053f358 in internal_condition_case (
    bfun=bfun@entry=0x4e2eeb <command_loop_1>, handlers=12466210, 
    hfun=hfun@entry=0x4da166 <cmd_error>) at eval.c:1350
        val = <optimized out>
        c = <optimized out>
#42 0x00000000004d5f90 in command_loop_2 (ignore=ignore@entry=12414258)
    at keyboard.c:1196
        val = <optimized out>
#43 0x000000000053f239 in internal_catch (tag=12462178, 
    func=func@entry=0x4d5f76 <command_loop_2>, arg=12414258) at eval.c:1111
        val = <optimized out>
        c = <optimized out>
#44 0x00000000004d5f28 in command_loop () at keyboard.c:1175
No locals.
#45 0x00000000004d9dc8 in recursive_edit_1 () at keyboard.c:785
        val = <optimized out>
#46 0x00000000004da098 in Frecursive_edit () at keyboard.c:856
        buffer = <optimized out>
#47 0x00000000004d59a9 in main (argc=<optimized out>, argv=0x7fffffffe8a8)
    at emacs.c:1642
        dummy = 6036221
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = <optimized out>
        dumping = false
        skip_args = 0
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0

Lisp Backtrace:
"vconcat" (0xffffd4f8)
"eval" (0xffffd580)
"progn" (0xffffd688)
"unwind-protect" (0xffffd758)
"save-current-buffer" (0xffffd838)
"let" (0xffffd988)
"testbug" (0xffffda40)
"eval" (0xffffdc20)
"eval-last-sexp-1" (0xffffddc8)
"eval-last-sexp" (0xffffdf78)
"eval-print-last-sexp" (0xffffe1a0)
"funcall-interactively" (0xffffe198)
"call-interactively" (0xffffe3b0)
"command-execute" (0xffffe568)


In GNU Emacs 24.4.50.1 (x86_64-unknown-linux-gnu, X toolkit)
 of 2014-09-13 on maru2
Repository revision: 111226 md5i@md5i.com-20140828004556-7osmjrt8py7oq07z
Windowing system distributor `The X.Org Foundation', version 11.0.11600000
System Description:	Debian GNU/Linux unstable (sid)

Configured using:
 `configure --without-toolkit-scroll-bars --with-x-toolkit=lucid
 'CFLAGS=-Og -ggdb' --with-wide-int'

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

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


-- 
Michael Welsh Duggan
(md5i@md5i.com)

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

* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
  2014-09-14  2:37 bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors Michael Welsh Duggan
@ 2014-09-14 17:10 ` Dmitry Antipov
  2014-09-15  6:38   ` Dmitry Antipov
  2014-09-23 15:52 ` Paul Eggert
  1 sibling, 1 reply; 8+ messages in thread
From: Dmitry Antipov @ 2014-09-14 17:10 UTC (permalink / raw)
  To: Michael Welsh Duggan, Stefan Monnier; +Cc: 18473

On 09/14/2014 06:37 AM, Michael Welsh Duggan wrote:

> With attached foo.el:
>
> emacs -Q -l foo.el
> (testbug 2049)
> C-j
>
> SEGFAULT

Also reproduced in emacs-24 branch (here and below, emacs-24 branch is assumed).

This looks a fundamental bug in eval_sub, probably introduced in r112828.
When compiling with --enable-checking, it gives:

../../emacs-24/src/eval.c:184: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE

(gdb) bt 10
#0  0x000000000056a602 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at ../../emacs-24/src/emacs.c:351
#1  0x00000000005f1d8e in die (msg=0x714b20 "pdl->kind == SPECPDL_BACKTRACE", file=0x714ab8 "../../emacs-24/src/eval.c", line=184)
     at ../../emacs-24/src/alloc.c:6833
#2  0x000000000060c5e6 in set_backtrace_args (pdl=0x1327bc0, args=0x7fffec33e010) at ../../emacs-24/src/eval.c:184
#3  0x0000000000611b76 in eval_sub (form=...) at ../../emacs-24/src/eval.c:2154
#4  0x0000000000611c3d in eval_sub (form=...) at ../../emacs-24/src/eval.c:2170
#5  0x000000000061141b in Feval (form=..., lexical=...) at ../../emacs-24/src/eval.c:2003
#6  0x000000000061347d in Ffuncall (nargs=3, args=0x7fffffffbfa8) at ../../emacs-24/src/eval.c:2818
#7  0x000000000065ce9a in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=1, args=0x7fffffffc7e0)
     at ../../emacs-24/src/bytecode.c:916
#8  0x0000000000613c9b in funcall_lambda (fun=..., nargs=1, arg_vector=0x7fffffffc7d8) at ../../emacs-24/src/eval.c:2983
#9  0x0000000000613633 in Ffuncall (nargs=2, args=0x7fffffffc7d0) at ../../emacs-24/src/eval.c:2864
#10 0x000000000065ce9a in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=1, args=0x7fffffffd050)
     at ../../emacs-24/src/bytecode.c:916

In eval.c:

   2134        else if (XSUBR (fun)->max_args == MANY)
   2135          {
   2136            /* Pass a vector of evaluated arguments.  */
   2137            Lisp_Object *vals;
   2138            ptrdiff_t argnum = 0;
   2139            USE_SAFE_ALLOCA;
   2140
   2141            SAFE_ALLOCA_LISP (vals, XINT (numargs));
   2142
   2143            GCPRO3 (args_left, fun, fun);
   2144            gcpro3.var = vals;
   2145            gcpro3.nvars = 0;
   2146
   2147            while (!NILP (args_left))
   2148              {
   2149                vals[argnum++] = eval_sub (Fcar (args_left));
   2150                args_left = Fcdr (args_left);
   2151                gcpro3.nvars = argnum;
   2152              }
   2153
   2154            set_backtrace_args (specpdl_ptr - 1, vals);
   2155            set_backtrace_nargs (specpdl_ptr - 1, XINT (numargs));
   2156
   2157            val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals);
   2158            UNGCPRO;
   2159            SAFE_FREE ();
   2160          }

At 2141, if numargs is > 2047 (and so allocation size exceeds MAX_ALLOCA on
a 64-bit system), SAFE_ALLOCA_LISP pushes an entry of type SPECPDL_UNWIND to
specpdl stack.  At line 2154, set_backtrace_args modifies this entry assuming
SPECPDL_BACKTRACE.  Oops.

Dmitry





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

* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
  2014-09-14 17:10 ` Dmitry Antipov
@ 2014-09-15  6:38   ` Dmitry Antipov
  2014-09-15 13:09     ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Antipov @ 2014-09-15  6:38 UTC (permalink / raw)
  To: Michael Welsh Duggan, Stefan Monnier; +Cc: 18473

[-- Attachment #1: Type: text/plain, Size: 1469 bytes --]

On 09/14/2014 09:10 PM, Dmitry Antipov wrote:

> In eval.c:
>
>    2134        else if (XSUBR (fun)->max_args == MANY)
>    2135          {
>    2136            /* Pass a vector of evaluated arguments.  */
>    2137            Lisp_Object *vals;
>    2138            ptrdiff_t argnum = 0;
>    2139            USE_SAFE_ALLOCA;
>    2140
>    2141            SAFE_ALLOCA_LISP (vals, XINT (numargs));
>    2142
>    2143            GCPRO3 (args_left, fun, fun);
>    2144            gcpro3.var = vals;
>    2145            gcpro3.nvars = 0;
>    2146
>    2147            while (!NILP (args_left))
>    2148              {
>    2149                vals[argnum++] = eval_sub (Fcar (args_left));
>    2150                args_left = Fcdr (args_left);
>    2151                gcpro3.nvars = argnum;
>    2152              }
>    2153
>    2154            set_backtrace_args (specpdl_ptr - 1, vals);
>    2155            set_backtrace_nargs (specpdl_ptr - 1, XINT (numargs));
>    2156
>    2157            val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals);
>    2158            UNGCPRO;
>    2159            SAFE_FREE ();
>    2160          }
>
> At 2141, if numargs is > 2047 (and so allocation size exceeds MAX_ALLOCA on
> a 64-bit system), SAFE_ALLOCA_LISP pushes an entry of type SPECPDL_UNWIND to
> specpdl stack.  At line 2154, set_backtrace_args modifies this entry assuming
> SPECPDL_BACKTRACE.  Oops.

Michael, try this.  Stefan, please review.

Dmitry



[-- Attachment #2: bug18473.patch --]
[-- Type: text/x-diff, Size: 1487 bytes --]

=== modified file 'src/eval.c'
--- src/eval.c	2014-09-02 06:29:01 +0000
+++ src/eval.c	2014-09-15 06:22:26 +0000
@@ -179,17 +179,11 @@
 /* Functions to modify slots of backtrace records.  */
 
 static void
-set_backtrace_args (union specbinding *pdl, Lisp_Object *args)
+set_backtrace_args (union specbinding *pdl, Lisp_Object *args, ptrdiff_t nargs)
 {
   eassert (pdl->kind == SPECPDL_BACKTRACE);
   pdl->bt.args = args;
-}
-
-static void
-set_backtrace_nargs (union specbinding *pdl, ptrdiff_t n)
-{
-  eassert (pdl->kind == SPECPDL_BACKTRACE);
-  pdl->bt.nargs = n;
+  pdl->bt.nargs = nargs;
 }
 
 static void
@@ -2151,8 +2145,7 @@
 	      gcpro3.nvars = argnum;
 	    }
 
-	  set_backtrace_args (specpdl_ptr - 1, vals);
-	  set_backtrace_nargs (specpdl_ptr - 1, XINT (numargs));
+	  set_backtrace_args (backtrace_top (), vals, XINT (numargs));
 
 	  val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals);
 	  UNGCPRO;
@@ -2173,8 +2166,7 @@
 
 	  UNGCPRO;
 
-	  set_backtrace_args (specpdl_ptr - 1, argvals);
-	  set_backtrace_nargs (specpdl_ptr - 1, XINT (numargs));
+	  set_backtrace_args (backtrace_top (), argvals, XINT (numargs));
 
 	  switch (i)
 	    {
@@ -2919,8 +2911,8 @@
 
   UNGCPRO;
 
-  set_backtrace_args (specpdl_ptr - 1, arg_vector);
-  set_backtrace_nargs (specpdl_ptr - 1, i);
+  set_backtrace_args (backtrace_top (), arg_vector, i);
+
   tem = funcall_lambda (fun, numargs, arg_vector);
 
   /* Do the debug-on-exit now, while arg_vector still exists.  */


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

* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
  2014-09-15  6:38   ` Dmitry Antipov
@ 2014-09-15 13:09     ` Stefan Monnier
  2014-09-15 15:04       ` Dmitry Antipov
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2014-09-15 13:09 UTC (permalink / raw)
  To: Dmitry Antipov; +Cc: 18473

> -	  set_backtrace_args (specpdl_ptr - 1, vals);
> -	  set_backtrace_nargs (specpdl_ptr - 1, XINT (numargs));
> +	  set_backtrace_args (backtrace_top (), vals, XINT (numargs));

I'm not thrilled at the idea of having to call backtrace_top every time,
instead of just using "specpdl_ptr - 1".  I'd much rather compute
specpdl_ptr - 1 before calling USE_SAFE_ALLOCA, for example.

BTW, don't we have the same problem for the subsequent call to
backtrace_debug_on_exit (and this one is worse because it is shared
among all the different kinds of calls, so we *really* don't want to
slow it down).


        Stefan





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

* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
  2014-09-15 13:09     ` Stefan Monnier
@ 2014-09-15 15:04       ` Dmitry Antipov
  2014-09-15 19:15         ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Antipov @ 2014-09-15 15:04 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18473

On 09/15/2014 05:09 PM, Stefan Monnier wrote:

> I'm not thrilled at the idea of having to call backtrace_top every time,
> instead of just using "specpdl_ptr - 1".  I'd much rather compute
> specpdl_ptr - 1 before calling USE_SAFE_ALLOCA, for example.

Hm...this simple fix:

=== modified file 'src/eval.c'
--- src/eval.c	2014-09-02 06:29:01 +0000
+++ src/eval.c	2014-09-15 14:57:18 +0000
@@ -2136,6 +2136,7 @@
  	  /* Pass a vector of evaluated arguments.  */
  	  Lisp_Object *vals;
  	  ptrdiff_t argnum = 0;
+	  union specbinding *pdl = specpdl_ptr - 1;
  	  USE_SAFE_ALLOCA;

  	  SAFE_ALLOCA_LISP (vals, XINT (numargs));
@@ -2151,8 +2152,8 @@
  	      gcpro3.nvars = argnum;
  	    }

-	  set_backtrace_args (specpdl_ptr - 1, vals);
-	  set_backtrace_nargs (specpdl_ptr - 1, XINT (numargs));
+	  set_backtrace_args (pdl, vals);
+	  set_backtrace_nargs (pdl, XINT (numargs));

  	  val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals);
  	  UNGCPRO;

causes bootstrap crash (with emacs-24).  Hard to explain why, huh?

> BTW, don't we have the same problem for the subsequent call to
> backtrace_debug_on_exit (and this one is worse because it is shared
> among all the different kinds of calls, so we *really* don't want to
> slow it down).

IIUC this applies only to apply_lambda, where we call to backtrace_debug_on_exit
between SAFE_ALLOCA_LISP and SAFE_FREE.

Dmitry





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

* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
  2014-09-15 15:04       ` Dmitry Antipov
@ 2014-09-15 19:15         ` Stefan Monnier
  2014-09-16  4:19           ` Dmitry Antipov
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2014-09-15 19:15 UTC (permalink / raw)
  To: Dmitry Antipov; +Cc: 18473

> causes bootstrap crash (with emacs-24).  Hard to explain why, huh?

The PDL stack is in a vector that gets resized (typically by
realloc+memcpy) occasionally.


        Stefan





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

* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
  2014-09-15 19:15         ` Stefan Monnier
@ 2014-09-16  4:19           ` Dmitry Antipov
  0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Antipov @ 2014-09-16  4:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 18473

On 09/15/2014 11:15 PM, Stefan Monnier wrote:

> The PDL stack is in a vector that gets resized (typically by
> realloc+memcpy) occasionally.

Yes, I forgot about it :-(.

An issue should be fixed in emacs-24 branch, revision 117502.

Dmitry






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

* bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors
  2014-09-14  2:37 bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors Michael Welsh Duggan
  2014-09-14 17:10 ` Dmitry Antipov
@ 2014-09-23 15:52 ` Paul Eggert
  1 sibling, 0 replies; 8+ messages in thread
From: Paul Eggert @ 2014-09-23 15:52 UTC (permalink / raw)
  To: Dmitry Antipov; +Cc: 18473-done

Thanks for fixing the bug.





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

end of thread, other threads:[~2014-09-23 15:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-14  2:37 bug#18473: 24.4.50; SEGFAULT when vconcatting more than 2048 vectors Michael Welsh Duggan
2014-09-14 17:10 ` Dmitry Antipov
2014-09-15  6:38   ` Dmitry Antipov
2014-09-15 13:09     ` Stefan Monnier
2014-09-15 15:04       ` Dmitry Antipov
2014-09-15 19:15         ` Stefan Monnier
2014-09-16  4:19           ` Dmitry Antipov
2014-09-23 15:52 ` Paul Eggert

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

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

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