unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20890: 25.0.50; build from git crashes on startup
@ 2015-06-24 10:26       ` Robert Marshall
  2015-07-26 20:30         ` Paul Eggert
                           ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Robert Marshall @ 2015-06-24 10:26 UTC (permalink / raw)
  To: 20890

The crash appears to be dependent upon using the desktop load if I start
with --no-desktop I don't get the crash. I don't see that message about
'Corrupted shared library list' (very early on in the log) when running
with no-desktop 


Starting program: /home/robert/emacs-git/new/emacs/src/emacs 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
warning: Corrupted shared library list: 0x8d9e460 != 0x85b4f90
[New Thread 0xad99db40 (LWP 26868)]
[New Thread 0xb277eb40 (LWP 26867)]
[New Thread 0xb31ffb40 (LWP 26866)]
[New Thread 0xb3bfeb40 (LWP 26865)]

Program received signal SIGSEGV, Segmentation fault.
hash_string (len=<optimised out>, ptr=<optimised out>) at fns.c:4317
4317	      hash = sxhash_combine (hash, c);

(gdb) bt full

#0  hash_string (len=<optimised out>, ptr=<optimised out>) at fns.c:4317
        p = 0x1 <error: Cannot access memory at address 0x1>
        end = 0x9ffe288 "x\342\377\t\377\377\377\377"
        c = <error reading variable c (Cannot access memory at address 0x0)>
        hash = 0
#1  sxhash_string (len=<optimised out>, ptr=<optimised out>) at fns.c:4329
        hash = 0
#2  sxhash (obj=<optimised out>, depth=depth@entry=1) at fns.c:4442
        hash = <optimised out>
#3  0x08199fa2 in sxhash (depth=1, obj=<optimised out>) at lisp.h:1958
No locals.
#4  sxhash_list (depth=0, list=139364147) at fns.c:4369
        hash = <optimised out>
        i = 0
#5  sxhash (obj=<optimised out>, depth=0) at fns.c:4462
        hash = <optimised out>
#6  0x0819c12f in hash_lookup (h=0x85a4628, key=139364147, hash=0x0) at fns.c:4010
        hash_code = <optimised out>
        start_of_bucket = <optimised out>
        idx = <optimised out>
#7  0x0819c1f1 in Fgethash (key=139364147, table=140133933, dflt=0) at fns.c:4692
        i = <optimised out>
#8  0x081e6b9c in ftfont_lookup_cache (key=139364147, cache_for=FTFONT_CACHE_FOR_FACE)
    at ftfont.c:376
        cache = 164268760
        cache_data = 0x138
#9  0x081e87c6 in ftfont_close (font=0x9ca8ad8) at ftfont.c:1322
        ftfont_info = 0x9ca8ad8
        val = <optimised out>
        cache = <optimised out>
#10 0x08176d33 in cleanup_vector (vector=0x9ca8ad8) at alloc.c:2989
        drv = <optimised out>
        vector = 0x9ca8ad8
#11 0x08177127 in sweep_vectors () at alloc.c:3041
        total_bytes = 312
        free_this_block = false
        nbytes = <optimised out>
        block = 0x9ca7bf8
        bprev = 0x9d237f8
        lv = <optimised out>
        lvprev = 0x84a3c30
        vector = 0x9ca89a0
        next = 0x9ca8ad8
#12 0x0817aefa in gc_sweep () at alloc.c:6974
No locals.
#13 garbage_collect_1 (end=0xbfffdafc) at alloc.c:5770
        nextb = 0x0
        i = <optimised out>
        retval = <optimised out>
        stack_top_variable = 111 'o'
        message_p = true
        start = <optimised out>
        tot_before = 0
        total = {137277432, 159292392, 16768220, 139660920, 5, 159292396, 
          -1073751270, -2100820224, 22, 0, 1}
#14 Fgarbage_collect () at alloc.c:5976
        end = 0xbfffdafc
#15 0x08190f68 in maybe_gc () at lisp.h:4779
No locals.
#16 Ffuncall (nargs=2, args=0xbfffdc24) at eval.c:2668
        fun = <optimised out>
        original_fun = <optimised out>
        numargs = 1
        val = <optimised out>
        internal_args = <optimised out>
        count = 22
#17 0x081c362d in exec_byte_code (bytestr=<optimised out>, vector=137279565, 
    maxdepth=26, args_template=0, nargs=0, args=<optimised out>) at bytecode.c:919
        targets = {0x81c3788 <exec_byte_code+776>, 0x81c4dc0 <exec_byte_code+6464>, 
          0x81c4dc8 <exec_byte_code+6472>, 0x81c4dd0 <exec_byte_code+6480>, 
          0x81c35a0 <exec_byte_code+288>, 0x81c35a0 <exec_byte_code+288>, 
          0x81c4b20 <exec_byte_code+5792>, 0x81c4910 <exec_byte_code+5264>, 
          0x81c49c8 <exec_byte_code+5448>, 0x81c49c0 <exec_byte_code+5440>, 
          0x81c3818 <exec_byte_code+920>, 0x81c49d0 <exec_byte_code+5456>, 
          0x81c36c0 <exec_byte_code+576>, 0x81c36c0 <exec_byte_code+576>, 
          0x81c4ba8 <exec_byte_code+5928>, 0x81c37d0 <exec_byte_code+848>, 
          0x81c49d8 <exec_byte_code+5464>, 0x81c49e0 <exec_byte_code+5472>, 
          0x81c4b60 <exec_byte_code+5856>, 0x81c4a50 <exec_byte_code+5584>, 
          0x81c3718 <exec_byte_code+664>, 0x81c3720 <exec_byte_code+672>, 
          0x81c4b68 <exec_byte_code+5864>, 0x81c49e8 <exec_byte_code+5480>, 
          0x81c4a80 <exec_byte_code+5632>, 0x81c4a88 <exec_byte_code+5640>, 
          0x81c4ad8 <exec_byte_code+5720>, 0x81c4a90 <exec_byte_code+5648>, 
          0x81c35d0 <exec_byte_code+336>, 0x81c35d0 <exec_byte_code+336>, 
          0x81c4a38 <exec_byte_code+5560>, 0x81c4a58 <exec_byte_code+5592>, 
          0x81c4ad0 <exec_byte_code+5712>, 0x81c4ae0 <exec_byte_code+5728>, 
          0x81c4ae8 <exec_byte_code+5736>, 0x81c49a0 <exec_byte_code+5408>, 
          0x81c3610 <exec_byte_code+400>, 0x81c3610 <exec_byte_code+400>, 
          0x81c4a98 <exec_byte_code+5656>, 0x81c4ab0 <exec_byte_code+5680>, 
          0x81c4d58 <exec_byte_code+6360>, 0x81c4d50 <exec_byte_code+6352>, 
          0x81c4d60 <exec_byte_code+6368>, 0x81c4af0 <exec_byte_code+5744>, 
          0x81c3650 <exec_byte_code+464>, 0x81c3650 <exec_byte_code+464>, 
          0x81c49a8 <exec_byte_code+5416>, 0x81c4d28 <exec_byte_code+6312>, 
          0x81c3bc0 <exec_byte_code+1856>, 0x81c3a78 <exec_byte_code+1528>, 
          0x81c4db0 <exec_byte_code+6448>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3d00 <exec_byte_code+2176>, 0x81c3d80 <exec_byte_code+2304>, 
          0x81c3db0 <exec_byte_code+2352>, 0x81c3de8 <exec_byte_code+2408>, 
          0x81c3e20 <exec_byte_code+2464>, 0x81c4cf0 <exec_byte_code+6256>, 
          0x81c4c58 <exec_byte_code+6104>, 0x81c3e60 <exec_byte_code+2528>, 
          0x81c4cc0 <exec_byte_code+6208>, 0x81c4c90 <exec_byte_code+6160>, 
          0x81c43b0 <exec_byte_code+3888>, 0x81c4200 <exec_byte_code+3456>, 
          0x81c4230 <exec_byte_code+3504>, 0x81c4268 <exec_byte_code+3560>, 
          0x81c4298 <exec_byte_code+3608>, 0x81c4310 <exec_byte_code+3728>, 
          0x81c4340 <exec_byte_code+3776>, 0x81c4378 <exec_byte_code+3832>, 
          0x81c3e88 <exec_byte_code+2568>, 0x81c3eb0 <exec_byte_code+2608>, 
          0x81c3ee0 <exec_byte_code+2656>, 0x81c3f18 <exec_byte_code+2712>, 
          0x81c3f50 <exec_byte_code+2768>, 0x81c3f88 <exec_byte_code+2824>, 
          0x81c3fc0 <exec_byte_code+2880>, 0x81c3ff0 <exec_byte_code+2928>, 
          0x81c4020 <exec_byte_code+2976>, 0x81c4098 <exec_byte_code+3096>, 
          0x81c40d0 <exec_byte_code+3152>, 0x81c4110 <exec_byte_code+3216>, 
          0x81c41c8 <exec_byte_code+3400>, 0x81c4158 <exec_byte_code+3288>, 
          0x81c4190 <exec_byte_code+3344>, 0x81c43e8 <exec_byte_code+3944>, 
          0x81c4420 <exec_byte_code+4000>, 0x81c4450 <exec_byte_code+4048>, 
          0x81c4488 <exec_byte_code+4104>, 0x81c5340 <exec_byte_code+7872>, 
          0x81c5370 <exec_byte_code+7920>, 0x81c53a0 <exec_byte_code+7968>, 
          0x81c51c8 <exec_byte_code+7496>, 0x81c3690 <exec_byte_code+528>, 
          0x81c5200 <exec_byte_code+7552>, 0x81c5230 <exec_byte_code+7600>, 
          0x81c52a8 <exec_byte_code+7720>, 0x81c52e0 <exec_byte_code+7776>, 
          0x81c5310 <exec_byte_code+7824>, 0x81c4eb0 <exec_byte_code+6704>, 
          0x81c4ed8 <exec_byte_code+6744>, 0x81c4f00 <exec_byte_code+6784>, 
          0x81c4f30 <exec_byte_code+6832>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4f60 <exec_byte_code+6880>, 0x81c4f88 <exec_byte_code+6920>, 
          0x81c4fb0 <exec_byte_code+6960>, 0x81c4fd8 <exec_byte_code+7000>, 
          0x81c5000 <exec_byte_code+7040>, 0x81c5028 <exec_byte_code+7080>, 
          0x81c3690 <exec_byte_code+528>, 0x81c3788 <exec_byte_code+776>, 
          0x81c5050 <exec_byte_code+7120>, 0x81c5090 <exec_byte_code+7184>, 
          0x81c50c0 <exec_byte_code+7232>, 0x81c50f0 <exec_byte_code+7280>, 
          0x81c5128 <exec_byte_code+7336>, 0x81c5160 <exec_byte_code+7392>, 
          0x81c4e50 <exec_byte_code+6608>, 0x81c4e78 <exec_byte_code+6648>, 
          0x81c5870 <exec_byte_code+9200>, 0x81c58a8 <exec_byte_code+9256>, 
          0x81c57a8 <exec_byte_code+9000>, 0x81c57d0 <exec_byte_code+9040>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3a08 <exec_byte_code+1416>, 
          0x81c44b8 <exec_byte_code+4152>, 0x81c4bc0 <exec_byte_code+5952>, 
          0x81c4550 <exec_byte_code+4304>, 0x81c45e8 <exec_byte_code+4456>, 
          0x81c4678 <exec_byte_code+4600>, 0x81c4d68 <exec_byte_code+6376>, 
          0x81c39e8 <exec_byte_code+1384>, 0x81c4b80 <exec_byte_code+5888>, 
          0x81c3960 <exec_byte_code+1248>, 0x81c3990 <exec_byte_code+1296>, 
          0x81c3a48 <exec_byte_code+1480>, 0x81c3b80 <exec_byte_code+1792>, 
          0x81c3be8 <exec_byte_code+1896>, 0x81c3c30 <exec_byte_code+1968>, 
          0x81c3c70 <exec_byte_code+2032>, 0x81c3cb0 <exec_byte_code+2096>, 
          0x81c4af8 <exec_byte_code+5752>, 0x81c5800 <exec_byte_code+9088>, 
          0x81c5840 <exec_byte_code+9152>, 0x81c55a0 <exec_byte_code+8480>, 
          0x81c55d0 <exec_byte_code+8528>, 0x81c5600 <exec_byte_code+8576>, 
          0x81c5630 <exec_byte_code+8624>, 0x81c5668 <exec_byte_code+8680>, 
          0x81c56a0 <exec_byte_code+8736>, 0x81c56d8 <exec_byte_code+8792>, 
          0x81c5710 <exec_byte_code+8848>, 0x81c5400 <exec_byte_code+8064>, 
          0x81c5438 <exec_byte_code+8120>, 0x81c5470 <exec_byte_code+8176>, 
          0x81c54a0 <exec_byte_code+8224>, 0x81c54d8 <exec_byte_code+8280>, 
          0x81c5510 <exec_byte_code+8336>, 0x81c5540 <exec_byte_code+8384>, 
          0x81c5570 <exec_byte_code+8432>, 0x81c53d0 <exec_byte_code+8016>, 
          0x81c5190 <exec_byte_code+7440>, 0x81c4dd8 <exec_byte_code+6488>, 
          0x81c4e18 <exec_byte_code+6552>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4708 <exec_byte_code+4744>, 0x81c4790 <exec_byte_code+4880>, 
          0x81c4810 <exec_byte_code+5008>, 0x81c4890 <exec_byte_code+5136>, 
          0x81c38e0 <exec_byte_code+1120>, 0x81c42c8 <exec_byte_code+3656>, 
          0x81c4050 <exec_byte_code+3024>, 0x81c5260 <exec_byte_code+7648>, 
          0x81c4960 <exec_byte_code+5344>, 0x81c3820 <exec_byte_code+928>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3870 <exec_byte_code+1008>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c38b0 <exec_byte_code+1072> <repeats 64 times>}
        count = 22
        op = 1
        vectorp = 0x82eb84c <pure+253644>
        stack = {
          pc = 0x8435880 <pure+1605376> "\020\t\204\f", 
          byte_string = 137279548, 
          byte_string_start = 0x843587d <pure+1605373> "\306\b!\020\t\204\f", 
          next = 0xbfffdfdc
        }
        top = 0xbfffdc24
        result = <optimised out>
        type = <optimised out>
#18 0x08190ceb in funcall_lambda (fun=0, nargs=1, nargs@entry=32, arg_vector=0x2, 
    arg_vector@entry=0xbfffdda4) at eval.c:2951
        val = 0
        syms_left = 0
        lexenv = 0
