unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
@ 2018-05-06 13:34 Basil L. Contovounesios
  2018-05-06 14:14 ` Noam Postavsky
  0 siblings, 1 reply; 14+ messages in thread
From: Basil L. Contovounesios @ 2018-05-06 13:34 UTC (permalink / raw)
  To: 31373

[-- Attachment #1: GDB Backtrace --]
[-- Type: text/plain, Size: 45602 bytes --]

#0  0x0000000000565112 in x_frame_list_z_order (dpy=0x4744990, window=227) at xfns.c:5306
        frame = XIL(0xeab7b5)
        tail = XIL(0xe98e33)
        root = 227
        parent = 0
        children = 0x4889e00
        nchildren = 14
        i = 0
        frames = XIL(0)
#1  0x0000000000565402 in Fx_frame_list_z_order (terminal=XIL(0)) at xfns.c:5343
        dpyinfo = 0x4743550
        dpy = 0x4744990
        window = 227
#2  0x0000000000643cce in funcall_subr (subr=0x9e3ae0 <Sx_frame_list_z_order>, numargs=1, args=0x7ffe706a0940) at eval.c:2844
        internal_argbuf = 
          {XIL(0x9e3ae0), XIL(0x7ffe706a0878), XIL(0x57eea5), XIL(0xa00e0a040), XIL(0x9e3ae5), XIL(0x7ffe706a0898), XIL(0x9e3ae0), XIL(0x7ffe706a0890)}
        internal_args = 0x7ffe706a0940
#3  0x00000000006437ff in Ffuncall (nargs=2, args=0x7ffe706a0938) at eval.c:2769
        fun = XIL(0x9e3ae5)
        original_fun = XIL(0xd9d10)
        funcar = XIL(0x57f2d5)
        numargs = 1
        val = XIL(0x7ffe706a08f0)
        count = 17
#4  0x0000000000699179 in exec_byte_code (bytestr=XIL(0xaea5a4), vector=XIL(0xaea5c5), maxdepth=make_number(4), args_template=make_number(256), nargs=0, args=0x7ffe706a0d50) at bytecode.c:629
        op = 1
        type = CATCHER
        targets = 
          {0x69c0ef <exec_byte_code+15682>, 0x69c117 <exec_byte_code+15722>, 0x69c119 <exec_byte_code+15724>, 0x69c11b <exec_byte_code+15726>, 0x69c11d <exec_byte_code+15728>, 0x69c11d <exec_byte_code+15728>, 0x69c182 <exec_byte_code+15829>, 0x69c1f6 <exec_byte_code+15945>, 0x6988b3 <exec_byte_code+1286>, 0x6988b5 <exec_byte_code+1288>, 0x6988b7 <exec_byte_code+1290>, 0x6988b9 <exec_byte_code+1292>, 0x6988bb <exec_byte_code+1294>, 0x6988bb <exec_byte_code+1294>, 0x6988c1 <exec_byte_code+1300>, 0x698882 <exec_byte_code+1237>, 0x698d87 <exec_byte_code+2522>, 0x698d89 <exec_byte_code+2524>, 0x698d8b <exec_byte_code+2526>, 0x698d8d <exec_byte_code+2528>, 0x698d8f <exec_byte_code+2530>, 0x698d8f <exec_byte_code+2530>, 0x698dc4 <exec_byte_code+2583>, 0x698d95 <exec_byte_code+2536>, 0x699096 <exec_byte_code+3305>, 0x699098 <exec_byte_code+3307>, 0x69909a <exec_byte_code+3309>, 0x69909c <exec_byte_code+3311>, 0x69909e <exec_byte_code+3313>, 0x69909e <exec_byte_code+3313>, 0x699050 <exec_byte_code+3235>, 0x699067 <exec_byte_code+3258>, 0x699146 <exec_byte_code+3481>, 0x699148 <exec_byte_code+3483>, 0x69914a <exec_byte_code+3485>, 0x69914c <exec_byte_code+3487>, 0x69914e <exec_byte_code+3489>, 0x69914e <exec_byte_code+3489>, 0x699100 <exec_byte_code+3411>, 0x699117 <exec_byte_code+3434>, 0x6991fb <exec_byte_code+3662>, 0x6991fd <exec_byte_code+3664>, 0x6991ff <exec_byte_code+3666>, 0x699201 <exec_byte_code+3668>, 0x699203 <exec_byte_code+3670>, 0x699203 <exec_byte_code+3670>, 0x6991b5 <exec_byte_code+3592>, 0x6991cc <exec_byte_code+3615>, 0x699a61 <exec_byte_code+5812>, 0x699947 <exec_byte_code+5530>, 0x69993e <exec_byte_code+5521>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x699c92 <exec_byte_code+6373>, 0x699db1 <exec_byte_code+6660>, 0x699e1b <exec_byte_code+6766>, 0x699e86 <exec_byte_code+6873>, 0x699ef2 <exec_byte_code+6981>, 0x698bda <exec_byte_code+2093>, 0x698c5f <exec_byte_code+2226>, 0x699f73 <exec_byte_code+7110>, 0x698b1b <exec_byte_code+1902>, 0x698cc7 <exec_byte_code+2330>, 0x699fe5 <exec_byte_code+7224>, 0x69a04d <exec_byte_code+7328>, 0x69a095 <exec_byte_code+7400>, 0x69a0fd <exec_byte_code+7504>, 0x69a14f <exec_byte_code+7586>, 0x69a220 <exec_byte_code+7795>, 0x69a268 <exec_byte_code+7867>, 0x69a2d0 <exec_byte_code+7971>, 0x69a355 <exec_byte_code+8104>, 0x69a39d <exec_byte_code+8176>, 0x69a3e5 <exec_byte_code+8248>, 0x69a44d <exec_byte_code+8352>, 0x69a4b5 <exec_byte_code+8456>, 0x69a51d <exec_byte_code+8560>, 0x69a5a2 <exec_byte_code+8693>, 0x69a5f4 <exec_byte_code+8775>, 0x69a646 <exec_byte_code+8857>, 0x69a717 <exec_byte_code+9066>, 0x69a791 <exec_byte_code+9188>, 0x69a80b <exec_byte_code+9310>, 0x69a9d7 <exec_byte_code+9770>, 0x69aa44 <exec_byte_code+9879>, 0x69aab1 <exec_byte_code+9988>, 0x69ab1e <exec_byte_code+10097>, 0x69ab8b <exec_byte_code+10206>, 0x69abdd <exec_byte_code+10288>, 0x69ac5b <exec_byte_code+10414>, 0x69acad <exec_byte_code+10496>, 0x69acff <exec_byte_code+10578>, 0x69ad51 <exec_byte_code+10660>, 0x69ae5d <exec_byte_code+10928>, 0x6997c1 <exec_byte_code+5140>, 0x69aebb <exec_byte_code+11022>, 0x69af03 <exec_byte_code+11094>, 0x69afcf <exec_byte_code+11298>, 0x69b038 <exec_byte_code+11403>, 0x69b096 <exec_byte_code+11497>, 0x69b0de <exec_byte_code+11569>, 0x69b124 <exec_byte_code+11639>, 0x69b16a <exec_byte_code+11709>, 0x69b1b8 <exec_byte_code+11787>, 0x69c0ef <exec_byte_code+15682>, 0x69b210 <exec_byte_code+11875>, 0x69b256 <exec_byte_code+11945>, 0x69b29c <exec_byte_code+12015>, 0x69b2e2 <exec_byte_code+12085>, 0x69b328 <exec_byte_code+12155>, 0x69b36e <exec_byte_code+12225>, 0x6997c1 <exec_byte_code+5140>, 0x69c0ef <exec_byte_code+15682>, 0x69b3b6 <exec_byte_code+12297>, 0x69b40b <exec_byte_code+12382>, 0x69b453 <exec_byte_code+12454>, 0x69b49b <exec_byte_code+12526>, 0x69b503 <exec_byte_code+12630>, 0x69b56b <exec_byte_code+12734>, 0x69b5b3 <exec_byte_code+12806>, 0x69b6cd <exec_byte_code+13088>, 0x69b735 <exec_byte_code+13192>, 0x69b79d <exec_byte_code+13296>, 0x69b805 <exec_byte_code+13400>, 0x69b84b <exec_byte_code+13470>, 0x69c0ef <exec_byte_code+15682>, 0x6996f5 <exec_byte_code+4936>, 0x6992b2 <exec_byte_code+3845>, 0x698a8c <exec_byte_code+1759>, 0x699365 <exec_byte_code+4024>, 0x6993e6 <exec_byte_code+4153>, 0x699464 <exec_byte_code+4279>, 0x6996a9 <exec_byte_code+4860>, 0x6996be <exec_byte_code+4881>, 0x698ffd <exec_byte_code+3152>, 0x699778 <exec_byte_code+5067>, 0x6997f8 <exec_byte_code+5195>, 0x699886 <exec_byte_code+5337>, 0x6998cf <exec_byte_code+5410>, 0x699aad <exec_byte_code+5888>, 0x699b2a <exec_byte_code+6013>, 0x699baf <exec_byte_code+6146>, 0x699c0f <exec_byte_code+6242>, 0x699264 <exec_byte_code+3767>, 0x69b893 <exec_byte_code+13542>, 0x69b918 <exec_byte_code+13675>, 0x69b960 <exec_byte_code+13747>, 0x69b9a8 <exec_byte_code+13819>, 0x69b9f0 <exec_byte_code+13891>, 0x69ba38 <exec_byte_code+13963>, 0x69baa0 <exec_byte_code+14067>, 0x69bb08 <exec_byte_code+14171>, 0x69bb70 <exec_byte_code+14275>, 0x69bbd8 <exec_byte_code+14379>, 0x69bd4e <exec_byte_code+14753>, 0x69bdb6 <exec_byte_code+14857>, 0x69be1e <exec_byte_code+14961>, 0x69be66 <exec_byte_code+15033>, 0x69bece <exec_byte_code+15137>, 0x69bf36 <exec_byte_code+15241>, 0x69bf7e <exec_byte_code+15313>, 0x69bfc6 <exec_byte_code+15385>, 0x69ada3 <exec_byte_code+10742>, 0x69adf5 <exec_byte_code+10824>, 0x69c018 <exec_byte_code+15467>, 0x69c084 <exec_byte_code+15575>, 0x69c0ef <exec_byte_code+15682>, 0x6994e2 <exec_byte_code+4405>, 0x6994ff <exec_byte_code+4434>, 0x69956b <exec_byte_code+4542>, 0x6995d7 <exec_byte_code+4650>, 0x699640 <exec_byte_code+4755>, 0x69a1a1 <exec_byte_code+7668>, 0x69a698 <exec_byte_code+8939>, 0x69af50 <exec_byte_code+11171>, 0x69c289 <exec_byte_code+16092>, 0x69c2fe <exec_byte_code+16209>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c394 <exec_byte_code+16359>, 0x69c41b <exec_byte_code+16494>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c630 <exec_byte_code+17027> <repeats 64 times>}
        const_length = 6
        bytestr_length = 29
        vectorp = 0xaea5c8 <pure+1056232>
        quitcounter = 1 '\001'
        stack_items = 5
        sa_avail = 16315
        sa_count = 17
        sa_must_free = false
        stack_base = 0x7ffe706a0920
        stack_lim = 0x7ffe706a0948
        top = 0x7ffe706a0938
        void_stack_lim = 0x7ffe706a0948
        bytestr_data = 0x7ffe706a0948 "\300\001!\211\301\267\202\033"
        pc = 0x7ffe706a0954 "\202\034"
        count = 17
        result = XIL(0x7ffe706a0bc0)
#5  0x00000000006443fa in funcall_lambda (fun=XIL(0xaea575), nargs=0, arg_vector=0x7ffe706a0d50)
    at eval.c:2970
        size = 5
        val = make_number(0)
        syms_left = make_number(256)
        next = XIL(0)
        lexenv = XIL(0x7ffe706a0d00)
        count = 17
        i = 6406638
        optional = false
        rest = false
        previous_optional_or_rest = 127
#6  0x000000000064407c in apply_lambda (fun=XIL(0xaea575), args=XIL(0), count=16) at eval.c:2906
        args_left = XIL(0)
        i = 0
        numargs = 0
        arg_vector = 0x7ffe706a0d50
        tem = XIL(0x57eea5)
        sa_avail = 16384
        sa_count = 17
        sa_must_free = false
#7  0x0000000000642265 in eval_sub (form=XIL(0x48ffab3)) at eval.c:2279
        fun = XIL(0xaea575)
        val = XIL(0x12fa280)
        original_fun = XIL(0xa0b600)
        original_args = XIL(0)
        funcar = XIL(0x645371)
        count = 16
        argvals = 
          {XIL(0), XIL(0xe0a040), XIL(0xe09770), XIL(0xe9d400), XIL(0x7ffe706a0e70), XIL(0xe11a20), XIL(0x5807f9), XIL(0)}
#8  0x00000000006415d4 in Feval (form=XIL(0x48ffab3), lexical=XIL(0)) at eval.c:2054
        count = 15
#9  0x0000000000643cef in funcall_subr (subr=0xd901c0 <Seval>, numargs=2, args=0x7ffe706a10b0)
    at eval.c:2846
        internal_argbuf = 
          {XIL(0xd901c0), XIL(0x7ffe706a0f98), XIL(0x57eea5), XIL(0xa00e0a040), XIL(0xd901c5), XIL(0x7ffe706a0fb8), XIL(0xd901c0), XIL(0x7ffe706a0fb0)}
        internal_args = 0x7ffe706a10b0
#10 0x00000000006437ff in Ffuncall (nargs=3, args=0x7ffe706a10a8) at eval.c:2769
        fun = XIL(0xd901c5)
        original_fun = XIL(0x5370)
        funcar = XIL(0x61f10b)
        numargs = 2
        val = XIL(0x7ffe706a1030)
        count = 14
#11 0x0000000000699179 in exec_byte_code (bytestr=XIL(0xb44b6c), vector=XIL(0xb44b8d), maxdepth=make_number(16), args_template=make_number(257), nargs=1, args=0x7ffe706a1560) at bytecode.c:629
        op = 2
        type = (CONDITION_CASE | unknown: 5762724)
        targets = 
          {0x69c0ef <exec_byte_code+15682>, 0x69c117 <exec_byte_code+15722>, 0x69c119 <exec_byte_code+15724>, 0x69c11b <exec_byte_code+15726>, 0x69c11d <exec_byte_code+15728>, 0x69c11d <exec_byte_code+15728>, 0x69c182 <exec_byte_code+15829>, 0x69c1f6 <exec_byte_code+15945>, 0x6988b3 <exec_byte_code+1286>, 0x6988b5 <exec_byte_code+1288>, 0x6988b7 <exec_byte_code+1290>, 0x6988b9 <exec_byte_code+1292>, 0x6988bb <exec_byte_code+1294>, 0x6988bb <exec_byte_code+1294>, 0x6988c1 <exec_byte_code+1300>, 0x698882 <exec_byte_code+1237>, 0x698d87 <exec_byte_code+2522>, 0x698d89 <exec_byte_code+2524>, 0x698d8b <exec_byte_code+2526>, 0x698d8d <exec_byte_code+2528>, 0x698d8f <exec_byte_code+2530>, 0x698d8f <exec_byte_code+2530>, 0x698dc4 <exec_byte_code+2583>, 0x698d95 <exec_byte_code+2536>, 0x699096 <exec_byte_code+3305>, 0x699098 <exec_byte_code+3307>, 0x69909a <exec_byte_code+3309>, 0x69909c <exec_byte_code+3311>, 0x69909e <exec_byte_code+3313>, 0x69909e <exec_byte_code+3313>, 0x699050 <exec_byte_code+3235>, 0x699067 <exec_byte_code+3258>, 0x699146 <exec_byte_code+3481>, 0x699148 <exec_byte_code+3483>, 0x69914a <exec_byte_code+3485>, 0x69914c <exec_byte_code+3487>, 0x69914e <exec_byte_code+3489>, 0x69914e <exec_byte_code+3489>, 0x699100 <exec_byte_code+3411>, 0x699117 <exec_byte_code+3434>, 0x6991fb <exec_byte_code+3662>, 0x6991fd <exec_byte_code+3664>, 0x6991ff <exec_byte_code+3666>, 0x699201 <exec_byte_code+3668>, 0x699203 <exec_byte_code+3670>, 0x699203 <exec_byte_code+3670>, 0x6991b5 <exec_byte_code+3592>, 0x6991cc <exec_byte_code+3615>, 0x699a61 <exec_byte_code+5812>, 0x699947 <exec_byte_code+5530>, 0x69993e <exec_byte_code+5521>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x699c92 <exec_byte_code+6373>, 0x699db1 <exec_byte_code+6660>, 0x699e1b <exec_byte_code+6766>, 0x699e86 <exec_byte_code+6873>, 0x699ef2 <exec_byte_code+6981>, 0x698bda <exec_byte_code+2093>, 0x698c5f <exec_byte_code+2226>, 0x699f73 <exec_byte_code+7110>, 0x698b1b <exec_byte_code+1902>, 0x698cc7 <exec_byte_code+2330>, 0x699fe5 <exec_byte_code+7224>, 0x69a04d <exec_byte_code+7328>, 0x69a095 <exec_byte_code+7400>, 0x69a0fd <exec_byte_code+7504>, 0x69a14f <exec_byte_code+7586>, 0x69a220 <exec_byte_code+7795>, 0x69a268 <exec_byte_code+7867>, 0x69a2d0 <exec_byte_code+7971>, 0x69a355 <exec_byte_code+8104>, 0x69a39d <exec_byte_code+8176>, 0x69a3e5 <exec_byte_code+8248>, 0x69a44d <exec_byte_code+8352>, 0x69a4b5 <exec_byte_code+8456>, 0x69a51d <exec_byte_code+8560>, 0x69a5a2 <exec_byte_code+8693>, 0x69a5f4 <exec_byte_code+8775>, 0x69a646 <exec_byte_code+8857>, 0x69a717 <exec_byte_code+9066>, 0x69a791 <exec_byte_code+9188>, 0x69a80b <exec_byte_code+9310>, 0x69a9d7 <exec_byte_code+9770>, 0x69aa44 <exec_byte_code+9879>, 0x69aab1 <exec_byte_code+9988>, 0x69ab1e <exec_byte_code+10097>, 0x69ab8b <exec_byte_code+10206>, 0x69abdd <exec_byte_code+10288>, 0x69ac5b <exec_byte_code+10414>, 0x69acad <exec_byte_code+10496>, 0x69acff <exec_byte_code+10578>, 0x69ad51 <exec_byte_code+10660>, 0x69ae5d <exec_byte_code+10928>, 0x6997c1 <exec_byte_code+5140>, 0x69aebb <exec_byte_code+11022>, 0x69af03 <exec_byte_code+11094>, 0x69afcf <exec_byte_code+11298>, 0x69b038 <exec_byte_code+11403>, 0x69b096 <exec_byte_code+11497>, 0x69b0de <exec_byte_code+11569>, 0x69b124 <exec_byte_code+11639>, 0x69b16a <exec_byte_code+11709>, 0x69b1b8 <exec_byte_code+11787>, 0x69c0ef <exec_byte_code+15682>, 0x69b210 <exec_byte_code+11875>, 0x69b256 <exec_byte_code+11945>, 0x69b29c <exec_byte_code+12015>, 0x69b2e2 <exec_byte_code+12085>, 0x69b328 <exec_byte_code+12155>, 0x69b36e <exec_byte_code+12225>, 0x6997c1 <exec_byte_code+5140>, 0x69c0ef <exec_byte_code+15682>, 0x69b3b6 <exec_byte_code+12297>, 0x69b40b <exec_byte_code+12382>, 0x69b453 <exec_byte_code+12454>, 0x69b49b <exec_byte_code+12526>, 0x69b503 <exec_byte_code+12630>, 0x69b56b <exec_byte_code+12734>, 0x69b5b3 <exec_byte_code+12806>, 0x69b6cd <exec_byte_code+13088>, 0x69b735 <exec_byte_code+13192>, 0x69b79d <exec_byte_code+13296>, 0x69b805 <exec_byte_code+13400>, 0x69b84b <exec_byte_code+13470>, 0x69c0ef <exec_byte_code+15682>, 0x6996f5 <exec_byte_code+4936>, 0x6992b2 <exec_byte_code+3845>, 0x698a8c <exec_byte_code+1759>, 0x699365 <exec_byte_code+4024>, 0x6993e6 <exec_byte_code+4153>, 0x699464 <exec_byte_code+4279>, 0x6996a9 <exec_byte_code+4860>, 0x6996be <exec_byte_code+4881>, 0x698ffd <exec_byte_code+3152>, 0x699778 <exec_byte_code+5067>, 0x6997f8 <exec_byte_code+5195>, 0x699886 <exec_byte_code+5337>, 0x6998cf <exec_byte_code+5410>, 0x699aad <exec_byte_code+5888>, 0x699b2a <exec_byte_code+6013>, 0x699baf <exec_byte_code+6146>, 0x699c0f <exec_byte_code+6242>, 0x699264 <exec_byte_code+3767>, 0x69b893 <exec_byte_code+13542>, 0x69b918 <exec_byte_code+13675>, 0x69b960 <exec_byte_code+13747>, 0x69b9a8 <exec_byte_code+13819>, 0x69b9f0 <exec_byte_code+13891>, 0x69ba38 <exec_byte_code+13963>, 0x69baa0 <exec_byte_code+14067>, 0x69bb08 <exec_byte_code+14171>, 0x69bb70 <exec_byte_code+14275>, 0x69bbd8 <exec_byte_code+14379>, 0x69bd4e <exec_byte_code+14753>, 0x69bdb6 <exec_byte_code+14857>, 0x69be1e <exec_byte_code+14961>, 0x69be66 <exec_byte_code+15033>, 0x69bece <exec_byte_code+15137>, 0x69bf36 <exec_byte_code+15241>, 0x69bf7e <exec_byte_code+15313>, 0x69bfc6 <exec_byte_code+15385>, 0x69ada3 <exec_byte_code+10742>, 0x69adf5 <exec_byte_code+10824>, 0x69c018 <exec_byte_code+15467>, 0x69c084 <exec_byte_code+15575>, 0x69c0ef <exec_byte_code+15682>, 0x6994e2 <exec_byte_code+4405>, 0x6994ff <exec_byte_code+4434>, 0x69956b <exec_byte_code+4542>, 0x6995d7 <exec_byte_code+4650>, 0x699640 <exec_byte_code+4755>, 0x69a1a1 <exec_byte_code+7668>, 0x69a698 <exec_byte_code+8939>, 0x69af50 <exec_byte_code+11171>, 0x69c289 <exec_byte_code+16092>, 0x69c2fe <exec_byte_code+16209>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c394 <exec_byte_code+16359>, 0x69c41b <exec_byte_code+16494>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c630 <exec_byte_code+17027> <repeats 64 times>}
        const_length = 7
        bytestr_length = 43
        vectorp = 0xb44b90 <pure+1426352>
        quitcounter = 1 '\001'
        stack_items = 17
        sa_avail = 16205
        sa_count = 14
        sa_must_free = false
        stack_base = 0x7ffe706a1040
        stack_lim = 0x7ffe706a10c8
        top = 0x7ffe706a10a8
        void_stack_lim = 0x7ffe706a10c8
        bytestr_data = 0x7ffe706a10c8 "\301\001!\211@\001A\211@\001A\211@\001A\001\004\006\a\302\303\304\305 !\b\"\002\203#"
        pc = 0x7ffe706a10e3 "\002\203#"
        count = 14
        result = make_number(166)
#12 0x00000000006443fa in funcall_lambda (fun=XIL(0xb44b3d), nargs=1, arg_vector=0x7ffe706a1558)
    at eval.c:2970
        size = 5
        val = XIL(0x7ffe706a14b8)
        syms_left = make_number(257)
        next = XIL(0x1200e0a040)
        lexenv = XIL(0x47c5d45)
        count = 14
        i = 0
        optional = false
        rest = false
        previous_optional_or_rest = false
#13 0x0000000000643843 in Ffuncall (nargs=2, args=0x7ffe706a1550) at eval.c:2771
        fun = XIL(0xb44b3d)
        original_fun = XIL(0xa2fe00)
        funcar = XIL(0x6456ac)
        numargs = 1
        val = XIL(0x7ffe706a1530)
        count = 13
#14 0x0000000000699179 in exec_byte_code (bytestr=XIL(0xb44e0c), vector=XIL(0xb44e2d), maxdepth=make_number(4), args_template=make_number(257), nargs=1, args=0x7ffe706a19f0) at bytecode.c:629
        op = 1
        type = (CONDITION_CASE | CATCHER_ALL | unknown: 75421312)
        targets = 
          {0x69c0ef <exec_byte_code+15682>, 0x69c117 <exec_byte_code+15722>, 0x69c119 <exec_byte_code+15724>, 0x69c11b <exec_byte_code+15726>, 0x69c11d <exec_byte_code+15728>, 0x69c11d <exec_byte_code+15728>, 0x69c182 <exec_byte_code+15829>, 0x69c1f6 <exec_byte_code+15945>, 0x6988b3 <exec_byte_code+1286>, 0x6988b5 <exec_byte_code+1288>, 0x6988b7 <exec_byte_code+1290>, 0x6988b9 <exec_byte_code+1292>, 0x6988bb <exec_byte_code+1294>, 0x6988bb <exec_byte_code+1294>, 0x6988c1 <exec_byte_code+1300>, 0x698882 <exec_byte_code+1237>, 0x698d87 <exec_byte_code+2522>, 0x698d89 <exec_byte_code+2524>, 0x698d8b <exec_byte_code+2526>, 0x698d8d <exec_byte_code+2528>, 0x698d8f <exec_byte_code+2530>, 0x698d8f <exec_byte_code+2530>, 0x698dc4 <exec_byte_code+2583>, 0x698d95 <exec_byte_code+2536>, 0x699096 <exec_byte_code+3305>, 0x699098 <exec_byte_code+3307>, 0x69909a <exec_byte_code+3309>, 0x69909c <exec_byte_code+3311>, 0x69909e <exec_byte_code+3313>, 0x69909e <exec_byte_code+3313>, 0x699050 <exec_byte_code+3235>, 0x699067 <exec_byte_code+3258>, 0x699146 <exec_byte_code+3481>, 0x699148 <exec_byte_code+3483>, 0x69914a <exec_byte_code+3485>, 0x69914c <exec_byte_code+3487>, 0x69914e <exec_byte_code+3489>, 0x69914e <exec_byte_code+3489>, 0x699100 <exec_byte_code+3411>, 0x699117 <exec_byte_code+3434>, 0x6991fb <exec_byte_code+3662>, 0x6991fd <exec_byte_code+3664>, 0x6991ff <exec_byte_code+3666>, 0x699201 <exec_byte_code+3668>, 0x699203 <exec_byte_code+3670>, 0x699203 <exec_byte_code+3670>, 0x6991b5 <exec_byte_code+3592>, 0x6991cc <exec_byte_code+3615>, 0x699a61 <exec_byte_code+5812>, 0x699947 <exec_byte_code+5530>, 0x69993e <exec_byte_code+5521>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x699c92 <exec_byte_code+6373>, 0x699db1 <exec_byte_code+6660>, 0x699e1b <exec_byte_code+6766>, 0x699e86 <exec_byte_code+6873>, 0x699ef2 <exec_byte_code+6981>, 0x698bda <exec_byte_code+2093>, 0x698c5f <exec_byte_code+2226>, 0x699f73 <exec_byte_code+7110>, 0x698b1b <exec_byte_code+1902>, 0x698cc7 <exec_byte_code+2330>, 0x699fe5 <exec_byte_code+7224>, 0x69a04d <exec_byte_code+7328>, 0x69a095 <exec_byte_code+7400>, 0x69a0fd <exec_byte_code+7504>, 0x69a14f <exec_byte_code+7586>, 0x69a220 <exec_byte_code+7795>, 0x69a268 <exec_byte_code+7867>, 0x69a2d0 <exec_byte_code+7971>, 0x69a355 <exec_byte_code+8104>, 0x69a39d <exec_byte_code+8176>, 0x69a3e5 <exec_byte_code+8248>, 0x69a44d <exec_byte_code+8352>, 0x69a4b5 <exec_byte_code+8456>, 0x69a51d <exec_byte_code+8560>, 0x69a5a2 <exec_byte_code+8693>, 0x69a5f4 <exec_byte_code+8775>, 0x69a646 <exec_byte_code+8857>, 0x69a717 <exec_byte_code+9066>, 0x69a791 <exec_byte_code+9188>, 0x69a80b <exec_byte_code+9310>, 0x69a9d7 <exec_byte_code+9770>, 0x69aa44 <exec_byte_code+9879>, 0x69aab1 <exec_byte_code+9988>, 0x69ab1e <exec_byte_code+10097>, 0x69ab8b <exec_byte_code+10206>, 0x69abdd <exec_byte_code+10288>, 0x69ac5b <exec_byte_code+10414>, 0x69acad <exec_byte_code+10496>, 0x69acff <exec_byte_code+10578>, 0x69ad51 <exec_byte_code+10660>, 0x69ae5d <exec_byte_code+10928>, 0x6997c1 <exec_byte_code+5140>, 0x69aebb <exec_byte_code+11022>, 0x69af03 <exec_byte_code+11094>, 0x69afcf <exec_byte_code+11298>, 0x69b038 <exec_byte_code+11403>, 0x69b096 <exec_byte_code+11497>, 0x69b0de <exec_byte_code+11569>, 0x69b124 <exec_byte_code+11639>, 0x69b16a <exec_byte_code+11709>, 0x69b1b8 <exec_byte_code+11787>, 0x69c0ef <exec_byte_code+15682>, 0x69b210 <exec_byte_code+11875>, 0x69b256 <exec_byte_code+11945>, 0x69b29c <exec_byte_code+12015>, 0x69b2e2 <exec_byte_code+12085>, 0x69b328 <exec_byte_code+12155>, 0x69b36e <exec_byte_code+12225>, 0x6997c1 <exec_byte_code+5140>, 0x69c0ef <exec_byte_code+15682>, 0x69b3b6 <exec_byte_code+12297>, 0x69b40b <exec_byte_code+12382>, 0x69b453 <exec_byte_code+12454>, 0x69b49b <exec_byte_code+12526>, 0x69b503 <exec_byte_code+12630>, 0x69b56b <exec_byte_code+12734>, 0x69b5b3 <exec_byte_code+12806>, 0x69b6cd <exec_byte_code+13088>, 0x69b735 <exec_byte_code+13192>, 0x69b79d <exec_byte_code+13296>, 0x69b805 <exec_byte_code+13400>, 0x69b84b <exec_byte_code+13470>, 0x69c0ef <exec_byte_code+15682>, 0x6996f5 <exec_byte_code+4936>, 0x6992b2 <exec_byte_code+3845>, 0x698a8c <exec_byte_code+1759>, 0x699365 <exec_byte_code+4024>, 0x6993e6 <exec_byte_code+4153>, 0x699464 <exec_byte_code+4279>, 0x6996a9 <exec_byte_code+4860>, 0x6996be <exec_byte_code+4881>, 0x698ffd <exec_byte_code+3152>, 0x699778 <exec_byte_code+5067>, 0x6997f8 <exec_byte_code+5195>, 0x699886 <exec_byte_code+5337>, 0x6998cf <exec_byte_code+5410>, 0x699aad <exec_byte_code+5888>, 0x699b2a <exec_byte_code+6013>, 0x699baf <exec_byte_code+6146>, 0x699c0f <exec_byte_code+6242>, 0x699264 <exec_byte_code+3767>, 0x69b893 <exec_byte_code+13542>, 0x69b918 <exec_byte_code+13675>, 0x69b960 <exec_byte_code+13747>, 0x69b9a8 <exec_byte_code+13819>, 0x69b9f0 <exec_byte_code+13891>, 0x69ba38 <exec_byte_code+13963>, 0x69baa0 <exec_byte_code+14067>, 0x69bb08 <exec_byte_code+14171>, 0x69bb70 <exec_byte_code+14275>, 0x69bbd8 <exec_byte_code+14379>, 0x69bd4e <exec_byte_code+14753>, 0x69bdb6 <exec_byte_code+14857>, 0x69be1e <exec_byte_code+14961>, 0x69be66 <exec_byte_code+15033>, 0x69bece <exec_byte_code+15137>, 0x69bf36 <exec_byte_code+15241>, 0x69bf7e <exec_byte_code+15313>, 0x69bfc6 <exec_byte_code+15385>, 0x69ada3 <exec_byte_code+10742>, 0x69adf5 <exec_byte_code+10824>, 0x69c018 <exec_byte_code+15467>, 0x69c084 <exec_byte_code+15575>, 0x69c0ef <exec_byte_code+15682>, 0x6994e2 <exec_byte_code+4405>, 0x6994ff <exec_byte_code+4434>, 0x69956b <exec_byte_code+4542>, 0x6995d7 <exec_byte_code+4650>, 0x699640 <exec_byte_code+4755>, 0x69a1a1 <exec_byte_code+7668>, 0x69a698 <exec_byte_code+8939>, 0x69af50 <exec_byte_code+11171>, 0x69c289 <exec_byte_code+16092>, 0x69c2fe <exec_byte_code+16209>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c394 <exec_byte_code+16359>, 0x69c41b <exec_byte_code+16494>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c630 <exec_byte_code+17027> <repeats 64 times>}
        const_length = 4
        bytestr_length = 29
        vectorp = 0xb44e30 <pure+1427024>
        quitcounter = 1 '\001'
        stack_items = 5
        sa_avail = 16315
        sa_count = 12
        sa_must_free = false
        stack_base = 0x7ffe706a1540
        stack_lim = 0x7ffe706a1568
        top = 0x7ffe706a1550
        void_stack_lim = 0x7ffe706a1568
        bytestr_data = 0x7ffe706a1568 "\b\204\b"
        pc = 0x7ffe706a1575 "\n)B\211A\t=\204\032"
        count = 12
        result = XIL(0x7ffe706a1810)
#15 0x00000000006443fa in funcall_lambda (fun=XIL(0xb44dcd), nargs=1, arg_vector=0x7ffe706a19e8)
    at eval.c:2970
        size = 6
        val = XIL(0x7ffe706a1948)
        syms_left = make_number(257)
        next = XIL(0x1200e0a040)
        lexenv = XIL(0x57eea5)
        count = 12
        i = 0
        optional = false
        rest = false
        previous_optional_or_rest = false
#16 0x0000000000643843 in Ffuncall (nargs=2, args=0x7ffe706a19e0) at eval.c:2771
        fun = XIL(0xb44dcd)
        original_fun = XIL(0x4e28e0)
        funcar = XIL(0xe0a040)
        numargs = 1
        val = XIL(0xc270)
        count = 11
#17 0x0000000000699179 in exec_byte_code (bytestr=XIL(0xb4432c), vector=XIL(0xb4434d), maxdepth=make_number(3), args_template=make_number(256), nargs=1, args=0x7ffe706a1f88) at bytecode.c:629
        op = 1
        type = (unknown: 53184)
        targets = 
          {0x69c0ef <exec_byte_code+15682>, 0x69c117 <exec_byte_code+15722>, 0x69c119 <exec_byte_code+15724>, 0x69c11b <exec_byte_code+15726>, 0x69c11d <exec_byte_code+15728>, 0x69c11d <exec_byte_code+15728>, 0x69c182 <exec_byte_code+15829>, 0x69c1f6 <exec_byte_code+15945>, 0x6988b3 <exec_byte_code+1286>, 0x6988b5 <exec_byte_code+1288>, 0x6988b7 <exec_byte_code+1290>, 0x6988b9 <exec_byte_code+1292>, 0x6988bb <exec_byte_code+1294>, 0x6988bb <exec_byte_code+1294>, 0x6988c1 <exec_byte_code+1300>, 0x698882 <exec_byte_code+1237>, 0x698d87 <exec_byte_code+2522>, 0x698d89 <exec_byte_code+2524>, 0x698d8b <exec_byte_code+2526>, 0x698d8d <exec_byte_code+2528>, 0x698d8f <exec_byte_code+2530>, 0x698d8f <exec_byte_code+2530>, 0x698dc4 <exec_byte_code+2583>, 0x698d95 <exec_byte_code+2536>, 0x699096 <exec_byte_code+3305>, 0x699098 <exec_byte_code+3307>, 0x69909a <exec_byte_code+3309>, 0x69909c <exec_byte_code+3311>, 0x69909e <exec_byte_code+3313>, 0x69909e <exec_byte_code+3313>, 0x699050 <exec_byte_code+3235>, 0x699067 <exec_byte_code+3258>, 0x699146 <exec_byte_code+3481>, 0x699148 <exec_byte_code+3483>, 0x69914a <exec_byte_code+3485>, 0x69914c <exec_byte_code+3487>, 0x69914e <exec_byte_code+3489>, 0x69914e <exec_byte_code+3489>, 0x699100 <exec_byte_code+3411>, 0x699117 <exec_byte_code+3434>, 0x6991fb <exec_byte_code+3662>, 0x6991fd <exec_byte_code+3664>, 0x6991ff <exec_byte_code+3666>, 0x699201 <exec_byte_code+3668>, 0x699203 <exec_byte_code+3670>, 0x699203 <exec_byte_code+3670>, 0x6991b5 <exec_byte_code+3592>, 0x6991cc <exec_byte_code+3615>, 0x699a61 <exec_byte_code+5812>, 0x699947 <exec_byte_code+5530>, 0x69993e <exec_byte_code+5521>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x699c92 <exec_byte_code+6373>, 0x699db1 <exec_byte_code+6660>, 0x699e1b <exec_byte_code+6766>, 0x699e86 <exec_byte_code+6873>, 0x699ef2 <exec_byte_code+6981>, 0x698bda <exec_byte_code+2093>, 0x698c5f <exec_byte_code+2226>, 0x699f73 <exec_byte_code+7110>, 0x698b1b <exec_byte_code+1902>, 0x698cc7 <exec_byte_code+2330>, 0x699fe5 <exec_byte_code+7224>, 0x69a04d <exec_byte_code+7328>, 0x69a095 <exec_byte_code+7400>, 0x69a0fd <exec_byte_code+7504>, 0x69a14f <exec_byte_code+7586>, 0x69a220 <exec_byte_code+7795>, 0x69a268 <exec_byte_code+7867>, 0x69a2d0 <exec_byte_code+7971>, 0x69a355 <exec_byte_code+8104>, 0x69a39d <exec_byte_code+8176>, 0x69a3e5 <exec_byte_code+8248>, 0x69a44d <exec_byte_code+8352>, 0x69a4b5 <exec_byte_code+8456>, 0x69a51d <exec_byte_code+8560>, 0x69a5a2 <exec_byte_code+8693>, 0x69a5f4 <exec_byte_code+8775>, 0x69a646 <exec_byte_code+8857>, 0x69a717 <exec_byte_code+9066>, 0x69a791 <exec_byte_code+9188>, 0x69a80b <exec_byte_code+9310>, 0x69a9d7 <exec_byte_code+9770>, 0x69aa44 <exec_byte_code+9879>, 0x69aab1 <exec_byte_code+9988>, 0x69ab1e <exec_byte_code+10097>, 0x69ab8b <exec_byte_code+10206>, 0x69abdd <exec_byte_code+10288>, 0x69ac5b <exec_byte_code+10414>, 0x69acad <exec_byte_code+10496>, 0x69acff <exec_byte_code+10578>, 0x69ad51 <exec_byte_code+10660>, 0x69ae5d <exec_byte_code+10928>, 0x6997c1 <exec_byte_code+5140>, 0x69aebb <exec_byte_code+11022>, 0x69af03 <exec_byte_code+11094>, 0x69afcf <exec_byte_code+11298>, 0x69b038 <exec_byte_code+11403>, 0x69b096 <exec_byte_code+11497>, 0x69b0de <exec_byte_code+11569>, 0x69b124 <exec_byte_code+11639>, 0x69b16a <exec_byte_code+11709>, 0x69b1b8 <exec_byte_code+11787>, 0x69c0ef <exec_byte_code+15682>, 0x69b210 <exec_byte_code+11875>, 0x69b256 <exec_byte_code+11945>, 0x69b29c <exec_byte_code+12015>, 0x69b2e2 <exec_byte_code+12085>, 0x69b328 <exec_byte_code+12155>, 0x69b36e <exec_byte_code+12225>, 0x6997c1 <exec_byte_code+5140>, 0x69c0ef <exec_byte_code+15682>, 0x69b3b6 <exec_byte_code+12297>, 0x69b40b <exec_byte_code+12382>, 0x69b453 <exec_byte_code+12454>, 0x69b49b <exec_byte_code+12526>, 0x69b503 <exec_byte_code+12630>, 0x69b56b <exec_byte_code+12734>, 0x69b5b3 <exec_byte_code+12806>, 0x69b6cd <exec_byte_code+13088>, 0x69b735 <exec_byte_code+13192>, 0x69b79d <exec_byte_code+13296>, 0x69b805 <exec_byte_code+13400>, 0x69b84b <exec_byte_code+13470>, 0x69c0ef <exec_byte_code+15682>, 0x6996f5 <exec_byte_code+4936>, 0x6992b2 <exec_byte_code+3845>, 0x698a8c <exec_byte_code+1759>, 0x699365 <exec_byte_code+4024>, 0x6993e6 <exec_byte_code+4153>, 0x699464 <exec_byte_code+4279>, 0x6996a9 <exec_byte_code+4860>, 0x6996be <exec_byte_code+4881>, 0x698ffd <exec_byte_code+3152>, 0x699778 <exec_byte_code+5067>, 0x6997f8 <exec_byte_code+5195>, 0x699886 <exec_byte_code+5337>, 0x6998cf <exec_byte_code+5410>, 0x699aad <exec_byte_code+5888>, 0x699b2a <exec_byte_code+6013>, 0x699baf <exec_byte_code+6146>, 0x699c0f <exec_byte_code+6242>, 0x699264 <exec_byte_code+3767>, 0x69b893 <exec_byte_code+13542>, 0x69b918 <exec_byte_code+13675>, 0x69b960 <exec_byte_code+13747>, 0x69b9a8 <exec_byte_code+13819>, 0x69b9f0 <exec_byte_code+13891>, 0x69ba38 <exec_byte_code+13963>, 0x69baa0 <exec_byte_code+14067>, 0x69bb08 <exec_byte_code+14171>, 0x69bb70 <exec_byte_code+14275>, 0x69bbd8 <exec_byte_code+14379>, 0x69bd4e <exec_byte_code+14753>, 0x69bdb6 <exec_byte_code+14857>, 0x69be1e <exec_byte_code+14961>, 0x69be66 <exec_byte_code+15033>, 0x69bece <exec_byte_code+15137>, 0x69bf36 <exec_byte_code+15241>, 0x69bf7e <exec_byte_code+15313>, 0x69bfc6 <exec_byte_code+15385>, 0x69ada3 <exec_byte_code+10742>, 0x69adf5 <exec_byte_code+10824>, 0x69c018 <exec_byte_code+15467>, 0x69c084 <exec_byte_code+15575>, 0x69c0ef <exec_byte_code+15682>, 0x6994e2 <exec_byte_code+4405>, 0x6994ff <exec_byte_code+4434>, 0x69956b <exec_byte_code+4542>, 0x6995d7 <exec_byte_code+4650>, 0x699640 <exec_byte_code+4755>, 0x69a1a1 <exec_byte_code+7668>, 0x69a698 <exec_byte_code+8939>, 0x69af50 <exec_byte_code+11171>, 0x69c289 <exec_byte_code+16092>, 0x69c2fe <exec_byte_code+16209>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c394 <exec_byte_code+16359>, 0x69c41b <exec_byte_code+16494>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c630 <exec_byte_code+17027> <repeats 64 times>}
        const_length = 4
        bytestr_length = 17
        vectorp = 0xb44350 <pure+1424240>
        quitcounter = 1 '\001'
        stack_items = 4
        sa_avail = 16335
        sa_count = 10
        sa_must_free = false
        stack_base = 0x7ffe706a19d0
        stack_lim = 0x7ffe706a19f0
        top = 0x7ffe706a19e0
        void_stack_lim = 0x7ffe706a19f0
        bytestr_data = 0x7ffe706a19f0 "p\030\301 \210\302\001\206\v"
        pc = 0x7ffe706a19fc "\210\301 )\207\035jp\376\177"
        count = 10
        result = make_number(0)
#18 0x00000000006443fa in funcall_lambda (fun=XIL(0xb442ed), nargs=1, arg_vector=0x7ffe706a1f80)
    at eval.c:2970
        size = 6
        val = XIL(0x7ffe706a1db8)
        syms_left = make_number(256)
        next = XIL(0x1200e0a040)
        lexenv = XIL(0x7ffe706a1ac8)
        count = 10
        i = 0
        optional = false
        rest = false
        previous_optional_or_rest = false
#19 0x0000000000643843 in Ffuncall (nargs=2, args=0x7ffe706a1f78) at eval.c:2771
        fun = XIL(0xb442ed)
        original_fun = XIL(0xa2f230)
        funcar = XIL(0x588ec1)
        numargs = 1
        val = XIL(0)
        count = 9
#20 0x0000000000639259 in Ffuncall_interactively (nargs=2, args=0x7ffe706a1f78) at callint.c:252
        speccount = 8
#21 0x0000000000643bc1 in funcall_subr (subr=0xd8fa00 <Sfuncall_interactively>, numargs=2, args=0x7ffe706a1f78) at eval.c:2824
#22 0x00000000006437ff in Ffuncall (nargs=3, args=0x7ffe706a1f70) at eval.c:2769
        fun = XIL(0xd8fa05)
        original_fun = XIL(0x6690)
        funcar = XIL(0x6456ac)
        numargs = 2
        val = XIL(0x7ffe706a1f60)
        count = 7
#23 0x000000000063b746 in Fcall_interactively (function=XIL(0xa2f230), record_flag=XIL(0), keys=XIL(0xea2695)) at callint.c:854
        val = XIL(0)
        args = 0x7ffe706a1f70
        visargs = 0x7ffe706a1f88
        specs = XIL(0xa0e97c)
        filter_specs = XIL(0xa0e97c)
        teml = XIL(0x7ffe706a20d8)
        up_event = XIL(0)
        enable = XIL(0)
        sa_avail = 16310
        sa_count = 6
        sa_must_free = false
        speccount = 6
        next_event = 1
        prefix_arg = XIL(0)
        string = 0x7ffe706a1fd0 "P"
        tem = 0x777a2b ""
        varies = 0x7ffe706a1fa0 ""
        i = 3
        nargs = 3
        mark = 140730784424272
        arg_from_tty = false
        key_count = 1
        record_then_fail = false
        save_this_command = XIL(0xa2f230)
        save_last_command = XIL(0xb16c0)
        save_this_original_command = XIL(0xa2f230)
        save_real_this_command = XIL(0xa2f230)
#24 0x0000000000643d1b in funcall_subr (subr=0xd8fa40 <Scall_interactively>, numargs=3, args=0x7ffe706a2310) at eval.c:2849
        internal_argbuf = 
          {XIL(0xd8fa40), XIL(0x7ffe706a2228), XIL(0x57eea5), XIL(0xa00e0a040), XIL(0xd8fa45), XIL(0x7ffe706a2248), XIL(0xd8fa40), XIL(0x7ffe706a2240)}
        internal_args = 0x7ffe706a2310
#25 0x00000000006437ff in Ffuncall (nargs=4, args=0x7ffe706a2308) at eval.c:2769
        fun = XIL(0xd8fa45)
        original_fun = XIL(0xb1bc0)
        funcar = XIL(0xe0a040)
        numargs = 3
        val = XIL(0)
        count = 5
#26 0x0000000000699179 in exec_byte_code (bytestr=XIL(0xaad16c), vector=XIL(0xaad18d), maxdepth=make_number(13), args_template=make_number(1025), nargs=1, args=0x7ffe706a2850) at bytecode.c:629
        op = 3
        type = (unknown: 1886006560)
        targets = 
          {0x69c0ef <exec_byte_code+15682>, 0x69c117 <exec_byte_code+15722>, 0x69c119 <exec_byte_code+15724>, 0x69c11b <exec_byte_code+15726>, 0x69c11d <exec_byte_code+15728>, 0x69c11d <exec_byte_code+15728>, 0x69c182 <exec_byte_code+15829>, 0x69c1f6 <exec_byte_code+15945>, 0x6988b3 <exec_byte_code+1286>, 0x6988b5 <exec_byte_code+1288>, 0x6988b7 <exec_byte_code+1290>, 0x6988b9 <exec_byte_code+1292>, 0x6988bb <exec_byte_code+1294>, 0x6988bb <exec_byte_code+1294>, 0x6988c1 <exec_byte_code+1300>, 0x698882 <exec_byte_code+1237>, 0x698d87 <exec_byte_code+2522>, 0x698d89 <exec_byte_code+2524>, 0x698d8b <exec_byte_code+2526>, 0x698d8d <exec_byte_code+2528>, 0x698d8f <exec_byte_code+2530>, 0x698d8f <exec_byte_code+2530>, 0x698dc4 <exec_byte_code+2583>, 0x698d95 <exec_byte_code+2536>, 0x699096 <exec_byte_code+3305>, 0x699098 <exec_byte_code+3307>, 0x69909a <exec_byte_code+3309>, 0x69909c <exec_byte_code+3311>, 0x69909e <exec_byte_code+3313>, 0x69909e <exec_byte_code+3313>, 0x699050 <exec_byte_code+3235>, 0x699067 <exec_byte_code+3258>, 0x699146 <exec_byte_code+3481>, 0x699148 <exec_byte_code+3483>, 0x69914a <exec_byte_code+3485>, 0x69914c <exec_byte_code+3487>, 0x69914e <exec_byte_code+3489>, 0x69914e <exec_byte_code+3489>, 0x699100 <exec_byte_code+3411>, 0x699117 <exec_byte_code+3434>, 0x6991fb <exec_byte_code+3662>, 0x6991fd <exec_byte_code+3664>, 0x6991ff <exec_byte_code+3666>, 0x699201 <exec_byte_code+3668>, 0x699203 <exec_byte_code+3670>, 0x699203 <exec_byte_code+3670>, 0x6991b5 <exec_byte_code+3592>, 0x6991cc <exec_byte_code+3615>, 0x699a61 <exec_byte_code+5812>, 0x699947 <exec_byte_code+5530>, 0x69993e <exec_byte_code+5521>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x699c92 <exec_byte_code+6373>, 0x699db1 <exec_byte_code+6660>, 0x699e1b <exec_byte_code+6766>, 0x699e86 <exec_byte_code+6873>, 0x699ef2 <exec_byte_code+6981>, 0x698bda <exec_byte_code+2093>, 0x698c5f <exec_byte_code+2226>, 0x699f73 <exec_byte_code+7110>, 0x698b1b <exec_byte_code+1902>, 0x698cc7 <exec_byte_code+2330>, 0x699fe5 <exec_byte_code+7224>, 0x69a04d <exec_byte_code+7328>, 0x69a095 <exec_byte_code+7400>, 0x69a0fd <exec_byte_code+7504>, 0x69a14f <exec_byte_code+7586>, 0x69a220 <exec_byte_code+7795>, 0x69a268 <exec_byte_code+7867>, 0x69a2d0 <exec_byte_code+7971>, 0x69a355 <exec_byte_code+8104>, 0x69a39d <exec_byte_code+8176>, 0x69a3e5 <exec_byte_code+8248>, 0x69a44d <exec_byte_code+8352>, 0x69a4b5 <exec_byte_code+8456>, 0x69a51d <exec_byte_code+8560>, 0x69a5a2 <exec_byte_code+8693>, 0x69a5f4 <exec_byte_code+8775>, 0x69a646 <exec_byte_code+8857>, 0x69a717 <exec_byte_code+9066>, 0x69a791 <exec_byte_code+9188>, 0x69a80b <exec_byte_code+9310>, 0x69a9d7 <exec_byte_code+9770>, 0x69aa44 <exec_byte_code+9879>, 0x69aab1 <exec_byte_code+9988>, 0x69ab1e <exec_byte_code+10097>, 0x69ab8b <exec_byte_code+10206>, 0x69abdd <exec_byte_code+10288>, 0x69ac5b <exec_byte_code+10414>, 0x69acad <exec_byte_code+10496>, 0x69acff <exec_byte_code+10578>, 0x69ad51 <exec_byte_code+10660>, 0x69ae5d <exec_byte_code+10928>, 0x6997c1 <exec_byte_code+5140>, 0x69aebb <exec_byte_code+11022>, 0x69af03 <exec_byte_code+11094>, 0x69afcf <exec_byte_code+11298>, 0x69b038 <exec_byte_code+11403>, 0x69b096 <exec_byte_code+11497>, 0x69b0de <exec_byte_code+11569>, 0x69b124 <exec_byte_code+11639>, 0x69b16a <exec_byte_code+11709>, 0x69b1b8 <exec_byte_code+11787>, 0x69c0ef <exec_byte_code+15682>, 0x69b210 <exec_byte_code+11875>, 0x69b256 <exec_byte_code+11945>, 0x69b29c <exec_byte_code+12015>, 0x69b2e2 <exec_byte_code+12085>, 0x69b328 <exec_byte_code+12155>, 0x69b36e <exec_byte_code+12225>, 0x6997c1 <exec_byte_code+5140>, 0x69c0ef <exec_byte_code+15682>, 0x69b3b6 <exec_byte_code+12297>, 0x69b40b <exec_byte_code+12382>, 0x69b453 <exec_byte_code+12454>, 0x69b49b <exec_byte_code+12526>, 0x69b503 <exec_byte_code+12630>, 0x69b56b <exec_byte_code+12734>, 0x69b5b3 <exec_byte_code+12806>, 0x69b6cd <exec_byte_code+13088>, 0x69b735 <exec_byte_code+13192>, 0x69b79d <exec_byte_code+13296>, 0x69b805 <exec_byte_code+13400>, 0x69b84b <exec_byte_code+13470>, 0x69c0ef <exec_byte_code+15682>, 0x6996f5 <exec_byte_code+4936>, 0x6992b2 <exec_byte_code+3845>, 0x698a8c <exec_byte_code+1759>, 0x699365 <exec_byte_code+4024>, 0x6993e6 <exec_byte_code+4153>, 0x699464 <exec_byte_code+4279>, 0x6996a9 <exec_byte_code+4860>, 0x6996be <exec_byte_code+4881>, 0x698ffd <exec_byte_code+3152>, 0x699778 <exec_byte_code+5067>, 0x6997f8 <exec_byte_code+5195>, 0x699886 <exec_byte_code+5337>, 0x6998cf <exec_byte_code+5410>, 0x699aad <exec_byte_code+5888>, 0x699b2a <exec_byte_code+6013>, 0x699baf <exec_byte_code+6146>, 0x699c0f <exec_byte_code+6242>, 0x699264 <exec_byte_code+3767>, 0x69b893 <exec_byte_code+13542>, 0x69b918 <exec_byte_code+13675>, 0x69b960 <exec_byte_code+13747>, 0x69b9a8 <exec_byte_code+13819>, 0x69b9f0 <exec_byte_code+13891>, 0x69ba38 <exec_byte_code+13963>, 0x69baa0 <exec_byte_code+14067>, 0x69bb08 <exec_byte_code+14171>, 0x69bb70 <exec_byte_code+14275>, 0x69bbd8 <exec_byte_code+14379>, 0x69bd4e <exec_byte_code+14753>, 0x69bdb6 <exec_byte_code+14857>, 0x69be1e <exec_byte_code+14961>, 0x69be66 <exec_byte_code+15033>, 0x69bece <exec_byte_code+15137>, 0x69bf36 <exec_byte_code+15241>, 0x69bf7e <exec_byte_code+15313>, 0x69bfc6 <exec_byte_code+15385>, 0x69ada3 <exec_byte_code+10742>, 0x69adf5 <exec_byte_code+10824>, 0x69c018 <exec_byte_code+15467>, 0x69c084 <exec_byte_code+15575>, 0x69c0ef <exec_byte_code+15682>, 0x6994e2 <exec_byte_code+4405>, 0x6994ff <exec_byte_code+4434>, 0x69956b <exec_byte_code+4542>, 0x6995d7 <exec_byte_code+4650>, 0x699640 <exec_byte_code+4755>, 0x69a1a1 <exec_byte_code+7668>, 0x69a698 <exec_byte_code+8939>, 0x69af50 <exec_byte_code+11171>, 0x69c289 <exec_byte_code+16092>, 0x69c2fe <exec_byte_code+16209>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c394 <exec_byte_code+16359>, 0x69c41b <exec_byte_code+16494>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c0ef <exec_byte_code+15682>, 0x69c630 <exec_byte_code+17027> <repeats 64 times>}
        const_length = 25
        bytestr_length = 165
        vectorp = 0xaad190 <pure+805296>
        quitcounter = 1 '\001'
        stack_items = 14
        sa_avail = 16107
        sa_count = 5
        sa_must_free = false
        stack_base = 0x7ffe706a22d0
        stack_lim = 0x7ffe706a2340
        top = 0x7ffe706a2308
        void_stack_lim = 0x7ffe706a2340
        bytestr_data = 0x7ffe706a2340 "\306\020\211?\205\023"
        pc = 0x7ffe706a23bb "\006\006\071\203\242"
        count = 5
        result = XIL(0)
#27 0x00000000006443fa in funcall_lambda (fun=XIL(0xaad13d), nargs=1, arg_vector=0x7ffe706a2848)
    at eval.c:2970
        size = 5
        val = XIL(0x7ffe706a27a8)
        syms_left = make_number(1025)
        next = XIL(0x1200e0a040)
        lexenv = make_number(34910567923712)
        count = 5
        i = 0
        optional = false
        rest = false
        previous_optional_or_rest = false
#28 0x0000000000643843 in Ffuncall (nargs=2, args=0x7ffe706a2840) at eval.c:2771
        fun = XIL(0xaad13d)
        original_fun = XIL(0x3f00)
        funcar = XIL(0x1)
        numargs = 1
        val = XIL(0x7ffe706a2848)
        count = 4
#29 0x000000000064311b in call1 (fn=XIL(0x3f00), arg1=XIL(0xa2f230)) at eval.c:2620
#30 0x000000000058a0d7 in command_loop_1 () at keyboard.c:1482
        scount = 3
        cmd = XIL(0xa2f230)
        keybuf = 
          {make_number(10), XIL(0x79e0), XIL(0x100000140), XIL(0), XIL(0), XIL(0xe09770), XIL(0x7ffe706a28b0), XIL(0xe11a20), XIL(0), XIL(0), XIL(0x7ffe706a2900), make_number(1644246), make_number(34910567923712), XIL(0xe0a040), XIL(0x5807f9), XIL(0), XIL(0x7ffe706a2900), make_number(1439950), XIL(0), XIL(0), XIL(0x7ffe706a2960), XIL(0xe0a040), XIL(0xee8843), XIL(0), XIL(0x7ffe706a2940), make_number(1439950), XIL(0), XIL(0xe9d405), XIL(0x7ffe706a2980), XIL(0x63fd2f)}
        i = 1
        prev_modiff = 69
        prev_buffer = 0xe9d400 <bss_sbrk_buffer+455808>
        already_adjusted = false
#31 0x000000000063f918 in internal_condition_case (bfun=0x5898c7 <command_loop_1>, handlers=XIL(0x5250), hfun=0x588f0f <cmd_error>) at eval.c:1332
        val = make_number(1439950)
        c = 0x46e8640
#32 0x00000000005894e2 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
        val = XIL(0)
#33 0x000000000063ee21 in internal_catch (tag=XIL(0xc8d0), func=0x5894b5 <command_loop_2>, arg=XIL(0)) at eval.c:1097
        val = XIL(0)
        c = 0x46e8520
#34 0x0000000000589480 in command_loop () at keyboard.c:1089
#35 0x00000000005889f9 in recursive_edit_1 () at keyboard.c:695
        count = 1
        val = XIL(0x7ffe706a2ae0)
#36 0x0000000000588bee in Frecursive_edit () at keyboard.c:766
        count = 0
        buffer = XIL(0)
#37 0x0000000000586796 in main (argc=3, argv=0x7ffe706a2d28) at emacs.c:1713
        stack_bottom_variable = 0x46df710
        do_initial_setlocale = true
        dumping = false
        skip_args = 1
        no_loadup = false
        junk = 0x0
        dname_arg = 0x7ffe706a445c "debug"
        ch_to_dir = 0x0
        original_pwd = 0x0
        disable_aslr = false
        rlim = {
          rlim_cur = 10022912, 
          rlim_max = 18446744073709551615
        }
        sockfd = -1
        module_assertions = false

Lisp Backtrace:
"x-frame-list-z-order" (0x706a0940)
"frame-list-z-order" (0x706a0d50)
"eval" (0x706a10b0)
"elisp--eval-last-sexp" (0x706a1558)
"eval-last-sexp" (0x706a19e8)
"eval-print-last-sexp" (0x706a1f80)
"funcall-interactively" (0x706a1f78)
"call-interactively" (0x706a2310)
"command-execute" (0x706a2848)

[-- Attachment #2: Type: text/plain, Size: 1942 bytes --]


On the latest emacs-26 and master branches, calling the function
frame-list-z-order crashes a daemon Emacs via segfault:

1. ./src/emacs -Q --daemon=<name>
2. ./lib-src/emacsclient --socket-name=<name> --create-frame
3. cd src
4. gdb -p <PID of step (1)>
5. Issue 'continue' in gdb
6. Evaluating (frame-list-z-order) in the emacsclient frame gives the
   following output in gdb:

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x0000000000565112 in x_frame_list_z_order (dpy=0x33018f0, window=227) at xfns.c:5306
5306		    if (XFRAME (frame)->output_data.x->parent_desc == children[i]

Issuing 'set logging on' followed by 'bt full' in gdb at this point
gives the attached backtrace.

A quick step-through of x_frame_list_z_order indicates that the members
of the struct XFRAME (frame)->output_data are initialised to NULL for
the initial daemon frame F1.

Some information gathered by report-emacs-bug follows my signature.
Please let me know if I can provide any further information.

Thanks,

-- 
Basil

In GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2018-05-06 built on thunk
Repository revision: 91a68b5f61db50344c6a5df497f55370d54a7b15
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description:	Debian GNU/Linux testing (buster)

Configured using:
 'configure 'CC=ccache gcc' 'CFLAGS=-O0 -g3 -ggdb -gdwarf-4 -pipe'
 --config-cache --prefix=/home/blc/.local --program-suffix=26
 --enable-checking=yes,glyphs --enable-check-lisp-object-type
 --with-mailutils --with-x-toolkit=lucid --with-modules
 --with-file-notification=yes --with-x'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 MODULES THREADS LIBSYSTEMD LCMS2

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

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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 13:34 bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame Basil L. Contovounesios
@ 2018-05-06 14:14 ` Noam Postavsky
  2018-05-06 14:58   ` Basil L. Contovounesios
  0 siblings, 1 reply; 14+ messages in thread
From: Noam Postavsky @ 2018-05-06 14:14 UTC (permalink / raw)
  To: 31373

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

tags 31373 + patch
quit

"Basil L. Contovounesios" <contovob@tcd.ie> writes:

> On the latest emacs-26 and master branches, calling the function
> frame-list-z-order crashes a daemon Emacs via segfault:
>
> 1. ./src/emacs -Q --daemon=<name>
> 2. ./lib-src/emacsclient --socket-name=<name> --create-frame
> 3. cd src
> 4. gdb -p <PID of step (1)>
> 5. Issue 'continue' in gdb

You can also use

1. gdb ./emacs -Q --fg-daemon=<name>
2. Issue 'run' in gdb
3. ../lib-src/emacsclient --socket-name=<name> --create-frame

> 6. Evaluating (frame-list-z-order) in the emacsclient frame gives the
>    following output in gdb:
>
> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
> 0x0000000000565112 in x_frame_list_z_order (dpy=0x33018f0, window=227) at xfns.c:5306
> 5306		    if (XFRAME (frame)->output_data.x->parent_desc == children[i]

> A quick step-through of x_frame_list_z_order indicates that the members
> of the struct XFRAME (frame)->output_data are initialised to NULL for
> the initial daemon frame F1.

Right, I think we need to check the frame's output_method field first.
I wonder if there are other cases like this?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch --]
[-- Type: text/x-diff, Size: 1152 bytes --]

From b2c13a02a88fc8cc00c61ef8f56719fbb9b02897 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Sun, 6 May 2018 10:07:25 -0400
Subject: [PATCH] Don't check non-X frames for z order (Bug#31373)

* src/xfns.c (x_frame_list_z_order): Only use frames with
`output_method' set to `output_x_window'.
---
 src/xfns.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/xfns.c b/src/xfns.c