#19 0x081910a1 in Ffuncall (nargs=33, args=0xbfffdda0) at eval.c:2779
        fun = <optimised out>
        original_fun = 2329008
        numargs = 32
        val = <optimised out>
        internal_args = <optimised out>
        count = 18
#20 0x08191f2c in Fapply (nargs=4, args=0xbfffdf18) at eval.c:2337
        i = <optimised out>
        numargs = <optimised out>
        funcall_nargs = 33
        funcall_args = 0xbfffdda0
        spread_arg = 0
        fun = <optimised out>
        retval = <optimised out>
        sa_avail = <optimised out>
        sa_must_free = false
#21 0x08191185 in Ffuncall (nargs=5, args=0xbfffdf14) at eval.c:2698
        fun = 138830805
        original_fun = 4536
        numargs = 4
        val = <optimised out>
        internal_args = <optimised out>
        count = 17
#22 0x081c362d in exec_byte_code (bytestr=<optimised out>, vector=137288085, 
    maxdepth=98, args_template=0, nargs=0, args=<optimised out>) at bytecode.c:919
        targets = {0x81c3788 <exec_byte_code+776>, 0x81c4dc0 <exec_byte_code+6464>, 
          0x81c4dc8 <exec_byte_code+6472>, 0x81c4dd0 <exec_byte_code+6480>, 
          0x81c35a0 <exec_byte_code+288>, 0x81c35a0 <exec_byte_code+288>, 
          0x81c4b20 <exec_byte_code+5792>, 0x81c4910 <exec_byte_code+5264>, 
          0x81c49c8 <exec_byte_code+5448>, 0x81c49c0 <exec_byte_code+5440>, 
          0x81c3818 <exec_byte_code+920>, 0x81c49d0 <exec_byte_code+5456>, 
          0x81c36c0 <exec_byte_code+576>, 0x81c36c0 <exec_byte_code+576>, 
          0x81c4ba8 <exec_byte_code+5928>, 0x81c37d0 <exec_byte_code+848>, 
          0x81c49d8 <exec_byte_code+5464>, 0x81c49e0 <exec_byte_code+5472>, 
          0x81c4b60 <exec_byte_code+5856>, 0x81c4a50 <exec_byte_code+5584>, 
          0x81c3718 <exec_byte_code+664>, 0x81c3720 <exec_byte_code+672>, 
          0x81c4b68 <exec_byte_code+5864>, 0x81c49e8 <exec_byte_code+5480>, 
          0x81c4a80 <exec_byte_code+5632>, 0x81c4a88 <exec_byte_code+5640>, 
          0x81c4ad8 <exec_byte_code+5720>, 0x81c4a90 <exec_byte_code+5648>, 
          0x81c35d0 <exec_byte_code+336>, 0x81c35d0 <exec_byte_code+336>, 
          0x81c4a38 <exec_byte_code+5560>, 0x81c4a58 <exec_byte_code+5592>, 
          0x81c4ad0 <exec_byte_code+5712>, 0x81c4ae0 <exec_byte_code+5728>, 
          0x81c4ae8 <exec_byte_code+5736>, 0x81c49a0 <exec_byte_code+5408>, 
          0x81c3610 <exec_byte_code+400>, 0x81c3610 <exec_byte_code+400>, 
          0x81c4a98 <exec_byte_code+5656>, 0x81c4ab0 <exec_byte_code+5680>, 
          0x81c4d58 <exec_byte_code+6360>, 0x81c4d50 <exec_byte_code+6352>, 
          0x81c4d60 <exec_byte_code+6368>, 0x81c4af0 <exec_byte_code+5744>, 
          0x81c3650 <exec_byte_code+464>, 0x81c3650 <exec_byte_code+464>, 
          0x81c49a8 <exec_byte_code+5416>, 0x81c4d28 <exec_byte_code+6312>, 
          0x81c3bc0 <exec_byte_code+1856>, 0x81c3a78 <exec_byte_code+1528>, 
          0x81c4db0 <exec_byte_code+6448>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3d00 <exec_byte_code+2176>, 0x81c3d80 <exec_byte_code+2304>, 
          0x81c3db0 <exec_byte_code+2352>, 0x81c3de8 <exec_byte_code+2408>, 
          0x81c3e20 <exec_byte_code+2464>, 0x81c4cf0 <exec_byte_code+6256>, 
          0x81c4c58 <exec_byte_code+6104>, 0x81c3e60 <exec_byte_code+2528>, 
          0x81c4cc0 <exec_byte_code+6208>, 0x81c4c90 <exec_byte_code+6160>, 
          0x81c43b0 <exec_byte_code+3888>, 0x81c4200 <exec_byte_code+3456>, 
          0x81c4230 <exec_byte_code+3504>, 0x81c4268 <exec_byte_code+3560>, 
          0x81c4298 <exec_byte_code+3608>, 0x81c4310 <exec_byte_code+3728>, 
          0x81c4340 <exec_byte_code+3776>, 0x81c4378 <exec_byte_code+3832>, 
          0x81c3e88 <exec_byte_code+2568>, 0x81c3eb0 <exec_byte_code+2608>, 
          0x81c3ee0 <exec_byte_code+2656>, 0x81c3f18 <exec_byte_code+2712>, 
          0x81c3f50 <exec_byte_code+2768>, 0x81c3f88 <exec_byte_code+2824>, 
          0x81c3fc0 <exec_byte_code+2880>, 0x81c3ff0 <exec_byte_code+2928>, 
          0x81c4020 <exec_byte_code+2976>, 0x81c4098 <exec_byte_code+3096>, 
          0x81c40d0 <exec_byte_code+3152>, 0x81c4110 <exec_byte_code+3216>, 
          0x81c41c8 <exec_byte_code+3400>, 0x81c4158 <exec_byte_code+3288>, 
          0x81c4190 <exec_byte_code+3344>, 0x81c43e8 <exec_byte_code+3944>, 
          0x81c4420 <exec_byte_code+4000>, 0x81c4450 <exec_byte_code+4048>, 
          0x81c4488 <exec_byte_code+4104>, 0x81c5340 <exec_byte_code+7872>, 
          0x81c5370 <exec_byte_code+7920>, 0x81c53a0 <exec_byte_code+7968>, 
          0x81c51c8 <exec_byte_code+7496>, 0x81c3690 <exec_byte_code+528>, 
          0x81c5200 <exec_byte_code+7552>, 0x81c5230 <exec_byte_code+7600>, 
          0x81c52a8 <exec_byte_code+7720>, 0x81c52e0 <exec_byte_code+7776>, 
          0x81c5310 <exec_byte_code+7824>, 0x81c4eb0 <exec_byte_code+6704>, 
          0x81c4ed8 <exec_byte_code+6744>, 0x81c4f00 <exec_byte_code+6784>, 
          0x81c4f30 <exec_byte_code+6832>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4f60 <exec_byte_code+6880>, 0x81c4f88 <exec_byte_code+6920>, 
          0x81c4fb0 <exec_byte_code+6960>, 0x81c4fd8 <exec_byte_code+7000>, 
          0x81c5000 <exec_byte_code+7040>, 0x81c5028 <exec_byte_code+7080>, 
          0x81c3690 <exec_byte_code+528>, 0x81c3788 <exec_byte_code+776>, 
          0x81c5050 <exec_byte_code+7120>, 0x81c5090 <exec_byte_code+7184>, 
          0x81c50c0 <exec_byte_code+7232>, 0x81c50f0 <exec_byte_code+7280>, 
          0x81c5128 <exec_byte_code+7336>, 0x81c5160 <exec_byte_code+7392>, 
          0x81c4e50 <exec_byte_code+6608>, 0x81c4e78 <exec_byte_code+6648>, 
          0x81c5870 <exec_byte_code+9200>, 0x81c58a8 <exec_byte_code+9256>, 
          0x81c57a8 <exec_byte_code+9000>, 0x81c57d0 <exec_byte_code+9040>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3a08 <exec_byte_code+1416>, 
          0x81c44b8 <exec_byte_code+4152>, 0x81c4bc0 <exec_byte_code+5952>, 
          0x81c4550 <exec_byte_code+4304>, 0x81c45e8 <exec_byte_code+4456>, 
          0x81c4678 <exec_byte_code+4600>, 0x81c4d68 <exec_byte_code+6376>, 
          0x81c39e8 <exec_byte_code+1384>, 0x81c4b80 <exec_byte_code+5888>, 
          0x81c3960 <exec_byte_code+1248>, 0x81c3990 <exec_byte_code+1296>, 
          0x81c3a48 <exec_byte_code+1480>, 0x81c3b80 <exec_byte_code+1792>, 
          0x81c3be8 <exec_byte_code+1896>, 0x81c3c30 <exec_byte_code+1968>, 
          0x81c3c70 <exec_byte_code+2032>, 0x81c3cb0 <exec_byte_code+2096>, 
          0x81c4af8 <exec_byte_code+5752>, 0x81c5800 <exec_byte_code+9088>, 
          0x81c5840 <exec_byte_code+9152>, 0x81c55a0 <exec_byte_code+8480>, 
          0x81c55d0 <exec_byte_code+8528>, 0x81c5600 <exec_byte_code+8576>, 
          0x81c5630 <exec_byte_code+8624>, 0x81c5668 <exec_byte_code+8680>, 
          0x81c56a0 <exec_byte_code+8736>, 0x81c56d8 <exec_byte_code+8792>, 
          0x81c5710 <exec_byte_code+8848>, 0x81c5400 <exec_byte_code+8064>, 
          0x81c5438 <exec_byte_code+8120>, 0x81c5470 <exec_byte_code+8176>, 
          0x81c54a0 <exec_byte_code+8224>, 0x81c54d8 <exec_byte_code+8280>, 
          0x81c5510 <exec_byte_code+8336>, 0x81c5540 <exec_byte_code+8384>, 
          0x81c5570 <exec_byte_code+8432>, 0x81c53d0 <exec_byte_code+8016>, 
          0x81c5190 <exec_byte_code+7440>, 0x81c4dd8 <exec_byte_code+6488>, 
          0x81c4e18 <exec_byte_code+6552>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4708 <exec_byte_code+4744>, 0x81c4790 <exec_byte_code+4880>, 
          0x81c4810 <exec_byte_code+5008>, 0x81c4890 <exec_byte_code+5136>, 
          0x81c38e0 <exec_byte_code+1120>, 0x81c42c8 <exec_byte_code+3656>, 
          0x81c4050 <exec_byte_code+3024>, 0x81c5260 <exec_byte_code+7648>, 
          0x81c4960 <exec_byte_code+5344>, 0x81c3820 <exec_byte_code+928>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3870 <exec_byte_code+1008>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c38b0 <exec_byte_code+1072> <repeats 64 times>}
        count = 17
        op = 4
        vectorp = 0x82ed994 <pure+262164>
        stack = {
          pc = 0x84345d1 <pure+1600593> "\207", 
          byte_string = 137288068, 
          byte_string_start = 0x8434584 <pure+1600516> "\303\304\b\t\b\305=\203E", 
          next = 0xbfffe15c
        }
        top = 0xbfffdf14
        result = <optimised out>
        type = <optimised out>
#23 0x08190ceb in funcall_lambda (fun=0, nargs=1, nargs@entry=2, arg_vector=0x2, 
    arg_vector@entry=0xbfffe0e8) at eval.c:2951
        val = 0
        syms_left = 0
        lexenv = 0
#24 0x081910a1 in Ffuncall (nargs=3, args=0xbfffe0e4) at eval.c:2779
        fun = <optimised out>
        original_fun = 1895840
        numargs = 2
        val = <optimised out>
        internal_args = <optimised out>
        count = 14
#25 0x081c362d in exec_byte_code (bytestr=<optimised out>, vector=137288725, 
    maxdepth=22, args_template=0, nargs=0, args=<optimised out>) at bytecode.c:919
        targets = {0x81c3788 <exec_byte_code+776>, 0x81c4dc0 <exec_byte_code+6464>, 
          0x81c4dc8 <exec_byte_code+6472>, 0x81c4dd0 <exec_byte_code+6480>, 
          0x81c35a0 <exec_byte_code+288>, 0x81c35a0 <exec_byte_code+288>, 
          0x81c4b20 <exec_byte_code+5792>, 0x81c4910 <exec_byte_code+5264>, 
          0x81c49c8 <exec_byte_code+5448>, 0x81c49c0 <exec_byte_code+5440>, 
          0x81c3818 <exec_byte_code+920>, 0x81c49d0 <exec_byte_code+5456>, 
          0x81c36c0 <exec_byte_code+576>, 0x81c36c0 <exec_byte_code+576>, 
          0x81c4ba8 <exec_byte_code+5928>, 0x81c37d0 <exec_byte_code+848>, 
          0x81c49d8 <exec_byte_code+5464>, 0x81c49e0 <exec_byte_code+5472>, 
          0x81c4b60 <exec_byte_code+5856>, 0x81c4a50 <exec_byte_code+5584>, 
          0x81c3718 <exec_byte_code+664>, 0x81c3720 <exec_byte_code+672>, 
          0x81c4b68 <exec_byte_code+5864>, 0x81c49e8 <exec_byte_code+5480>, 
          0x81c4a80 <exec_byte_code+5632>, 0x81c4a88 <exec_byte_code+5640>, 
          0x81c4ad8 <exec_byte_code+5720>, 0x81c4a90 <exec_byte_code+5648>, 
          0x81c35d0 <exec_byte_code+336>, 0x81c35d0 <exec_byte_code+336>, 
          0x81c4a38 <exec_byte_code+5560>, 0x81c4a58 <exec_byte_code+5592>, 
          0x81c4ad0 <exec_byte_code+5712>, 0x81c4ae0 <exec_byte_code+5728>, 
          0x81c4ae8 <exec_byte_code+5736>, 0x81c49a0 <exec_byte_code+5408>, 
          0x81c3610 <exec_byte_code+400>, 0x81c3610 <exec_byte_code+400>, 
          0x81c4a98 <exec_byte_code+5656>, 0x81c4ab0 <exec_byte_code+5680>, 
          0x81c4d58 <exec_byte_code+6360>, 0x81c4d50 <exec_byte_code+6352>, 
          0x81c4d60 <exec_byte_code+6368>, 0x81c4af0 <exec_byte_code+5744>, 
          0x81c3650 <exec_byte_code+464>, 0x81c3650 <exec_byte_code+464>, 
          0x81c49a8 <exec_byte_code+5416>, 0x81c4d28 <exec_byte_code+6312>, 
          0x81c3bc0 <exec_byte_code+1856>, 0x81c3a78 <exec_byte_code+1528>, 
          0x81c4db0 <exec_byte_code+6448>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3d00 <exec_byte_code+2176>, 0x81c3d80 <exec_byte_code+2304>, 
          0x81c3db0 <exec_byte_code+2352>, 0x81c3de8 <exec_byte_code+2408>, 
          0x81c3e20 <exec_byte_code+2464>, 0x81c4cf0 <exec_byte_code+6256>, 
          0x81c4c58 <exec_byte_code+6104>, 0x81c3e60 <exec_byte_code+2528>, 
          0x81c4cc0 <exec_byte_code+6208>, 0x81c4c90 <exec_byte_code+6160>, 
          0x81c43b0 <exec_byte_code+3888>, 0x81c4200 <exec_byte_code+3456>, 
          0x81c4230 <exec_byte_code+3504>, 0x81c4268 <exec_byte_code+3560>, 
          0x81c4298 <exec_byte_code+3608>, 0x81c4310 <exec_byte_code+3728>, 
          0x81c4340 <exec_byte_code+3776>, 0x81c4378 <exec_byte_code+3832>, 
          0x81c3e88 <exec_byte_code+2568>, 0x81c3eb0 <exec_byte_code+2608>, 
          0x81c3ee0 <exec_byte_code+2656>, 0x81c3f18 <exec_byte_code+2712>, 
          0x81c3f50 <exec_byte_code+2768>, 0x81c3f88 <exec_byte_code+2824>, 
          0x81c3fc0 <exec_byte_code+2880>, 0x81c3ff0 <exec_byte_code+2928>, 
          0x81c4020 <exec_byte_code+2976>, 0x81c4098 <exec_byte_code+3096>, 
          0x81c40d0 <exec_byte_code+3152>, 0x81c4110 <exec_byte_code+3216>, 
          0x81c41c8 <exec_byte_code+3400>, 0x81c4158 <exec_byte_code+3288>, 
          0x81c4190 <exec_byte_code+3344>, 0x81c43e8 <exec_byte_code+3944>, 
          0x81c4420 <exec_byte_code+4000>, 0x81c4450 <exec_byte_code+4048>, 
          0x81c4488 <exec_byte_code+4104>, 0x81c5340 <exec_byte_code+7872>, 
          0x81c5370 <exec_byte_code+7920>, 0x81c53a0 <exec_byte_code+7968>, 
          0x81c51c8 <exec_byte_code+7496>, 0x81c3690 <exec_byte_code+528>, 
          0x81c5200 <exec_byte_code+7552>, 0x81c5230 <exec_byte_code+7600>, 
          0x81c52a8 <exec_byte_code+7720>, 0x81c52e0 <exec_byte_code+7776>, 
          0x81c5310 <exec_byte_code+7824>, 0x81c4eb0 <exec_byte_code+6704>, 
          0x81c4ed8 <exec_byte_code+6744>, 0x81c4f00 <exec_byte_code+6784>, 
          0x81c4f30 <exec_byte_code+6832>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4f60 <exec_byte_code+6880>, 0x81c4f88 <exec_byte_code+6920>, 
          0x81c4fb0 <exec_byte_code+6960>, 0x81c4fd8 <exec_byte_code+7000>, 
          0x81c5000 <exec_byte_code+7040>, 0x81c5028 <exec_byte_code+7080>, 
          0x81c3690 <exec_byte_code+528>, 0x81c3788 <exec_byte_code+776>, 
          0x81c5050 <exec_byte_code+7120>, 0x81c5090 <exec_byte_code+7184>, 
          0x81c50c0 <exec_byte_code+7232>, 0x81c50f0 <exec_byte_code+7280>, 
          0x81c5128 <exec_byte_code+7336>, 0x81c5160 <exec_byte_code+7392>, 
          0x81c4e50 <exec_byte_code+6608>, 0x81c4e78 <exec_byte_code+6648>, 
          0x81c5870 <exec_byte_code+9200>, 0x81c58a8 <exec_byte_code+9256>, 
          0x81c57a8 <exec_byte_code+9000>, 0x81c57d0 <exec_byte_code+9040>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3a08 <exec_byte_code+1416>, 
          0x81c44b8 <exec_byte_code+4152>, 0x81c4bc0 <exec_byte_code+5952>, 
          0x81c4550 <exec_byte_code+4304>, 0x81c45e8 <exec_byte_code+4456>, 
          0x81c4678 <exec_byte_code+4600>, 0x81c4d68 <exec_byte_code+6376>, 
          0x81c39e8 <exec_byte_code+1384>, 0x81c4b80 <exec_byte_code+5888>, 
          0x81c3960 <exec_byte_code+1248>, 0x81c3990 <exec_byte_code+1296>, 
          0x81c3a48 <exec_byte_code+1480>, 0x81c3b80 <exec_byte_code+1792>, 
          0x81c3be8 <exec_byte_code+1896>, 0x81c3c30 <exec_byte_code+1968>, 
          0x81c3c70 <exec_byte_code+2032>, 0x81c3cb0 <exec_byte_code+2096>, 
          0x81c4af8 <exec_byte_code+5752>, 0x81c5800 <exec_byte_code+9088>, 
          0x81c5840 <exec_byte_code+9152>, 0x81c55a0 <exec_byte_code+8480>, 
          0x81c55d0 <exec_byte_code+8528>, 0x81c5600 <exec_byte_code+8576>, 
          0x81c5630 <exec_byte_code+8624>, 0x81c5668 <exec_byte_code+8680>, 
          0x81c56a0 <exec_byte_code+8736>, 0x81c56d8 <exec_byte_code+8792>, 
          0x81c5710 <exec_byte_code+8848>, 0x81c5400 <exec_byte_code+8064>, 
          0x81c5438 <exec_byte_code+8120>, 0x81c5470 <exec_byte_code+8176>, 
          0x81c54a0 <exec_byte_code+8224>, 0x81c54d8 <exec_byte_code+8280>, 
          0x81c5510 <exec_byte_code+8336>, 0x81c5540 <exec_byte_code+8384>, 
          0x81c5570 <exec_byte_code+8432>, 0x81c53d0 <exec_byte_code+8016>, 
          0x81c5190 <exec_byte_code+7440>, 0x81c4dd8 <exec_byte_code+6488>, 
          0x81c4e18 <exec_byte_code+6552>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4708 <exec_byte_code+4744>, 0x81c4790 <exec_byte_code+4880>, 
          0x81c4810 <exec_byte_code+5008>, 0x81c4890 <exec_byte_code+5136>, 
          0x81c38e0 <exec_byte_code+1120>, 0x81c42c8 <exec_byte_code+3656>, 
          0x81c4050 <exec_byte_code+3024>, 0x81c5260 <exec_byte_code+7648>, 
          0x81c4960 <exec_byte_code+5344>, 0x81c3820 <exec_byte_code+928>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3870 <exec_byte_code+1008>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c38b0 <exec_byte_code+1072> <repeats 64 times>}
        count = 14
        op = 2
        vectorp = 0x82edc14 <pure+262804>
        stack = {
          pc = 0x843444a <pure+1600202> "\210\b\310N\311ʉ\032\033\034\211\035\203S", 
          byte_string = 137288708, 
          byte_string_start = 0x8434438 <pure+1600184> "\b\306N\203\016", 
          next = 0xbfffe2dc
        }
        top = 0xbfffe0e4
        result = <optimised out>
        type = <optimised out>
#26 0x08190ceb in funcall_lambda (fun=0, nargs=1, nargs@entry=2, arg_vector=0x2, 
    arg_vector@entry=0xbfffe268) at eval.c:2951
        val = 0
        syms_left = 0
        lexenv = 0
#27 0x081910a1 in Ffuncall (nargs=3, args=0xbfffe264) at eval.c:2779
        fun = <optimised out>
        original_fun = 2033904
        numargs = 2
        val = <optimised out>
        internal_args = <optimised out>
        count = 11
#28 0x081c362d in exec_byte_code (bytestr=<optimised out>, vector=137291901, 
    maxdepth=26, args_template=0, nargs=0, args=<optimised out>) at bytecode.c:919
        targets = {0x81c3788 <exec_byte_code+776>, 0x81c4dc0 <exec_byte_code+6464>, 
          0x81c4dc8 <exec_byte_code+6472>, 0x81c4dd0 <exec_byte_code+6480>, 
          0x81c35a0 <exec_byte_code+288>, 0x81c35a0 <exec_byte_code+288>, 
          0x81c4b20 <exec_byte_code+5792>, 0x81c4910 <exec_byte_code+5264>, 
          0x81c49c8 <exec_byte_code+5448>, 0x81c49c0 <exec_byte_code+5440>, 
          0x81c3818 <exec_byte_code+920>, 0x81c49d0 <exec_byte_code+5456>, 
          0x81c36c0 <exec_byte_code+576>, 0x81c36c0 <exec_byte_code+576>, 
          0x81c4ba8 <exec_byte_code+5928>, 0x81c37d0 <exec_byte_code+848>, 
          0x81c49d8 <exec_byte_code+5464>, 0x81c49e0 <exec_byte_code+5472>, 
          0x81c4b60 <exec_byte_code+5856>, 0x81c4a50 <exec_byte_code+5584>, 
          0x81c3718 <exec_byte_code+664>, 0x81c3720 <exec_byte_code+672>, 
          0x81c4b68 <exec_byte_code+5864>, 0x81c49e8 <exec_byte_code+5480>, 
          0x81c4a80 <exec_byte_code+5632>, 0x81c4a88 <exec_byte_code+5640>, 
          0x81c4ad8 <exec_byte_code+5720>, 0x81c4a90 <exec_byte_code+5648>, 
          0x81c35d0 <exec_byte_code+336>, 0x81c35d0 <exec_byte_code+336>, 
          0x81c4a38 <exec_byte_code+5560>, 0x81c4a58 <exec_byte_code+5592>, 
          0x81c4ad0 <exec_byte_code+5712>, 0x81c4ae0 <exec_byte_code+5728>, 
          0x81c4ae8 <exec_byte_code+5736>, 0x81c49a0 <exec_byte_code+5408>, 
          0x81c3610 <exec_byte_code+400>, 0x81c3610 <exec_byte_code+400>, 
          0x81c4a98 <exec_byte_code+5656>, 0x81c4ab0 <exec_byte_code+5680>, 
          0x81c4d58 <exec_byte_code+6360>, 0x81c4d50 <exec_byte_code+6352>, 
          0x81c4d60 <exec_byte_code+6368>, 0x81c4af0 <exec_byte_code+5744>, 
          0x81c3650 <exec_byte_code+464>, 0x81c3650 <exec_byte_code+464>, 
          0x81c49a8 <exec_byte_code+5416>, 0x81c4d28 <exec_byte_code+6312>, 
          0x81c3bc0 <exec_byte_code+1856>, 0x81c3a78 <exec_byte_code+1528>, 
          0x81c4db0 <exec_byte_code+6448>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3d00 <exec_byte_code+2176>, 0x81c3d80 <exec_byte_code+2304>, 
          0x81c3db0 <exec_byte_code+2352>, 0x81c3de8 <exec_byte_code+2408>, 
          0x81c3e20 <exec_byte_code+2464>, 0x81c4cf0 <exec_byte_code+6256>, 
          0x81c4c58 <exec_byte_code+6104>, 0x81c3e60 <exec_byte_code+2528>, 
          0x81c4cc0 <exec_byte_code+6208>, 0x81c4c90 <exec_byte_code+6160>, 
          0x81c43b0 <exec_byte_code+3888>, 0x81c4200 <exec_byte_code+3456>, 
          0x81c4230 <exec_byte_code+3504>, 0x81c4268 <exec_byte_code+3560>, 
          0x81c4298 <exec_byte_code+3608>, 0x81c4310 <exec_byte_code+3728>, 
          0x81c4340 <exec_byte_code+3776>, 0x81c4378 <exec_byte_code+3832>, 
          0x81c3e88 <exec_byte_code+2568>, 0x81c3eb0 <exec_byte_code+2608>, 
          0x81c3ee0 <exec_byte_code+2656>, 0x81c3f18 <exec_byte_code+2712>, 
          0x81c3f50 <exec_byte_code+2768>, 0x81c3f88 <exec_byte_code+2824>, 
          0x81c3fc0 <exec_byte_code+2880>, 0x81c3ff0 <exec_byte_code+2928>, 
          0x81c4020 <exec_byte_code+2976>, 0x81c4098 <exec_byte_code+3096>, 
          0x81c40d0 <exec_byte_code+3152>, 0x81c4110 <exec_byte_code+3216>, 
          0x81c41c8 <exec_byte_code+3400>, 0x81c4158 <exec_byte_code+3288>, 
          0x81c4190 <exec_byte_code+3344>, 0x81c43e8 <exec_byte_code+3944>, 
          0x81c4420 <exec_byte_code+4000>, 0x81c4450 <exec_byte_code+4048>, 
          0x81c4488 <exec_byte_code+4104>, 0x81c5340 <exec_byte_code+7872>, 
          0x81c5370 <exec_byte_code+7920>, 0x81c53a0 <exec_byte_code+7968>, 
          0x81c51c8 <exec_byte_code+7496>, 0x81c3690 <exec_byte_code+528>, 
          0x81c5200 <exec_byte_code+7552>, 0x81c5230 <exec_byte_code+7600>, 
          0x81c52a8 <exec_byte_code+7720>, 0x81c52e0 <exec_byte_code+7776>, 
          0x81c5310 <exec_byte_code+7824>, 0x81c4eb0 <exec_byte_code+6704>, 
          0x81c4ed8 <exec_byte_code+6744>, 0x81c4f00 <exec_byte_code+6784>, 
          0x81c4f30 <exec_byte_code+6832>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4f60 <exec_byte_code+6880>, 0x81c4f88 <exec_byte_code+6920>, 
          0x81c4fb0 <exec_byte_code+6960>, 0x81c4fd8 <exec_byte_code+7000>, 
          0x81c5000 <exec_byte_code+7040>, 0x81c5028 <exec_byte_code+7080>, 
          0x81c3690 <exec_byte_code+528>, 0x81c3788 <exec_byte_code+776>, 
          0x81c5050 <exec_byte_code+7120>, 0x81c5090 <exec_byte_code+7184>, 
          0x81c50c0 <exec_byte_code+7232>, 0x81c50f0 <exec_byte_code+7280>, 
          0x81c5128 <exec_byte_code+7336>, 0x81c5160 <exec_byte_code+7392>, 
          0x81c4e50 <exec_byte_code+6608>, 0x81c4e78 <exec_byte_code+6648>, 
          0x81c5870 <exec_byte_code+9200>, 0x81c58a8 <exec_byte_code+9256>, 
          0x81c57a8 <exec_byte_code+9000>, 0x81c57d0 <exec_byte_code+9040>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3a08 <exec_byte_code+1416>, 
          0x81c44b8 <exec_byte_code+4152>, 0x81c4bc0 <exec_byte_code+5952>, 
          0x81c4550 <exec_byte_code+4304>, 0x81c45e8 <exec_byte_code+4456>, 
          0x81c4678 <exec_byte_code+4600>, 0x81c4d68 <exec_byte_code+6376>, 
          0x81c39e8 <exec_byte_code+1384>, 0x81c4b80 <exec_byte_code+5888>, 
          0x81c3960 <exec_byte_code+1248>, 0x81c3990 <exec_byte_code+1296>, 
          0x81c3a48 <exec_byte_code+1480>, 0x81c3b80 <exec_byte_code+1792>, 
          0x81c3be8 <exec_byte_code+1896>, 0x81c3c30 <exec_byte_code+1968>, 
          0x81c3c70 <exec_byte_code+2032>, 0x81c3cb0 <exec_byte_code+2096>, 
          0x81c4af8 <exec_byte_code+5752>, 0x81c5800 <exec_byte_code+9088>, 
          0x81c5840 <exec_byte_code+9152>, 0x81c55a0 <exec_byte_code+8480>, 
          0x81c55d0 <exec_byte_code+8528>, 0x81c5600 <exec_byte_code+8576>, 
          0x81c5630 <exec_byte_code+8624>, 0x81c5668 <exec_byte_code+8680>, 
          0x81c56a0 <exec_byte_code+8736>, 0x81c56d8 <exec_byte_code+8792>, 
          0x81c5710 <exec_byte_code+8848>, 0x81c5400 <exec_byte_code+8064>, 
          0x81c5438 <exec_byte_code+8120>, 0x81c5470 <exec_byte_code+8176>, 
          0x81c54a0 <exec_byte_code+8224>, 0x81c54d8 <exec_byte_code+8280>, 
          0x81c5510 <exec_byte_code+8336>, 0x81c5540 <exec_byte_code+8384>, 
          0x81c5570 <exec_byte_code+8432>, 0x81c53d0 <exec_byte_code+8016>, 
          0x81c5190 <exec_byte_code+7440>, 0x81c4dd8 <exec_byte_code+6488>, 
          0x81c4e18 <exec_byte_code+6552>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4708 <exec_byte_code+4744>, 0x81c4790 <exec_byte_code+4880>, 
          0x81c4810 <exec_byte_code+5008>, 0x81c4890 <exec_byte_code+5136>, 
          0x81c38e0 <exec_byte_code+1120>, 0x81c42c8 <exec_byte_code+3656>, 
          0x81c4050 <exec_byte_code+3024>, 0x81c5260 <exec_byte_code+7648>, 
          0x81c4960 <exec_byte_code+5344>, 0x81c3820 <exec_byte_code+928>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3870 <exec_byte_code+1008>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c38b0 <exec_byte_code+1072> <repeats 64 times>}
        count = 9
        op = 2
        vectorp = 0x82ee87c <pure+265980>
        stack = {
          pc = 0x8433c9b <pure+1598235> "\210\312\b\n\"0\202\"", 
          byte_string = 137291884, 
          byte_string_start = 0x8433c86 <pure+1598214> "\306 \237\307\030\211\031\203*", 
          next = 0xbfffe47c
        }
        top = 0xbfffe264
        result = <optimised out>
        type = <optimised out>