index 20fe61bffd..29dd529e27 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5303,8 +5303,9 @@ x_frame_list_z_order (Display* dpy, Window window)
 	    /* With a reparenting window manager the parent_desc field
 	       usually specifies the topmost windows of our frames.
 	       Otherwise FRAME_OUTER_WINDOW should do.  */
-	    if (XFRAME (frame)->output_data.x->parent_desc == children[i]
-		|| FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i])
+	    if (XFRAME (frame)->output_method == output_x_window
+                && (XFRAME (frame)->output_data.x->parent_desc == children[i]
+                    || FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i]))
 	      frames = Fcons (frame, frames);
 	}
 
-- 
2.11.0


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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 14:14 ` Noam Postavsky
@ 2018-05-06 14:58   ` Basil L. Contovounesios
  2018-05-06 16:28     ` Noam Postavsky
  0 siblings, 1 reply; 14+ messages in thread
From: Basil L. Contovounesios @ 2018-05-06 14:58 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 31373

Noam Postavsky <npostavs@gmail.com> writes:

> "Basil L. Contovounesios" <contovob@tcd.ie> writes:
>
>> On the latest emacs-26 and master branches, calling the function
>> frame-list-z-order crashes a daemon Emacs via segfault:
>>
>> 1. ./src/emacs -Q --daemon=<name>
>> 2. ./lib-src/emacsclient --socket-name=<name> --create-frame
>> 3. cd src
>> 4. gdb -p <PID of step (1)>
>> 5. Issue 'continue' in gdb
>
> You can also use
>
> 1. gdb ./emacs -Q --fg-daemon=<name>
> 2. Issue 'run' in gdb
> 3. ../lib-src/emacsclient --socket-name=<name> --create-frame

Ah, yes, thank you.  I forgot about --fg-daemon (which I now remembered
is documented in '(emacs) Initial Options') because it is not mentioned
in the emacs(1) man page; do you think this option should be added there?

-- 
Basil





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 14:58   ` Basil L. Contovounesios
@ 2018-05-06 16:28     ` Noam Postavsky
  2018-05-06 16:49       ` Eli Zaretskii
                         ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Noam Postavsky @ 2018-05-06 16:28 UTC (permalink / raw)
  To: 31373

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

"Basil L. Contovounesios" <contovob@tcd.ie> writes:

> Ah, yes, thank you.  I forgot about --fg-daemon (which I now remembered
> is documented in '(emacs) Initial Options') because it is not mentioned
> in the emacs(1) man page; do you think this option should be added there?

Oh, yes it should be.

>> +	    if (XFRAME (frame)->output_method == output_x_window

Also, I noticed that there is FRAME_X_P for this.  I can't find any more
obvious instances of missing this check, although it's hard to tell in
many cases if the frame is really guaranteed to have output_x_window has
the output_method.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch --]
[-- Type: text/x-diff, Size: 1131 bytes --]

From 5ad7571a59eb744c65a23198729ea2b56155a2c2 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Sun, 6 May 2018 10:07:25 -0400
Subject: [PATCH v2] Don't check non-X frames for z order (Bug#31373)

* src/xfns.c (x_frame_list_z_order): Only use frames with
`output_method' set to `output_x_window'.
---
 src/xfns.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/xfns.c b/src/xfns.c
index 20fe61bffd..863fdefa5f 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5303,8 +5303,9 @@ x_frame_list_z_order (Display* dpy, Window window)
 	    /* With a reparenting window manager the parent_desc field
 	       usually specifies the topmost windows of our frames.
 	       Otherwise FRAME_OUTER_WINDOW should do.  */