#29 0x08190ceb in funcall_lambda (fun=0, nargs=nargs@entry=1, arg_vector=0x2, 
    arg_vector@entry=0xbfffe400) at eval.c:2951
        val = 0
        syms_left = 0
        lexenv = 0
#30 0x081910a1 in Ffuncall (nargs=2, args=0xbfffe3fc) at eval.c:2779
        fun = <optimised out>
        original_fun = 9792
        numargs = 1
        val = <optimised out>
        internal_args = <optimised out>
        count = 6
#31 0x081c362d in exec_byte_code (bytestr=<optimised out>, vector=137608541, 
    maxdepth=58, args_template=2, nargs=0, args=<optimised out>) at bytecode.c:919
        targets = {0x81c3788 <exec_byte_code+776>, 0x81c4dc0 <exec_byte_code+6464>, 
          0x81c4dc8 <exec_byte_code+6472>, 0x81c4dd0 <exec_byte_code+6480>, 
          0x81c35a0 <exec_byte_code+288>, 0x81c35a0 <exec_byte_code+288>, 
          0x81c4b20 <exec_byte_code+5792>, 0x81c4910 <exec_byte_code+5264>, 
          0x81c49c8 <exec_byte_code+5448>, 0x81c49c0 <exec_byte_code+5440>, 
          0x81c3818 <exec_byte_code+920>, 0x81c49d0 <exec_byte_code+5456>, 
          0x81c36c0 <exec_byte_code+576>, 0x81c36c0 <exec_byte_code+576>, 
          0x81c4ba8 <exec_byte_code+5928>, 0x81c37d0 <exec_byte_code+848>, 
          0x81c49d8 <exec_byte_code+5464>, 0x81c49e0 <exec_byte_code+5472>, 
          0x81c4b60 <exec_byte_code+5856>, 0x81c4a50 <exec_byte_code+5584>, 
          0x81c3718 <exec_byte_code+664>, 0x81c3720 <exec_byte_code+672>, 
          0x81c4b68 <exec_byte_code+5864>, 0x81c49e8 <exec_byte_code+5480>, 
          0x81c4a80 <exec_byte_code+5632>, 0x81c4a88 <exec_byte_code+5640>, 
          0x81c4ad8 <exec_byte_code+5720>, 0x81c4a90 <exec_byte_code+5648>, 
          0x81c35d0 <exec_byte_code+336>, 0x81c35d0 <exec_byte_code+336>, 
          0x81c4a38 <exec_byte_code+5560>, 0x81c4a58 <exec_byte_code+5592>, 
          0x81c4ad0 <exec_byte_code+5712>, 0x81c4ae0 <exec_byte_code+5728>, 
          0x81c4ae8 <exec_byte_code+5736>, 0x81c49a0 <exec_byte_code+5408>, 
          0x81c3610 <exec_byte_code+400>, 0x81c3610 <exec_byte_code+400>, 
          0x81c4a98 <exec_byte_code+5656>, 0x81c4ab0 <exec_byte_code+5680>, 
          0x81c4d58 <exec_byte_code+6360>, 0x81c4d50 <exec_byte_code+6352>, 
          0x81c4d60 <exec_byte_code+6368>, 0x81c4af0 <exec_byte_code+5744>, 
          0x81c3650 <exec_byte_code+464>, 0x81c3650 <exec_byte_code+464>, 
          0x81c49a8 <exec_byte_code+5416>, 0x81c4d28 <exec_byte_code+6312>, 
          0x81c3bc0 <exec_byte_code+1856>, 0x81c3a78 <exec_byte_code+1528>, 
          0x81c4db0 <exec_byte_code+6448>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3d00 <exec_byte_code+2176>, 0x81c3d80 <exec_byte_code+2304>, 
          0x81c3db0 <exec_byte_code+2352>, 0x81c3de8 <exec_byte_code+2408>, 
          0x81c3e20 <exec_byte_code+2464>, 0x81c4cf0 <exec_byte_code+6256>, 
          0x81c4c58 <exec_byte_code+6104>, 0x81c3e60 <exec_byte_code+2528>, 
          0x81c4cc0 <exec_byte_code+6208>, 0x81c4c90 <exec_byte_code+6160>, 
          0x81c43b0 <exec_byte_code+3888>, 0x81c4200 <exec_byte_code+3456>, 
          0x81c4230 <exec_byte_code+3504>, 0x81c4268 <exec_byte_code+3560>, 
          0x81c4298 <exec_byte_code+3608>, 0x81c4310 <exec_byte_code+3728>, 
          0x81c4340 <exec_byte_code+3776>, 0x81c4378 <exec_byte_code+3832>, 
          0x81c3e88 <exec_byte_code+2568>, 0x81c3eb0 <exec_byte_code+2608>, 
          0x81c3ee0 <exec_byte_code+2656>, 0x81c3f18 <exec_byte_code+2712>, 
          0x81c3f50 <exec_byte_code+2768>, 0x81c3f88 <exec_byte_code+2824>, 
          0x81c3fc0 <exec_byte_code+2880>, 0x81c3ff0 <exec_byte_code+2928>, 
          0x81c4020 <exec_byte_code+2976>, 0x81c4098 <exec_byte_code+3096>, 
          0x81c40d0 <exec_byte_code+3152>, 0x81c4110 <exec_byte_code+3216>, 
          0x81c41c8 <exec_byte_code+3400>, 0x81c4158 <exec_byte_code+3288>, 
          0x81c4190 <exec_byte_code+3344>, 0x81c43e8 <exec_byte_code+3944>, 
          0x81c4420 <exec_byte_code+4000>, 0x81c4450 <exec_byte_code+4048>, 
          0x81c4488 <exec_byte_code+4104>, 0x81c5340 <exec_byte_code+7872>, 
          0x81c5370 <exec_byte_code+7920>, 0x81c53a0 <exec_byte_code+7968>, 
          0x81c51c8 <exec_byte_code+7496>, 0x81c3690 <exec_byte_code+528>, 
          0x81c5200 <exec_byte_code+7552>, 0x81c5230 <exec_byte_code+7600>, 
          0x81c52a8 <exec_byte_code+7720>, 0x81c52e0 <exec_byte_code+7776>, 
          0x81c5310 <exec_byte_code+7824>, 0x81c4eb0 <exec_byte_code+6704>, 
          0x81c4ed8 <exec_byte_code+6744>, 0x81c4f00 <exec_byte_code+6784>, 
          0x81c4f30 <exec_byte_code+6832>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4f60 <exec_byte_code+6880>, 0x81c4f88 <exec_byte_code+6920>, 
          0x81c4fb0 <exec_byte_code+6960>, 0x81c4fd8 <exec_byte_code+7000>, 
          0x81c5000 <exec_byte_code+7040>, 0x81c5028 <exec_byte_code+7080>, 
          0x81c3690 <exec_byte_code+528>, 0x81c3788 <exec_byte_code+776>, 
          0x81c5050 <exec_byte_code+7120>, 0x81c5090 <exec_byte_code+7184>, 
          0x81c50c0 <exec_byte_code+7232>, 0x81c50f0 <exec_byte_code+7280>, 
          0x81c5128 <exec_byte_code+7336>, 0x81c5160 <exec_byte_code+7392>, 
          0x81c4e50 <exec_byte_code+6608>, 0x81c4e78 <exec_byte_code+6648>, 
          0x81c5870 <exec_byte_code+9200>, 0x81c58a8 <exec_byte_code+9256>, 
          0x81c57a8 <exec_byte_code+9000>, 0x81c57d0 <exec_byte_code+9040>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3a08 <exec_byte_code+1416>, 
          0x81c44b8 <exec_byte_code+4152>, 0x81c4bc0 <exec_byte_code+5952>, 
          0x81c4550 <exec_byte_code+4304>, 0x81c45e8 <exec_byte_code+4456>, 
          0x81c4678 <exec_byte_code+4600>, 0x81c4d68 <exec_byte_code+6376>, 
          0x81c39e8 <exec_byte_code+1384>, 0x81c4b80 <exec_byte_code+5888>, 
          0x81c3960 <exec_byte_code+1248>, 0x81c3990 <exec_byte_code+1296>, 
          0x81c3a48 <exec_byte_code+1480>, 0x81c3b80 <exec_byte_code+1792>, 
          0x81c3be8 <exec_byte_code+1896>, 0x81c3c30 <exec_byte_code+1968>, 
          0x81c3c70 <exec_byte_code+2032>, 0x81c3cb0 <exec_byte_code+2096>, 
          0x81c4af8 <exec_byte_code+5752>, 0x81c5800 <exec_byte_code+9088>, 
          0x81c5840 <exec_byte_code+9152>, 0x81c55a0 <exec_byte_code+8480>, 
          0x81c55d0 <exec_byte_code+8528>, 0x81c5600 <exec_byte_code+8576>, 
          0x81c5630 <exec_byte_code+8624>, 0x81c5668 <exec_byte_code+8680>, 
          0x81c56a0 <exec_byte_code+8736>, 0x81c56d8 <exec_byte_code+8792>, 
          0x81c5710 <exec_byte_code+8848>, 0x81c5400 <exec_byte_code+8064>, 
          0x81c5438 <exec_byte_code+8120>, 0x81c5470 <exec_byte_code+8176>, 
          0x81c54a0 <exec_byte_code+8224>, 0x81c54d8 <exec_byte_code+8280>, 
          0x81c5510 <exec_byte_code+8336>, 0x81c5540 <exec_byte_code+8384>, 
          0x81c5570 <exec_byte_code+8432>, 0x81c53d0 <exec_byte_code+8016>, 
          0x81c5190 <exec_byte_code+7440>, 0x81c4dd8 <exec_byte_code+6488>, 
          0x81c4e18 <exec_byte_code+6552>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4708 <exec_byte_code+4744>, 0x81c4790 <exec_byte_code+4880>, 
          0x81c4810 <exec_byte_code+5008>, 0x81c4890 <exec_byte_code+5136>, 
          0x81c38e0 <exec_byte_code+1120>, 0x81c42c8 <exec_byte_code+3656>, 
          0x81c4050 <exec_byte_code+3024>, 0x81c5260 <exec_byte_code+7648>, 
          0x81c4960 <exec_byte_code+5344>, 0x81c3820 <exec_byte_code+928>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3870 <exec_byte_code+1008>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c38b0 <exec_byte_code+1072> <repeats 64 times>}
        count = 6
        op = 1
        vectorp = 0x833bd5c <pure+582620>
        stack = {
          pc = 0x83f6e07 <pure+1348743> "\210\307\001\005\"\262\004\016;@\247\203\275\002\016;@S\v\366\313\006\aF\016;ABB\026;\312\v\005\"\266\005\001q\210ˉ\022\211\023\207", 
          byte_string = 137608524, 
          byte_string_start = 0x83f6b69 <pure+1348073> "p\b\t\236A\n\203b", 
          next = 0xbfffe5fc
        }
        top = 0xbfffe3fc
        result = <optimised out>
        type = <optimised out>
#32 0x08190df1 in funcall_lambda (fun=0, nargs=1, nargs@entry=0, arg_vector=0x2, 
    arg_vector@entry=0xbfffe588) at eval.c:2885
        val = 0
        syms_left = 2
        lexenv = -1073748600
#33 0x081910a1 in Ffuncall (nargs=1, args=0xbfffe584) at eval.c:2779
        fun = <optimised out>
        original_fun = 3565808
        numargs = 0
        val = <optimised out>
        internal_args = <optimised out>
        count = 5