-	    if (XFRAME (frame)->output_data.x->parent_desc == children[i]
-		|| FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i])
+            if (FRAME_X_P (frame)
+                && (XFRAME (frame)->output_data.x->parent_desc == children[i]
+                    || FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i]))
 	      frames = Fcons (frame, frames);
 	}
 
-- 
2.11.0


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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 16:28     ` Noam Postavsky
@ 2018-05-06 16:49       ` Eli Zaretskii
  2018-05-06 17:09         ` Noam Postavsky
  2018-05-06 17:03       ` Basil L. Contovounesios
  2018-05-07  6:26       ` martin rudalics
  2 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2018-05-06 16:49 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 31373

> From: Noam Postavsky <npostavs@gmail.com>
> Date: Sun, 06 May 2018 12:28:16 -0400
> 
> >> +	    if (XFRAME (frame)->output_method == output_x_window
> 
> Also, I noticed that there is FRAME_X_P for this.  I can't find any more
> obvious instances of missing this check, although it's hard to tell in
> many cases if the frame is really guaranteed to have output_x_window has
> the output_method.

Don't we usually signal an error in such cases?  Through
check_x_display_info or somesuch?





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 16:28     ` Noam Postavsky
  2018-05-06 16:49       ` Eli Zaretskii
@ 2018-05-06 17:03       ` Basil L. Contovounesios
  2018-05-11  2:51         ` Noam Postavsky
  2018-05-07  6:26       ` martin rudalics
  2 siblings, 1 reply; 14+ messages in thread
From: Basil L. Contovounesios @ 2018-05-06 17:03 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 31373

Noam Postavsky <npostavs@gmail.com> writes:

> "Basil L. Contovounesios" <contovob@tcd.ie> writes:
>
>> Ah, yes, thank you.  I forgot about --fg-daemon (which I now remembered
>> is documented in '(emacs) Initial Options') because it is not mentioned
>> in the emacs(1) man page; do you think this option should be added there?
>
> Oh, yes it should be.

Should I open a new bug for this?

-- 
Basil





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 16:49       ` Eli Zaretskii
@ 2018-05-06 17:09         ` Noam Postavsky
  0 siblings, 0 replies; 14+ messages in thread
From: Noam Postavsky @ 2018-05-06 17:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 31373

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Noam Postavsky <npostavs@gmail.com>
>> Date: Sun, 06 May 2018 12:28:16 -0400
>> 
>> >> +	    if (XFRAME (frame)->output_method == output_x_window
>> 
>> Also, I noticed that there is FRAME_X_P for this.  I can't find any more
>> obvious instances of missing this check, although it's hard to tell in
>> many cases if the frame is really guaranteed to have output_x_window has
>> the output_method.
>
> Don't we usually signal an error in such cases?  Through
> check_x_display_info or somesuch?

Fx_frame_list_z_order already has a check_x_display_info call, but the
FRAME_X_P check is needed when looping over all the frames, like in
xic_create_xfontset and x_make_monitor_attribute_list.

Perhaps a FOR_EACH_FRAME_IN_TERMINAL macro would be less error-prone?






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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 16:28     ` Noam Postavsky
  2018-05-06 16:49       ` Eli Zaretskii
  2018-05-06 17:03       ` Basil L. Contovounesios
@ 2018-05-07  6:26       ` martin rudalics
  2018-05-07 17:59         ` Eli Zaretskii
  2 siblings, 1 reply; 14+ messages in thread
From: martin rudalics @ 2018-05-07  6:26 UTC (permalink / raw)
  To: Noam Postavsky, 31373

-	    if (XFRAME (frame)->output_data.x->parent_desc == children[i]
-		|| FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i])
+            if (FRAME_X_P (frame)
+                && (XFRAME (frame)->output_data.x->parent_desc == children[i]
+                    || FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i]))

Thank you.  Eli, I think Noam should push this to 26.1, if still
possible.

martin





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-07  6:26       ` martin rudalics
@ 2018-05-07 17:59         ` Eli Zaretskii
  2018-05-07 18:08           ` Noam Postavsky
  0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2018-05-07 17:59 UTC (permalink / raw)
  To: martin rudalics; +Cc: npostavs, 31373

> Date: Mon, 07 May 2018 08:26:01 +0200
> From: martin rudalics <rudalics@gmx.at>
> 
> -	    if (XFRAME (frame)->output_data.x->parent_desc == children[i]
> -		|| FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i])
> +            if (FRAME_X_P (frame)
> +                && (XFRAME (frame)->output_data.x->parent_desc == children[i]
> +                    || FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i]))
> 
> Thank you.  Eli, I think Noam should push this to 26.1, if still
> possible.