#34 0x081c362d in exec_byte_code (bytestr=<optimised out>, vector=142380029, 
    maxdepth=26, args_template=2, nargs=0, args=<optimised out>) at bytecode.c:919
        targets = {0x81c3788 <exec_byte_code+776>, 0x81c4dc0 <exec_byte_code+6464>, 
          0x81c4dc8 <exec_byte_code+6472>, 0x81c4dd0 <exec_byte_code+6480>, 
          0x81c35a0 <exec_byte_code+288>, 0x81c35a0 <exec_byte_code+288>, 
          0x81c4b20 <exec_byte_code+5792>, 0x81c4910 <exec_byte_code+5264>, 
          0x81c49c8 <exec_byte_code+5448>, 0x81c49c0 <exec_byte_code+5440>, 
          0x81c3818 <exec_byte_code+920>, 0x81c49d0 <exec_byte_code+5456>, 
          0x81c36c0 <exec_byte_code+576>, 0x81c36c0 <exec_byte_code+576>, 
          0x81c4ba8 <exec_byte_code+5928>, 0x81c37d0 <exec_byte_code+848>, 
          0x81c49d8 <exec_byte_code+5464>, 0x81c49e0 <exec_byte_code+5472>, 
          0x81c4b60 <exec_byte_code+5856>, 0x81c4a50 <exec_byte_code+5584>, 
          0x81c3718 <exec_byte_code+664>, 0x81c3720 <exec_byte_code+672>, 
          0x81c4b68 <exec_byte_code+5864>, 0x81c49e8 <exec_byte_code+5480>, 
          0x81c4a80 <exec_byte_code+5632>, 0x81c4a88 <exec_byte_code+5640>, 
          0x81c4ad8 <exec_byte_code+5720>, 0x81c4a90 <exec_byte_code+5648>, 
          0x81c35d0 <exec_byte_code+336>, 0x81c35d0 <exec_byte_code+336>, 
          0x81c4a38 <exec_byte_code+5560>, 0x81c4a58 <exec_byte_code+5592>, 
          0x81c4ad0 <exec_byte_code+5712>, 0x81c4ae0 <exec_byte_code+5728>, 
          0x81c4ae8 <exec_byte_code+5736>, 0x81c49a0 <exec_byte_code+5408>, 
          0x81c3610 <exec_byte_code+400>, 0x81c3610 <exec_byte_code+400>, 
          0x81c4a98 <exec_byte_code+5656>, 0x81c4ab0 <exec_byte_code+5680>, 
          0x81c4d58 <exec_byte_code+6360>, 0x81c4d50 <exec_byte_code+6352>, 
          0x81c4d60 <exec_byte_code+6368>, 0x81c4af0 <exec_byte_code+5744>, 
          0x81c3650 <exec_byte_code+464>, 0x81c3650 <exec_byte_code+464>, 
          0x81c49a8 <exec_byte_code+5416>, 0x81c4d28 <exec_byte_code+6312>, 
          0x81c3bc0 <exec_byte_code+1856>, 0x81c3a78 <exec_byte_code+1528>, 
          0x81c4db0 <exec_byte_code+6448>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3d00 <exec_byte_code+2176>, 0x81c3d80 <exec_byte_code+2304>, 
          0x81c3db0 <exec_byte_code+2352>, 0x81c3de8 <exec_byte_code+2408>, 
          0x81c3e20 <exec_byte_code+2464>, 0x81c4cf0 <exec_byte_code+6256>, 
          0x81c4c58 <exec_byte_code+6104>, 0x81c3e60 <exec_byte_code+2528>, 
          0x81c4cc0 <exec_byte_code+6208>, 0x81c4c90 <exec_byte_code+6160>, 
          0x81c43b0 <exec_byte_code+3888>, 0x81c4200 <exec_byte_code+3456>, 
          0x81c4230 <exec_byte_code+3504>, 0x81c4268 <exec_byte_code+3560>, 
          0x81c4298 <exec_byte_code+3608>, 0x81c4310 <exec_byte_code+3728>, 
          0x81c4340 <exec_byte_code+3776>, 0x81c4378 <exec_byte_code+3832>, 
          0x81c3e88 <exec_byte_code+2568>, 0x81c3eb0 <exec_byte_code+2608>, 
          0x81c3ee0 <exec_byte_code+2656>, 0x81c3f18 <exec_byte_code+2712>, 
          0x81c3f50 <exec_byte_code+2768>, 0x81c3f88 <exec_byte_code+2824>, 
          0x81c3fc0 <exec_byte_code+2880>, 0x81c3ff0 <exec_byte_code+2928>, 
          0x81c4020 <exec_byte_code+2976>, 0x81c4098 <exec_byte_code+3096>, 
          0x81c40d0 <exec_byte_code+3152>, 0x81c4110 <exec_byte_code+3216>, 
          0x81c41c8 <exec_byte_code+3400>, 0x81c4158 <exec_byte_code+3288>, 
          0x81c4190 <exec_byte_code+3344>, 0x81c43e8 <exec_byte_code+3944>, 
          0x81c4420 <exec_byte_code+4000>, 0x81c4450 <exec_byte_code+4048>, 
          0x81c4488 <exec_byte_code+4104>, 0x81c5340 <exec_byte_code+7872>, 
          0x81c5370 <exec_byte_code+7920>, 0x81c53a0 <exec_byte_code+7968>, 
          0x81c51c8 <exec_byte_code+7496>, 0x81c3690 <exec_byte_code+528>, 
          0x81c5200 <exec_byte_code+7552>, 0x81c5230 <exec_byte_code+7600>, 
          0x81c52a8 <exec_byte_code+7720>, 0x81c52e0 <exec_byte_code+7776>, 
          0x81c5310 <exec_byte_code+7824>, 0x81c4eb0 <exec_byte_code+6704>, 
          0x81c4ed8 <exec_byte_code+6744>, 0x81c4f00 <exec_byte_code+6784>, 
          0x81c4f30 <exec_byte_code+6832>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4f60 <exec_byte_code+6880>, 0x81c4f88 <exec_byte_code+6920>, 
          0x81c4fb0 <exec_byte_code+6960>, 0x81c4fd8 <exec_byte_code+7000>, 
          0x81c5000 <exec_byte_code+7040>, 0x81c5028 <exec_byte_code+7080>, 
          0x81c3690 <exec_byte_code+528>, 0x81c3788 <exec_byte_code+776>, 
          0x81c5050 <exec_byte_code+7120>, 0x81c5090 <exec_byte_code+7184>, 
          0x81c50c0 <exec_byte_code+7232>, 0x81c50f0 <exec_byte_code+7280>, 
          0x81c5128 <exec_byte_code+7336>, 0x81c5160 <exec_byte_code+7392>, 
          0x81c4e50 <exec_byte_code+6608>, 0x81c4e78 <exec_byte_code+6648>, 
          0x81c5870 <exec_byte_code+9200>, 0x81c58a8 <exec_byte_code+9256>, 
          0x81c57a8 <exec_byte_code+9000>, 0x81c57d0 <exec_byte_code+9040>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3a08 <exec_byte_code+1416>, 
          0x81c44b8 <exec_byte_code+4152>, 0x81c4bc0 <exec_byte_code+5952>, 
          0x81c4550 <exec_byte_code+4304>, 0x81c45e8 <exec_byte_code+4456>, 
          0x81c4678 <exec_byte_code+4600>, 0x81c4d68 <exec_byte_code+6376>, 
          0x81c39e8 <exec_byte_code+1384>, 0x81c4b80 <exec_byte_code+5888>, 
          0x81c3960 <exec_byte_code+1248>, 0x81c3990 <exec_byte_code+1296>, 
          0x81c3a48 <exec_byte_code+1480>, 0x81c3b80 <exec_byte_code+1792>, 
          0x81c3be8 <exec_byte_code+1896>, 0x81c3c30 <exec_byte_code+1968>, 
          0x81c3c70 <exec_byte_code+2032>, 0x81c3cb0 <exec_byte_code+2096>, 
          0x81c4af8 <exec_byte_code+5752>, 0x81c5800 <exec_byte_code+9088>, 
          0x81c5840 <exec_byte_code+9152>, 0x81c55a0 <exec_byte_code+8480>, 
          0x81c55d0 <exec_byte_code+8528>, 0x81c5600 <exec_byte_code+8576>, 
          0x81c5630 <exec_byte_code+8624>, 0x81c5668 <exec_byte_code+8680>, 
          0x81c56a0 <exec_byte_code+8736>, 0x81c56d8 <exec_byte_code+8792>, 
          0x81c5710 <exec_byte_code+8848>, 0x81c5400 <exec_byte_code+8064>, 
          0x81c5438 <exec_byte_code+8120>, 0x81c5470 <exec_byte_code+8176>, 
          0x81c54a0 <exec_byte_code+8224>, 0x81c54d8 <exec_byte_code+8280>, 
          0x81c5510 <exec_byte_code+8336>, 0x81c5540 <exec_byte_code+8384>, 
          0x81c5570 <exec_byte_code+8432>, 0x81c53d0 <exec_byte_code+8016>, 
          0x81c5190 <exec_byte_code+7440>, 0x81c4dd8 <exec_byte_code+6488>, 
          0x81c4e18 <exec_byte_code+6552>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4708 <exec_byte_code+4744>, 0x81c4790 <exec_byte_code+4880>, 
          0x81c4810 <exec_byte_code+5008>, 0x81c4890 <exec_byte_code+5136>, 
          0x81c38e0 <exec_byte_code+1120>, 0x81c42c8 <exec_byte_code+3656>, 
          0x81c4050 <exec_byte_code+3024>, 0x81c5260 <exec_byte_code+7648>, 
          0x81c4960 <exec_byte_code+5344>, 0x81c3820 <exec_byte_code+928>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3870 <exec_byte_code+1008>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c38b0 <exec_byte_code+1072> <repeats 64 times>}
        count = 5
        op = 0
        vectorp = 0x87c8bfc
        stack = {
          pc = 0x83f38f6 <pure+1335158> "\210\333\335!\203t", 
          byte_string = 137624700, 
          byte_string_start = 0x83f388e <pure+1335054> "\t\203\b", 
          next = 0xbfffe7fc
        }
        top = 0xbfffe584
        result = <optimised out>
        type = <optimised out>
#35 0x08190df1 in funcall_lambda (fun=0, nargs=1, nargs@entry=0, arg_vector=0x2, 
    arg_vector@entry=0xbfffe714) at eval.c:2885
        val = 0
        syms_left = 2
        lexenv = -1073748204
#36 0x081910a1 in Ffuncall (nargs=1, args=0xbfffe710) at eval.c:2779
        fun = <optimised out>
        original_fun = 142624269
        numargs = 0
        val = <optimised out>
        internal_args = <optimised out>
        count = 4
#37 0x081c342f in bcall0 (f=142624269) at bytecode.c:491
No locals.
#38 0x08190007 in unbind_to (count=4, value=0) at eval.c:3214
        quitf = 0