Why?  The workaround is very simple: don't call that function in a
daemon session that has no GUI frames.





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-07 17:59         ` Eli Zaretskii
@ 2018-05-07 18:08           ` Noam Postavsky
  2018-05-07 19:30             ` Eli Zaretskii
  0 siblings, 1 reply; 14+ messages in thread
From: Noam Postavsky @ 2018-05-07 18:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 31373

On 7 May 2018 at 13:59, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Mon, 07 May 2018 08:26:01 +0200
>> From: martin rudalics <rudalics@gmx.at>
>>
>> -         if (XFRAME (frame)->output_data.x->parent_desc == children[i]
>> -             || FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i])
>> +            if (FRAME_X_P (frame)
>> +                && (XFRAME (frame)->output_data.x->parent_desc == children[i]
>> +                    || FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i]))
>>
>> Thank you.  Eli, I think Noam should push this to 26.1, if still
>> possible.
>
> Why?  The workaround is very simple: don't call that function in a
> daemon session that has no GUI frames.

Ah, I think you missed that the segfault happens in a daemon session
that *does* have GUI frames.

I would also note that w32_frame_list_z_order makes the equivalent
FRAME_W32_P check via x_window_to_frame.





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-07 18:08           ` Noam Postavsky
@ 2018-05-07 19:30             ` Eli Zaretskii
  2018-05-08  1:40               ` Noam Postavsky
  0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2018-05-07 19:30 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 31373