#39 0x081c366e in exec_byte_code (bytestr=<optimised out>, vector=137624149, 
    maxdepth=50, args_template=2, nargs=0, args=<optimised out>) at bytecode.c:941
        targets = {0x81c3788 <exec_byte_code+776>, 0x81c4dc0 <exec_byte_code+6464>, 
          0x81c4dc8 <exec_byte_code+6472>, 0x81c4dd0 <exec_byte_code+6480>, 
          0x81c35a0 <exec_byte_code+288>, 0x81c35a0 <exec_byte_code+288>, 
          0x81c4b20 <exec_byte_code+5792>, 0x81c4910 <exec_byte_code+5264>, 
          0x81c49c8 <exec_byte_code+5448>, 0x81c49c0 <exec_byte_code+5440>, 
          0x81c3818 <exec_byte_code+920>, 0x81c49d0 <exec_byte_code+5456>, 
          0x81c36c0 <exec_byte_code+576>, 0x81c36c0 <exec_byte_code+576>, 
          0x81c4ba8 <exec_byte_code+5928>, 0x81c37d0 <exec_byte_code+848>, 
          0x81c49d8 <exec_byte_code+5464>, 0x81c49e0 <exec_byte_code+5472>, 
          0x81c4b60 <exec_byte_code+5856>, 0x81c4a50 <exec_byte_code+5584>, 
          0x81c3718 <exec_byte_code+664>, 0x81c3720 <exec_byte_code+672>, 
          0x81c4b68 <exec_byte_code+5864>, 0x81c49e8 <exec_byte_code+5480>, 
          0x81c4a80 <exec_byte_code+5632>, 0x81c4a88 <exec_byte_code+5640>, 
          0x81c4ad8 <exec_byte_code+5720>, 0x81c4a90 <exec_byte_code+5648>, 
          0x81c35d0 <exec_byte_code+336>, 0x81c35d0 <exec_byte_code+336>, 
          0x81c4a38 <exec_byte_code+5560>, 0x81c4a58 <exec_byte_code+5592>, 
          0x81c4ad0 <exec_byte_code+5712>, 0x81c4ae0 <exec_byte_code+5728>, 
          0x81c4ae8 <exec_byte_code+5736>, 0x81c49a0 <exec_byte_code+5408>, 
          0x81c3610 <exec_byte_code+400>, 0x81c3610 <exec_byte_code+400>, 
          0x81c4a98 <exec_byte_code+5656>, 0x81c4ab0 <exec_byte_code+5680>, 
          0x81c4d58 <exec_byte_code+6360>, 0x81c4d50 <exec_byte_code+6352>, 
          0x81c4d60 <exec_byte_code+6368>, 0x81c4af0 <exec_byte_code+5744>, 
          0x81c3650 <exec_byte_code+464>, 0x81c3650 <exec_byte_code+464>, 
          0x81c49a8 <exec_byte_code+5416>, 0x81c4d28 <exec_byte_code+6312>, 
          0x81c3bc0 <exec_byte_code+1856>, 0x81c3a78 <exec_byte_code+1528>, 
          0x81c4db0 <exec_byte_code+6448>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3d00 <exec_byte_code+2176>, 0x81c3d80 <exec_byte_code+2304>, 
          0x81c3db0 <exec_byte_code+2352>, 0x81c3de8 <exec_byte_code+2408>, 
          0x81c3e20 <exec_byte_code+2464>, 0x81c4cf0 <exec_byte_code+6256>, 
          0x81c4c58 <exec_byte_code+6104>, 0x81c3e60 <exec_byte_code+2528>, 
          0x81c4cc0 <exec_byte_code+6208>, 0x81c4c90 <exec_byte_code+6160>, 
          0x81c43b0 <exec_byte_code+3888>, 0x81c4200 <exec_byte_code+3456>, 
          0x81c4230 <exec_byte_code+3504>, 0x81c4268 <exec_byte_code+3560>, 
          0x81c4298 <exec_byte_code+3608>, 0x81c4310 <exec_byte_code+3728>, 
          0x81c4340 <exec_byte_code+3776>, 0x81c4378 <exec_byte_code+3832>, 
          0x81c3e88 <exec_byte_code+2568>, 0x81c3eb0 <exec_byte_code+2608>, 
          0x81c3ee0 <exec_byte_code+2656>, 0x81c3f18 <exec_byte_code+2712>, 
          0x81c3f50 <exec_byte_code+2768>, 0x81c3f88 <exec_byte_code+2824>, 
          0x81c3fc0 <exec_byte_code+2880>, 0x81c3ff0 <exec_byte_code+2928>, 
          0x81c4020 <exec_byte_code+2976>, 0x81c4098 <exec_byte_code+3096>, 
          0x81c40d0 <exec_byte_code+3152>, 0x81c4110 <exec_byte_code+3216>, 
          0x81c41c8 <exec_byte_code+3400>, 0x81c4158 <exec_byte_code+3288>, 
          0x81c4190 <exec_byte_code+3344>, 0x81c43e8 <exec_byte_code+3944>, 
          0x81c4420 <exec_byte_code+4000>, 0x81c4450 <exec_byte_code+4048>, 
          0x81c4488 <exec_byte_code+4104>, 0x81c5340 <exec_byte_code+7872>, 
          0x81c5370 <exec_byte_code+7920>, 0x81c53a0 <exec_byte_code+7968>, 
          0x81c51c8 <exec_byte_code+7496>, 0x81c3690 <exec_byte_code+528>, 
          0x81c5200 <exec_byte_code+7552>, 0x81c5230 <exec_byte_code+7600>, 
          0x81c52a8 <exec_byte_code+7720>, 0x81c52e0 <exec_byte_code+7776>, 
          0x81c5310 <exec_byte_code+7824>, 0x81c4eb0 <exec_byte_code+6704>, 
          0x81c4ed8 <exec_byte_code+6744>, 0x81c4f00 <exec_byte_code+6784>, 
          0x81c4f30 <exec_byte_code+6832>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4f60 <exec_byte_code+6880>, 0x81c4f88 <exec_byte_code+6920>, 
          0x81c4fb0 <exec_byte_code+6960>, 0x81c4fd8 <exec_byte_code+7000>, 
          0x81c5000 <exec_byte_code+7040>, 0x81c5028 <exec_byte_code+7080>, 
          0x81c3690 <exec_byte_code+528>, 0x81c3788 <exec_byte_code+776>, 
          0x81c5050 <exec_byte_code+7120>, 0x81c5090 <exec_byte_code+7184>, 
          0x81c50c0 <exec_byte_code+7232>, 0x81c50f0 <exec_byte_code+7280>, 
          0x81c5128 <exec_byte_code+7336>, 0x81c5160 <exec_byte_code+7392>, 
          0x81c4e50 <exec_byte_code+6608>, 0x81c4e78 <exec_byte_code+6648>, 
          0x81c5870 <exec_byte_code+9200>, 0x81c58a8 <exec_byte_code+9256>, 
          0x81c57a8 <exec_byte_code+9000>, 0x81c57d0 <exec_byte_code+9040>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3a08 <exec_byte_code+1416>, 
          0x81c44b8 <exec_byte_code+4152>, 0x81c4bc0 <exec_byte_code+5952>, 
          0x81c4550 <exec_byte_code+4304>, 0x81c45e8 <exec_byte_code+4456>, 
          0x81c4678 <exec_byte_code+4600>, 0x81c4d68 <exec_byte_code+6376>, 
          0x81c39e8 <exec_byte_code+1384>, 0x81c4b80 <exec_byte_code+5888>, 
          0x81c3960 <exec_byte_code+1248>, 0x81c3990 <exec_byte_code+1296>, 
          0x81c3a48 <exec_byte_code+1480>, 0x81c3b80 <exec_byte_code+1792>, 
          0x81c3be8 <exec_byte_code+1896>, 0x81c3c30 <exec_byte_code+1968>, 
          0x81c3c70 <exec_byte_code+2032>, 0x81c3cb0 <exec_byte_code+2096>, 
          0x81c4af8 <exec_byte_code+5752>, 0x81c5800 <exec_byte_code+9088>, 
          0x81c5840 <exec_byte_code+9152>, 0x81c55a0 <exec_byte_code+8480>, 
          0x81c55d0 <exec_byte_code+8528>, 0x81c5600 <exec_byte_code+8576>, 
          0x81c5630 <exec_byte_code+8624>, 0x81c5668 <exec_byte_code+8680>, 
          0x81c56a0 <exec_byte_code+8736>, 0x81c56d8 <exec_byte_code+8792>, 
          0x81c5710 <exec_byte_code+8848>, 0x81c5400 <exec_byte_code+8064>, 
          0x81c5438 <exec_byte_code+8120>, 0x81c5470 <exec_byte_code+8176>, 
          0x81c54a0 <exec_byte_code+8224>, 0x81c54d8 <exec_byte_code+8280>, 
          0x81c5510 <exec_byte_code+8336>, 0x81c5540 <exec_byte_code+8384>, 
          0x81c5570 <exec_byte_code+8432>, 0x81c53d0 <exec_byte_code+8016>, 
          0x81c5190 <exec_byte_code+7440>, 0x81c4dd8 <exec_byte_code+6488>, 
          0x81c4e18 <exec_byte_code+6552>, 0x81c3788 <exec_byte_code+776>, 
          0x81c4708 <exec_byte_code+4744>, 0x81c4790 <exec_byte_code+4880>, 
          0x81c4810 <exec_byte_code+5008>, 0x81c4890 <exec_byte_code+5136>, 
          0x81c38e0 <exec_byte_code+1120>, 0x81c42c8 <exec_byte_code+3656>, 
          0x81c4050 <exec_byte_code+3024>, 0x81c5260 <exec_byte_code+7648>, 
          0x81c4960 <exec_byte_code+5344>, 0x81c3820 <exec_byte_code+928>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3870 <exec_byte_code+1008>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c3788 <exec_byte_code+776>, 0x81c3788 <exec_byte_code+776>, 
          0x81c38b0 <exec_byte_code+1072> <repeats 64 times>}
        count = 4
        op = 1
        vectorp = 0x833fa54 <pure+598228>
        stack = {
          pc = 0x83f3ad1 <pure+1335633> "\210\375\376\377\"\210\201H", 
          byte_string = 137624132, 
          byte_string_start = 0x83f396b <pure+1335275> "\b\203\b", 
          next = 0x0
        }
        top = 0xbfffe764
        result = <optimised out>
        type = <optimised out>
#40 0x08190df1 in funcall_lambda (fun=0, fun@entry=137624109, nargs=1, nargs@entry=0, 
    arg_vector=0x2, arg_vector@entry=0xbfffe890) at eval.c:2885
        val = 0
        syms_left = 2
        lexenv = -1073747736
#41 0x0819221b in apply_lambda (fun=137624109, args=<optimised out>, 
    count=count@entry=3) at eval.c:2826
        args_left = <optimised out>
        i = <optimised out>
        arg_vector = <optimised out>
        gcpro1 = <optimised out>
        tem = <optimised out>
        sa_avail = <optimised out>
        sa_must_free = <optimised out>
#42 0x081905c5 in eval_sub (form=141392307) at eval.c:2256
        fun = <optimised out>
        val = <optimised out>
        original_args = 0
        gcpro3 = <optimised out>
        count = 3
#43 0x08192962 in Feval (form=141392307, lexical=0) at eval.c:1996
No locals.
#44 0x08125030 in top_level_2 () at keyboard.c:1143
No locals.
#45 0x0818fa84 in internal_condition_case (bfun=0x8125020 <top_level_2>, 
    handlers=9168, hfun=0x8129580 <cmd_error>) at eval.c:1348
        val = <optimised out>
        c = <optimised out>
#46 0x08124ff7 in top_level_1 (ignore=0) at keyboard.c:1151
        ignore = 0
#47 0x0818f98b in internal_catch (tag=22032, func=0x8124f90 <top_level_1>, arg=0)
    at eval.c:1108
        val = <optimised out>
        c = <optimised out>
#48 0x08124f26 in command_loop () at keyboard.c:1112
No locals.
#49 0x081291f3 in recursive_edit_1 () at keyboard.c:723
        val = 0
#50 0x081294d7 in Frecursive_edit () at keyboard.c:794
        buffer = <optimised out>
#51 0x0805a8b8 in main (argc=<optimised out>, argv=0xbfffeb74) at emacs.c:1626
        dummy = 0
        stack_bottom_variable = 8 '\b'
        do_initial_setlocale = <optimised out>
        dumping = <optimised out>
        skip_args = 0
        rlim = {
          rlim_cur = 8388608, 
          rlim_max = 18446744073709551615
        }
        no_loadup = <optimised out>
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimised out>

Lisp Backtrace:
"Automatic GC" (0x0)
"purecopy" (0xbfffdc28)
"set-face-attribute" (0xbfffdda4)
"apply" (0xbfffdf18)
"face-spec-reset-face" (0xbfffe0e8)
"face-spec-recalc" (0xbfffe268)
"face-set-after-frame-default" (0xbfffe400)
"frame-notice-user-settings" (0xbfffe588)
0x8804608 PVEC_COMPILED
"normal-top-level" (0xbfffe890)


In GNU Emacs 25.0.50.2 (i686-pc-linux-gnu, GTK+ Version 3.14.13, cairo version 1.14.2)
 of 2015-06-24 on poulenc
Repository revision: 9b891278cf715cee229a00068fd8d5c29ef9d79d
Windowing system distributor `The X.Org Foundation', version 11.0.11701000
System Description:	Ubuntu 15.04

Configured using:
 `configure --with-cairo'

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

Important settings:
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  global-hi-lock-mode: t
  hi-lock-mode: t
  recentf-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Loading /home/robert/.recentf...done
Cleaning up the recentf list...done (0 removed)
Preparing diary...
No diary entries for Wednesday, 24 June 2015
Preparing diary...done
Package longlines is obsolete!
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading dired-x...done

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired-x dired format-spec rfc822
mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils
mailheader sendmail mail-utils twittering-mode advice identica-mode json
url-http tls url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
url-gw url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util url-parse auth-source cl-macs cl-seq
eieio byte-opt bytecomp byte-compile cl-extra seq cconv eieio-core
gnus-util mm-util help-fns mail-prsvr password-cache url-vars mailcap
longlines parse-time xml cl gv cal-china lunar solar cal-dst cal-bahai
cal-islam cal-hebrew holidays hol-loaddefs diary-lib diary-loaddefs
cal-menu calendar cal-loaddefs warnings server tbemail org-install
hi-lock edmacro kmacro desktop frameset recentf tree-widget wid-edit
cl-loaddefs pcase cl-lib easymenu paren finder-inf package epg-config
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind gfilenotify dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
x multi-tty make-network-process emacs)

Memory information:
((conses 8 131784 6130)
 (symbols 24 25568 0)
 (miscs 20 60 143)
 (strings 16 33813 5814)
 (string-bytes 1 1025342)
 (vectors 8 18568)
 (vector-slots 4 551568 5838)
 (floats 8 739 140)
 (intervals 28 246 4)
 (buffers 520 14)
 (heap 1024 13334 951))





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

* bug#20890: 25.0.50; build from git crashes on startup
  2015-06-24 10:26       ` bug#20890: 25.0.50; build from git crashes on startup Robert Marshall
@ 2015-07-26 20:30         ` Paul Eggert
  2018-04-03  9:39           ` Robert Pluim
  2018-04-04  8:52         ` bug#20890: master 1233bcb: Work around GC+Cairo bug Robert Pluim
  2018-04-04 12:10         ` Robert Pluim
  2 siblings, 1 reply; 12+ messages in thread
From: Paul Eggert @ 2015-07-26 20:30 UTC (permalink / raw)
  To: Robert Marshall; +Cc: 20890

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

Thanks for the bug report.  From the backtrace it appears that ftfont_close's 
implementation incorrectly assumes that ftfont_close can't be called from the 
garbage collector.  I've installed the attached FIXME comment and am CC'ing 
Kenichi Handa, who's an expert in ftfont.c.

[-- Attachment #2: 0001-src-ftfont.c-ftfont_close-Add-comment-re-Bug-20890.patch --]
[-- Type: text/x-diff, Size: 860 bytes --]

From bcba2b845e35ebdbaf4d869d1b1a1a065e1c42a3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 26 Jul 2015 13:23:08 -0700
Subject: [PATCH] * src/ftfont.c (ftfont_close): Add comment re Bug#20890.

---
 src/ftfont.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/ftfont.c b/src/ftfont.c
index b37b404..41d99df 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1315,6 +1315,10 @@ ftfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
 static void
 ftfont_close (struct font *font)
 {
+  /* FIXME: Although this function can be called while garbage-collecting,
+     the function assumes that Lisp data structures are properly-formed.
+     This invalid assumption can lead to core dumps (Bug#20890).  */
+
   struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
   Lisp_Object val, cache;
 
-- 
2.1.0


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

* bug#20890: 25.0.50; build from git crashes on startup
  2015-07-26 20:30         ` Paul Eggert
@ 2018-04-03  9:39           ` Robert Pluim
  2018-04-03 10:06             ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Robert Pluim @ 2018-04-03  9:39 UTC (permalink / raw)
  To: 20890; +Cc: Robert Marshall, Paul Eggert

tags 20890 patch

Paul Eggert <eggert@cs.ucla.edu> writes:

> Thanks for the bug report.  From the backtrace it appears that
> ftfont_close's implementation incorrectly assumes that ftfont_close
> can't be called from the garbage collector.  I've installed the
> attached FIXME comment and am CC'ing Kenichi Handa, who's an expert in
> ftfont.c.

Following Eli's suggestion in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30874#88>, Iʼve tested
the following workaround. It works, but it doesnʼt feel like the right
thing to do. However, without it, cairo builds are completely
unusable, and cairo is something we will need to enable by default in
future.

Robert


diff --git i/src/ftfont.c w/src/ftfont.c
index 24a92dd52e..5eda61af0e 100644
--- i/src/ftfont.c
+++ w/src/ftfont.c
@@ -1249,6 +1249,11 @@ ftfont_close (struct font *font)
   struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
   Lisp_Object val, cache;
 
+#ifdef USE_CAIRO
+  /* Bug#20890 workaround.  */
+  if (gc_in_progress)
+    return;
+#endif
   val = Fcons (font->props[FONT_FILE_INDEX], make_number (ftfont_info->index));
   cache = ftfont_lookup_cache (val, FTFONT_CACHE_FOR_FACE);
   eassert (CONSP (cache));





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

* bug#20890: 25.0.50; build from git crashes on startup
  2018-04-03  9:39           ` Robert Pluim
@ 2018-04-03 10:06             ` Eli Zaretskii
  2018-04-03 15:03               ` Paul Eggert
  0 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2018-04-03 10:06 UTC (permalink / raw)
  To: Robert Pluim, Kenichi Handa; +Cc: 20890, eggert, robert

> From: Robert Pluim <rpluim@gmail.com>
> Date: Tue, 03 Apr 2018 11:39:10 +0200
> Cc: Robert Marshall <robert@capuchin.co.uk>, Paul Eggert <eggert@cs.ucla.edu>
> 
> Following Eli's suggestion in
> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30874#88>, Iʼve tested
> the following workaround. It works, but it doesnʼt feel like the right
> thing to do. However, without it, cairo builds are completely
> unusable, and cairo is something we will need to enable by default in
> future.

Unless Handa-san can propose a better fix, I think we should install
this workaround.  The call to ftfont_close from GC is only needed in
applications that load and use gobs of fonts, which is not a frequent
situation.  The downside of this change is to let Emacs's memory
footprint grow larger, which is certainly better than a crash.

Thanks.





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

* bug#20890: 25.0.50; build from git crashes on startup
  2018-04-03 10:06             ` Eli Zaretskii
@ 2018-04-03 15:03               ` Paul Eggert
  2018-04-03 15:13                 ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Paul Eggert @ 2018-04-03 15:03 UTC (permalink / raw)
  To: Eli Zaretskii, Robert Pluim, Kenichi Handa; +Cc: 20890, robert

On 04/03/2018 03:06 AM, Eli Zaretskii wrote:
> Unless Handa-san can propose a better fix, I think we should install
> this workaround.

Into the master branch or the emacs-26 branch?






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

* bug#20890: 25.0.50; build from git crashes on startup
  2018-04-03 15:03               ` Paul Eggert
@ 2018-04-03 15:13                 ` Eli Zaretskii
  2018-04-03 15:26                   ` Paul Eggert
  0 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2018-04-03 15:13 UTC (permalink / raw)
  To: Paul Eggert; +Cc: robert, 20890, rpluim

> Cc: 20890@debbugs.gnu.org, robert@capuchin.co.uk
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Tue, 3 Apr 2018 08:03:07 -0700
> 
> On 04/03/2018 03:06 AM, Eli Zaretskii wrote:
> > Unless Handa-san can propose a better fix, I think we should install
> > this workaround.
> 
> Into the master branch or the emacs-26 branch?

The master branch.  I don't see how can we justify this on the release
branch, since this only affects the Cairo build.





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

* bug#20890: 25.0.50; build from git crashes on startup
  2018-04-03 15:13                 ` Eli Zaretskii
@ 2018-04-03 15:26                   ` Paul Eggert
  0 siblings, 0 replies; 12+ messages in thread
From: Paul Eggert @ 2018-04-03 15:26 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: robert, 20890, rpluim

On 04/03/2018 08:13 AM, Eli Zaretskii wrote:
>> Into the master branch or the emacs-26 branch?
> The master branch.  I don't see how can we justify this on the release
> branch, since this only affects the Cairo build.

OK, done. Leaving Bug#20890 open, since this is a workaround and not a 
real fix.






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

* bug#20890: master 1233bcb: Work around GC+Cairo bug
  2015-06-24 10:26       ` bug#20890: 25.0.50; build from git crashes on startup Robert Marshall
  2015-07-26 20:30         ` Paul Eggert
@ 2018-04-04  8:52         ` Robert Pluim
  2018-04-04  9:08           ` Eli Zaretskii
  2018-04-04 12:10         ` Robert Pluim
  2 siblings, 1 reply; 12+ messages in thread
From: Robert Pluim @ 2018-04-04  8:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 20890, eggert

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Robert Pluim <rpluim@gmail.com>
>> Date: Wed, 04 Apr 2018 00:14:20 +0200
>> Cc: Paul Eggert <eggert@cs.ucla.edu>
>> 
>> >     Work around GC+Cairo bug
>> >     
>> >     Workaround suggested by Robert Pluim (Bug#20890#13).
>> >     * src/ftfont.c (ftfont_close) [USE_CAIRO]:
>> >     Do nothing if GC is in progress.
>> 
>> And whilst this reduces the frequency of the issue, of course it
>> doesnʼt eliminate it. Currently Iʼve deployed the following
>> sledgehammer, but we really need something better:
>
> Sorry, I don't understand: are you saying that you still get crashes
> inside ftfont_close, after the above commit?  If so, can you please
> show the backtrace?

Yes.

> (Let's please continue discussing this in the bug report, not here.)

Moved there. Backtrace:

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x00007ffff1f87c68 in FT_List_Find () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
(gdb) bt
#0  0x00007ffff1f87c68 in FT_List_Find () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#1  0x00007ffff1f87ecf in FT_Done_Size () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#2  0x00000000005d5484 in ftcrfont_close (font=0x35fdf60) at ftcrfont.c:176
#3  0x00000000005502db in cleanup_vector (vector=vector@entry=0x35fdf60) at alloc.c:3194
#4  0x000000000055134a in sweep_vectors () at alloc.c:3241
#5  0x00000000005556f7 in gc_sweep () at alloc.c:7191
#6  garbage_collect_1 (end=<optimized out>) at alloc.c:6030
#7  Fgarbage_collect () at alloc.c:6162
#8  0x000000000056df29 in maybe_gc () at lisp.h:4839
#9  Ffuncall (nargs=4, args=args@entry=0x7fffffff9a28) at eval.c:2803
#10 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8dd84d), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9295952, args=<optimized out>, args@entry=0x7fffffff9a28)
    at bytecode.c:632
#11 0x000000000056ddd0 in funcall_lambda (fun=make_number(35184372082330), nargs=9295952, nargs@entry=5, 
    arg_vector=0x7fffffff9a28, arg_vector@entry=0x7fffffff9c18) at eval.c:3022
#12 0x000000000056e053 in Ffuncall (nargs=6, args=args@entry=0x7fffffff9c10) at eval.c:2835
#13 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8dd8fd), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9296128, args=<optimized out>, args@entry=0x7fffffff9c10)
    at bytecode.c:632
#14 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffff9c64), nargs=9296128, nargs@entry=2, 
    arg_vector=0x7fffffff9c10, arg_vector@entry=0x7fffffff9df0) at eval.c:3022
#15 0x000000000056e053 in Ffuncall (nargs=3, args=args@entry=0x7fffffff9de8) at eval.c:2835
#16 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8dd99d), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9296288, args=<optimized out>, args@entry=0x7fffffff9de8)
    at bytecode.c:632
#17 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffff9e27), nargs=9296288, nargs@entry=2, 
    arg_vector=0x7fffffff9de8, arg_vector@entry=0x7fffffff9fc0) at eval.c:3022
#18 0x000000000056e053 in Ffuncall (nargs=3, args=args@entry=0x7fffffff9fb8) at eval.c:2835
#19 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8e163d), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9311808, args=<optimized out>, args@entry=0x7fffffff9fb8)
    at bytecode.c:632
#20 0x000000000056ddd0 in funcall_lambda (fun=make_number(35184372082708), nargs=9311808, nargs@entry=2, 
    arg_vector=0x7fffffff9fb8, arg_vector@entry=0x7fffffffa240) at eval.c:3022
#21 0x000000000056e053 in Ffuncall (nargs=3, args=args@entry=0x7fffffffa238) at eval.c:2835
#22 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x971615), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9901592, args=<optimized out>, args@entry=0x7fffffffa238)
    at bytecode.c:632
#23 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffa395), nargs=9901592, nargs@entry=1, 
    arg_vector=0x7fffffffa238, arg_vector@entry=0x7fffffffa4f8) at eval.c:3022
#24 0x000000000056e053 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffa4f0) at eval.c:2835
#25 0x000000000056e1ba in call1 (fn=fn@entry=XIL(0x63c0), arg1=arg1@entry=XIL(0x3705335)) at eval.c:2672
#26 0x00000000004c08be in update_face_from_frame_parameter (f=f@entry=0x3705330, param=param@entry=XIL(0x2be0), 
    new_value=new_value@entry=XIL(0x35eabf4)) at xfaces.c:3256
#27 0x00000000004d959d in x_set_background_color (f=0x3705330, arg=XIL(0x35eabf4), oldval=<optimized out>)
    at xfns.c:1107
#28 0x000000000042bf18 in x_set_frame_parameters (f=f@entry=0x3705330, alist=alist@entry=XIL(0xc5b653))
    at frame.c:3919
#29 0x000000000042c77c in Fmodify_frame_parameters (frame=frame@entry=XIL(0x3705335), alist=XIL(0xc5b653))
    at frame.c:3183
#30 0x00000000004bc61f in Finternal_set_lisp_face_attribute (face=XIL(0x4770), attr=XIL(0x2a0), value=XIL(0x35eabf4), 
    frame=XIL(0x3705335)) at xfaces.c:3215
#31 0x000000000056e0f6 in Ffuncall (nargs=<optimized out>, args=args@entry=0x7fffffffa7e0) at eval.c:2821
#32 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8de15d), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9298272, args=<optimized out>, args@entry=0x7fffffffa7e0)
    at bytecode.c:632
#33 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffa8d7), nargs=9298272, nargs@entry=32, 
    arg_vector=0x7fffffffa7e0, arg_vector@entry=0x7fffffffaa38) at eval.c:3022
#34 0x000000000056e053 in Ffuncall (nargs=nargs@entry=33, args=0x7fffffffaa30) at eval.c:2835
#35 0x000000000056fbc0 in Fapply (nargs=<optimized out>, args=0x7fffffffac40) at eval.c:2441
#36 0x000000000056e0f6 in Ffuncall (nargs=<optimized out>, args=args@entry=0x7fffffffac38) at eval.c:2821
#37 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8e16fd), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9312000, args=<optimized out>, args@entry=0x7fffffffac38)
    at bytecode.c:632
#38 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffac88), nargs=9312000, nargs@entry=3, 
    arg_vector=0x7fffffffac38, arg_vector@entry=0x7fffffffae20) at eval.c:3022
#39 0x000000000056e053 in Ffuncall (nargs=4, args=args@entry=0x7fffffffae18) at eval.c:2835
#40 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8e163d), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9311808, args=<optimized out>, args@entry=0x7fffffffae18)
    at bytecode.c:632
#41 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffae77), nargs=9311808, nargs@entry=2, 
    arg_vector=0x7fffffffae18, arg_vector@entry=0x7fffffffb030) at eval.c:3022
#42 0x000000000056e053 in Ffuncall (nargs=3, args=args@entry=0x7fffffffb028) at eval.c:2835
#43 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8e27dd), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9316320, args=<optimized out>, args@entry=0x7fffffffb028)
    at bytecode.c:632
#44 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffb079), nargs=9316320, nargs@entry=2, 
    arg_vector=0x7fffffffb028, arg_vector@entry=0x7fffffffb240) at eval.c:3022
#45 0x000000000056e053 in Ffuncall (nargs=3, args=args@entry=0x7fffffffb238) at eval.c:2835
#46 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x8e25fd), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9315840, args=<optimized out>, args@entry=0x7fffffffb238)
    at bytecode.c:632
#47 0x000000000056ddd0 in funcall_lambda (fun=make_number(35184372083889), nargs=9315840, nargs@entry=1, 
    arg_vector=0x7fffffffb238, arg_vector@entry=0x7fffffffb448) at eval.c:3022
#48 0x000000000056e053 in Ffuncall (nargs=2, args=args@entry=0x7fffffffb440) at eval.c:2835
#49 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0xcbbb35), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=13351736, args=<optimized out>, args@entry=0x7fffffffb440)
    at bytecode.c:632
#50 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffb453), nargs=13351736, nargs@entry=1, 
    arg_vector=0x7fffffffb440, arg_vector@entry=0x7fffffffb688) at eval.c:3022
#51 0x000000000056e053 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffb680) at eval.c:2835
#52 0x000000000056fda3 in Fapply (nargs=2, args=0x7fffffffb680) at eval.c:2398
#53 0x000000000056e0f6 in Ffuncall (nargs=<optimized out>, args=args@entry=0x7fffffffb678) at eval.c:2821
#54 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x12ca355), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=19702616, args=<optimized out>, args@entry=0x7fffffffb678)
    at bytecode.c:632
#55 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffb70d), nargs=19702616, nargs@entry=1, 
    arg_vector=0x7fffffffb678, arg_vector@entry=0x7fffffffb890) at eval.c:3022
#56 0x000000000056e053 in Ffuncall (nargs=2, args=args@entry=0x7fffffffb888) at eval.c:2835
#57 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x970995), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9898392, args=<optimized out>, args@entry=0x7fffffffb888)
    at bytecode.c:632
#58 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffb968), nargs=9898392, nargs@entry=1, 
    arg_vector=0x7fffffffb888, arg_vector@entry=0x7fffffffbb10) at eval.c:3022
#59 0x000000000056e053 in Ffuncall (nargs=2, args=args@entry=0x7fffffffbb08) at eval.c:2835
#60 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x9705b5), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9897400, args=<optimized out>, args@entry=0x7fffffffbb08)
    at bytecode.c:632
#61 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffbb27), nargs=9897400, nargs@entry=2, 
    arg_vector=0x7fffffffbb08, arg_vector@entry=0x7fffffffbcc8) at eval.c:3022
#62 0x000000000056e053 in Ffuncall (nargs=3, args=args@entry=0x7fffffffbcc0) at eval.c:2835
#63 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x19b10e5), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=26939624, args=<optimized out>, args@entry=0x7fffffffbcc0)
    at bytecode.c:632
#64 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffbdd3), nargs=26939624, nargs@entry=4, 
    arg_vector=0x7fffffffbcc0, arg_vector@entry=0x7fffffffc040) at eval.c:3022
#65 0x000000000056e053 in Ffuncall (nargs=5, args=args@entry=0x7fffffffc038) at eval.c:2835
#66 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x1a313b5), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=27464632, args=<optimized out>, args@entry=0x7fffffffc038)
    at bytecode.c:632
#67 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffc27d), nargs=27464632, nargs@entry=9, 
    arg_vector=0x7fffffffc038, arg_vector@entry=0x7fffffffc520) at eval.c:3022
#68 0x000000000056e053 in Ffuncall (nargs=10, args=args@entry=0x7fffffffc518) at eval.c:2835
#69 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x1e7dc45), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=31972424, args=<optimized out>, args@entry=0x7fffffffc518)
    at bytecode.c:632
#70 0x000000000056ddd0 in funcall_lambda (fun=make_number(35184372085087), nargs=31972424, nargs@entry=0, 
    arg_vector=0x7fffffffc518, arg_vector@entry=0x7fffffffc708) at eval.c:3022