> From: Noam Postavsky <npostavs@gmail.com>
> Date: Mon, 7 May 2018 14:08:19 -0400
> Cc: martin rudalics <rudalics@gmx.at>, 31373@debbugs.gnu.org
> 
> >> Thank you.  Eli, I think Noam should push this to 26.1, if still
> >> possible.
> >
> > Why?  The workaround is very simple: don't call that function in a
> > daemon session that has no GUI frames.
> 
> Ah, I think you missed that the segfault happens in a daemon session
> that *does* have GUI frames.

Ugh! why did no one bump into this until now??  We had this
function for a year!

OK, let's push it to emacs-26, and thanks...

Btw, is it reasonable for this function to return nil on TTY frames?
One frame is definitely displayed "on top".






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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-07 19:30             ` Eli Zaretskii
@ 2018-05-08  1:40               ` Noam Postavsky
  0 siblings, 0 replies; 14+ messages in thread
From: Noam Postavsky @ 2018-05-08  1:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 31373

tags 31373 fixed
close 31373 26.1
quit

Eli Zaretskii <eliz@gnu.org> writes:

> OK, let's push it to emacs-26, and thanks...

Done [1: 1d9e66aea1].

> Btw, is it reasonable for this function to return nil on TTY frames?
> One frame is definitely displayed "on top".