#71 0x000000000056e053 in Ffuncall (nargs=1, args=args@entry=0x7fffffffc700) at eval.c:2835
#72 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x1eaa035), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=32153656, args=<optimized out>, args@entry=0x7fffffffc700)
    at bytecode.c:632
#73 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffc829), nargs=32153656, nargs@entry=0, 
    arg_vector=0x7fffffffc700, arg_vector@entry=0x7fffffffca10) at eval.c:3022
#74 0x000000000056e053 in Ffuncall (nargs=1, args=args@entry=0x7fffffffca08) at eval.c:2835
#75 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x1e7d235), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=31969848, args=<optimized out>, args@entry=0x7fffffffca08)
    at bytecode.c:632
#76 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffca3f), nargs=31969848, nargs@entry=0, 
    arg_vector=0x7fffffffca08, arg_vector@entry=0x7fffffffcbf8) at eval.c:3022
#77 0x000000000056e053 in Ffuncall (nargs=1, args=0x7fffffffcbf0) at eval.c:2835
#78 0x000000000056e119 in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2452
#79 0x000000000056cafd in run_hook_with_args (nargs=1, args=0x7fffffffcbf0, funcall=0x56e110 <funcall_nil>)
    at eval.c:2629
#80 0x000000000056cc46 in Frun_hook_with_args (args=0x7fffffffcbf0, nargs=1) at eval.c:2494
#81 run_hook (hook=XIL(0x1e7d285)) at eval.c:2642
#82 Frun_hooks (nargs=2, args=0x7fffffffcc70) at eval.c:2476
#83 0x000000000056e0f6 in Ffuncall (nargs=<optimized out>, args=args@entry=0x7fffffffcc68) at eval.c:2821
#84 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x978e85), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9932424, args=<optimized out>, args@entry=0x7fffffffcc68)
    at bytecode.c:632
#85 0x000000000056ddd0 in funcall_lambda (fun=make_number(35184372085891), nargs=9932424, nargs@entry=0, 
    arg_vector=0x7fffffffcc68, arg_vector@entry=0x7fffffffd468) at eval.c:3022
#86 0x000000000056e053 in Ffuncall (nargs=1, args=args@entry=0x7fffffffd460) at eval.c:2835
#87 0x00000000005a5f48 in exec_byte_code (bytestr=<optimized out>, vector=XIL(0x977e35), maxdepth=<optimized out>, 
    args_template=<optimized out>, nargs=nargs@entry=9928248, args=<optimized out>, args@entry=0x7fffffffd460)
    at bytecode.c:632
#88 0x000000000056ddd0 in funcall_lambda (fun=XIL(0x7fffffffd62c), fun@entry=XIL(0x977de5), nargs=9928248, 
    nargs@entry=0, arg_vector=0x7fffffffd460, arg_vector@entry=0x7fffffffd780) at eval.c:3022
#89 0x000000000056d0c0 in apply_lambda (fun=XIL(0x977de5), args=<optimized out>, count=count@entry=4) at eval.c:2958
#90 0x000000000056d472 in eval_sub (form=form@entry=XIL(0x1132f63)) at eval.c:2361
#91 0x00000000005715a8 in Feval (form=XIL(0x1132f63), lexical=<optimized out>) at eval.c:2106
#92 0x000000000056c67e in internal_condition_case (bfun=bfun@entry=0x4f7770 <top_level_2>, 
    handlers=handlers@entry=XIL(0x5250), hfun=hfun@entry=0x4fd000 <cmd_error>) at eval.c:1332
#93 0x00000000004fa02c in top_level_1 (ignore=ignore@entry=XIL(0)) at keyboard.c:1128
#94 0x000000000056c61c in internal_catch (tag=tag@entry=XIL(0xc960), func=func@entry=0x4f9fd0 <top_level_1>, 
    arg=arg@entry=XIL(0)) at eval.c:1097
#95 0x00000000004f7708 in command_loop () at keyboard.c:1089
#96 0x00000000004fcbe6 in recursive_edit_1 () at keyboard.c:696
#97 0x00000000004fcf30 in Frecursive_edit () at keyboard.c:767
#98 0x000000000041be36 in main (argc=1, argv=0x7fffffffdb48) at emacs.c:1724

Lisp Backtrace:
"Automatic GC" (0x0)
"internal-face-x-get-resource" (0xffff9a30)
"set-face-attribute-from-resource" (0xffff9c18)
"set-face-attributes-from-resources" (0xffff9df0)
"make-face-x-resource-internal" (0xffff9fc0)
"face-spec-recalc" (0xffffa240)
"frame-set-background-mode" (0xffffa4f8)
"internal-set-lisp-face-attribute" (0xffffa7e8)
"set-face-attribute" (0xffffaa38)
"apply" (0xffffac40)
"face-spec-set-2" (0xffffae20)
"face-spec-recalc" (0xffffb030)
"face-set-after-frame-default" (0xffffb240)
"x-create-frame-with-faces" (0xffffb448)
0x12cc430 PVEC_COMPILED
"apply" (0xffffb680)
"frame-creation-function" (0xffffb890)
"make-frame" (0xffffbb10)
"make-frame-on-display" (0xffffbcc8)
"frameset--restore-frame" (0xffffc040)
"frameset-restore" (0xffffc520)
"desktop-restore-frameset" (0xffffc708)
"desktop-read" (0xffffca10)
0x1e7d280 PVEC_COMPILED
"run-hooks" (0xffffcc70)
"command-line" (0xffffd468)
"normal-top-level" (0xffffd780)
(gdb) 





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

* bug#20890: master 1233bcb: Work around GC+Cairo bug
  2018-04-04  8:52         ` bug#20890: master 1233bcb: Work around GC+Cairo bug Robert Pluim
@ 2018-04-04  9:08           ` Eli Zaretskii
  0 siblings, 0 replies; 12+ messages in thread
From: Eli Zaretskii @ 2018-04-04  9:08 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 20890, eggert

> From: Robert Pluim <rpluim@gmail.com>
> Cc: eggert@cs.ucla.edu,  20890@debbugs.gnu.org
> Date: Wed, 04 Apr 2018 10:52:42 +0200
> 
> > Sorry, I don't understand: are you saying that you still get crashes
> > inside ftfont_close, after the above commit?  If so, can you please
> > show the backtrace?
> 
> Yes.
> 
> > (Let's please continue discussing this in the bug report, not here.)
> 
> Moved there. Backtrace:
> 
> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
> 0x00007ffff1f87c68 in FT_List_Find () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
> (gdb) bt
> #0  0x00007ffff1f87c68 in FT_List_Find () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
> #1  0x00007ffff1f87ecf in FT_Done_Size () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
> #2  0x00000000005d5484 in ftcrfont_close (font=0x35fdf60) at ftcrfont.c:176
> #3  0x00000000005502db in cleanup_vector (vector=vector@entry=0x35fdf60) at alloc.c:3194

This is not in ftfont_close, this is in ftcrfont_close.

If you can tell why FT_List_Find crashes, in terms of Emacs variables
and data structures, maybe we can figure out what is going on here.
But in any case, I think we should put the same workaround in
ftcrfont_close as we did in ftfont_close, because the former calls the
latter, and we then risk the situation where we only half-close the
font when ftcrfont_close is called from GC.

Thanks.





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

* bug#20890: master 1233bcb: Work around GC+Cairo bug
  2015-06-24 10:26       ` bug#20890: 25.0.50; build from git crashes on startup Robert Marshall
  2015-07-26 20:30         ` Paul Eggert
  2018-04-04  8:52         ` bug#20890: master 1233bcb: Work around GC+Cairo bug Robert Pluim
@ 2018-04-04 12:10         ` Robert Pluim
  2018-04-04 13:44           ` Eli Zaretskii
  2 siblings, 1 reply; 12+ messages in thread
From: Robert Pluim @ 2018-04-04 12:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 20890, eggert

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Robert Pluim <rpluim@gmail.com>
>> Cc: eggert@cs.ucla.edu,  20890@debbugs.gnu.org
>> Date: Wed, 04 Apr 2018 10:52:42 +0200
>> 
>> > Sorry, I don't understand: are you saying that you still get crashes
>> > inside ftfont_close, after the above commit?  If so, can you please
>> > show the backtrace?
>> 
>> Yes.
>> 
>> > (Let's please continue discussing this in the bug report, not here.)
>> 
>> Moved there. Backtrace:
>> 
>> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
>> 0x00007ffff1f87c68 in FT_List_Find () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
>> (gdb) bt
>> #0  0x00007ffff1f87c68 in FT_List_Find () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
>> #1  0x00007ffff1f87ecf in FT_Done_Size () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
>> #2  0x00000000005d5484 in ftcrfont_close (font=0x35fdf60) at ftcrfont.c:176
>> #3  0x00000000005502db in cleanup_vector (vector=vector@entry=0x35fdf60) at alloc.c:3194
>
> This is not in ftfont_close, this is in ftcrfont_close.

Ah yes. Too many functions with similar names, plus this happens only
when running Ubuntu, not Fedora.

> If you can tell why FT_List_Find crashes, in terms of Emacs variables
> and data structures, maybe we can figure out what is going on here.
> But in any case, I think we should put the same workaround in
> ftcrfont_close as we did in ftfont_close, because the former calls the
> latter, and we then risk the situation where we only half-close the
> font when ftcrfont_close is called from GC.

That same workaround fixes it on Ubuntu.

Robert





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

* bug#20890: master 1233bcb: Work around GC+Cairo bug
  2018-04-04 12:10         ` Robert Pluim
@ 2018-04-04 13:44           ` Eli Zaretskii
  2018-04-04 18:00             ` Paul Eggert
  0 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2018-04-04 13:44 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 20890, eggert

> From: Robert Pluim <rpluim@gmail.com>
> Cc: 20890@debbugs.gnu.org,  eggert@cs.ucla.edu
> Date: Wed, 04 Apr 2018 14:10:12 +0200
> 
> > If you can tell why FT_List_Find crashes, in terms of Emacs variables
> > and data structures, maybe we can figure out what is going on here.
> > But in any case, I think we should put the same workaround in
> > ftcrfont_close as we did in ftfont_close, because the former calls the
> > latter, and we then risk the situation where we only half-close the
> > font when ftcrfont_close is called from GC.
> 
> That same workaround fixes it on Ubuntu.

Then I think we should install it.





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

* bug#20890: master 1233bcb: Work around GC+Cairo bug
  2018-04-04 13:44           ` Eli Zaretskii
@ 2018-04-04 18:00             ` Paul Eggert
  0 siblings, 0 replies; 12+ messages in thread
From: Paul Eggert @ 2018-04-04 18:00 UTC (permalink / raw)
  To: Eli Zaretskii, Robert Pluim; +Cc: 20890

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

On 04/04/2018 06:44 AM, Eli Zaretskii wrote:
> Then I think we should install it.

OK, I installed the attached into master.


[-- Attachment #2: 0001-Improve-GC-Cairo-workaround.patch --]
[-- Type: text/x-patch, Size: 2518 bytes --]

From 81f2010c21849e758a53f1d0c58c465146c1efee Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 4 Apr 2018 10:59:09 -0700
Subject: [PATCH] Improve GC+Cairo workaround

Suggested by Eli Zaretskii (Bug#20890#31).
* src/font.h (font_data_structures_may_be_ill_formed): New function.
* src/ftfont.c (ftfont_close):
* src/ftcrfont.c (ftcrfont_close): Use it.
---
 src/font.h     | 16 ++++++++++++++++
 src/ftcrfont.c |  3 +++
 src/ftfont.c   |  9 +--------
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/font.h b/src/font.h
index d88c8eb4f6..469431fee6 100644
--- a/src/font.h
+++ b/src/font.h
@@ -945,6 +945,22 @@ extern void font_deferred_log (const char *, Lisp_Object, Lisp_Object);
       font_deferred_log ((ACTION), (ARG), (RESULT));	\
   } while (false)
 
+/* FIXME: This is for use in functions that can be called while
+   garbage-collecting, but which assume that Lisp data structures are
+   properly-formed.  This invalid assumption can lead to core dumps
+   (Bug#20890).  */
+INLINE bool
+font_data_structures_may_be_ill_formed (void)
+{
+#ifdef USE_CAIRO
+  /* Although this works around Bug#20890, it is probably not the
+     right thing to do.  */
+  return gc_in_progress;
+#else
+  return false;
+#endif
+}
+
 INLINE_HEADER_END
 
 #endif	/* not EMACS_FONT_H */
diff --git a/src/ftcrfont.c b/src/ftcrfont.c
index 614ef08370..425250e229 100644
--- a/src/ftcrfont.c
+++ b/src/ftcrfont.c
@@ -164,6 +164,9 @@ ftcrfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
 static void
 ftcrfont_close (struct font *font)
 {
+  if (font_data_structures_may_be_ill_formed ())
+    return;
+
   struct ftcrfont_info *ftcrfont_info = (struct ftcrfont_info *) font;
   int i;
 
diff --git a/src/ftfont.c b/src/ftfont.c
index 51b04a8682..9a8777ef07 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1242,15 +1242,8 @@ ftfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
 void
 ftfont_close (struct font *font)
 {
-  /* FIXME: Although this function can be called while garbage-collecting,
-     the function assumes that Lisp data structures are properly-formed.
-     This invalid assumption can lead to core dumps (Bug#20890).  */
-#ifdef USE_CAIRO
-  /* Although this works around Bug#20890, it is probably not the
-     right thing to do.  */
-  if (gc_in_progress)
+  if (font_data_structures_may_be_ill_formed ())
     return;
-#endif
 
   struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
   Lisp_Object val, cache;
-- 
2.14.3


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

end of thread, other threads:[~2018-04-04 18:00 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20180403152442.25413.61540@vcs0.savannah.gnu.org>
     [not found] ` <20180403152443.B15F6215A9@vcs0.savannah.gnu.org>
     [not found]   ` <87a7ukc4zn.fsf@gmail.com>
     [not found]     ` <83k1tn4h4f.fsf@gnu.org>
2015-06-24 10:26       ` bug#20890: 25.0.50; build from git crashes on startup Robert Marshall
2015-07-26 20:30         ` Paul Eggert
2018-04-03  9:39           ` Robert Pluim
2018-04-03 10:06             ` Eli Zaretskii
2018-04-03 15:03               ` Paul Eggert
2018-04-03 15:13                 ` Eli Zaretskii
2018-04-03 15:26                   ` Paul Eggert
2018-04-04  8:52         ` bug#20890: master 1233bcb: Work around GC+Cairo bug Robert Pluim
2018-04-04  9:08           ` Eli Zaretskii
2018-04-04 12:10         ` Robert Pluim
2018-04-04 13:44           ` Eli Zaretskii
2018-04-04 18:00             ` 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).