I think it's not completely unreasonable to return nil, but it would
probably make more sense to return a list of frames starting with the
"on top" (displayed) frame.

[1: 1d9e66aea1]: 2018-05-07 21:35:25 -0400
  Don't check non-X frames for z order (Bug#31373)
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=1d9e66aea17787e03954f32c6cd7561c881bb444





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-06 17:03       ` Basil L. Contovounesios
@ 2018-05-11  2:51         ` Noam Postavsky
  2018-05-11  8:29           ` Basil L. Contovounesios
  0 siblings, 1 reply; 14+ messages in thread
From: Noam Postavsky @ 2018-05-11  2:51 UTC (permalink / raw)
  To: 31373

"Basil L. Contovounesios" <contovob@tcd.ie> writes:

> Noam Postavsky <npostavs@gmail.com> writes:
>
>> "Basil L. Contovounesios" <contovob@tcd.ie> writes:
>>
>>> Ah, yes, thank you.  I forgot about --fg-daemon (which I now remembered
>>> is documented in '(emacs) Initial Options') because it is not mentioned
>>> in the emacs(1) man page; do you think this option should be added there?
>>
>> Oh, yes it should be.

> Should I open a new bug for this?

No need, I've pushed a fix to emacs-26.

[1: be2e8cb8be]: 2018-05-10 22:47:04 -0400
  * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=be2e8cb8be28affa830c21e2425573c3a1855a85>





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

* bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame
  2018-05-11  2:51         ` Noam Postavsky
@ 2018-05-11  8:29           ` Basil L. Contovounesios
  0 siblings, 0 replies; 14+ messages in thread
From: Basil L. Contovounesios @ 2018-05-11  8:29 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 31373

Noam Postavsky <npostavs@gmail.com> writes:

> "Basil L. Contovounesios" <contovob@tcd.ie> writes:
>
>> Should I open a new bug for this?
>
> No need, I've pushed a fix to emacs-26.
>
> [1: be2e8cb8be]: 2018-05-10 22:47:04 -0400
>   * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
>   https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=be2e8cb8be28affa830c21e2425573c3a1855a85

Thanks!

-- 
Basil





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

end of thread, other threads:[~2018-05-11  8:29 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-06 13:34 bug#31373: 26.1; frame-list-z-order segfaults on initial daemon frame Basil L. Contovounesios
2018-05-06 14:14 ` Noam Postavsky
2018-05-06 14:58   ` Basil L. Contovounesios
2018-05-06 16:28     ` Noam Postavsky
2018-05-06 16:49       ` Eli Zaretskii
2018-05-06 17:09         ` Noam Postavsky
2018-05-06 17:03       ` Basil L. Contovounesios
2018-05-11  2:51         ` Noam Postavsky
2018-05-11  8:29           ` Basil L. Contovounesios
2018-05-07  6:26       ` martin rudalics
2018-05-07 17:59         ` Eli Zaretskii
2018-05-07 18:08           ` Noam Postavsky
2018-05-07 19:30             ` Eli Zaretskii
2018-05-08  1:40               ` Noam Postavsky

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).