Subject: Re: bug#9943: 24.0.91; Abort in check_glyph_memory

From: Glenn Morris <[email-masked]>
Date: Thu, 03 Nov 2011 15:58:11 -0400

Eli Zaretskii wrote:

> I fixed this for w32 (revision 106273 on the trunk).  I think the same
> problem can happen on X, but I cannot run Emacs on X where I'm typing
> this.  Could someone please try the recipe on X and see if the same
> problem happens there?  It could matter which toolkit was used to
> build Emacs, so please tell which toolkit you are using.  TIA.

Lucid toolkit:

Breakpoint 1, abort () at emacs.c:386
386       kill (getpid (), SIGABRT);
(gdb) bt full
#0  abort () at emacs.c:386
No locals.
#1  0x0000000000414ac5 in check_glyph_memory () at dispnew.c:2370
        tail = 12777890
        frame = 17795205
#2  0x0000000000557bed in shut_down_emacs (sig=0, no_x=0, stuff=12777890)
    at emacs.c:2102
No locals.
#3  0x0000000000557a81 in Fkill_emacs (arg=12777890) at emacs.c:2014
        gcpro1 = {
          next = 0xccaa32, 
          var = 0xc2f9a2, 
          nvars = 12777890
        }
        hook = 12942546
        exit_code = 0
#4  0x00000000005fb2f8 in Ffuncall (nargs=1, args=0x7fffffff4550)
    at eval.c:2974
        fun = 9416221
        original_fun = 12942018
        funcar = 12777890
        numargs = 0
        lisp_numargs = 13905136
        val = 12777938
        backtrace = {
          next = 0x7fffffff49a0, 
          function = 0x7fffffff4550, 
          args = 0x7fffffff4558, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0x7fffffff4490
        i = 1
#5  0x0000000000648108 in exec_byte_code (bytestr=9893129, vector=9893165, 
    maxdepth=20, args_template=12777890, nargs=0, args=0x0) at bytecode.c:785
        count = 7
        op = 0
        vectorp = 0x96f538
        stack = {
          pc = 0xb6f949 "\207", 
          byte_string = 9893129, 
          byte_string_start = 0xb6f8ea "Ä\bÅ\"\210ÅÆÇÈ \">\203\025", 
          constants = 9893165, 
          next = 0x7fffffff4a90
        }
        top = 0x7fffffff4550
        result = 17872832
#6  0x00000000005fbd66 in funcall_lambda (fun=9893069, nargs=1, arg_vector=
    0x96f52d) at eval.c:3205
        val = 13444946
        syms_left = 12777890
        next = 13186722
        lexenv = 12777890
        count = 6
        i = 1
        optional = 1
        rest = 0
#7  0x00000000005fb50a in Ffuncall (nargs=2, args=0x7fffffff4a30)
    at eval.c:3023
        fun = 9893069
        original_fun = 13413058
        funcar = 1320350112
        numargs = 1
        lisp_numargs = -1
        val = 12777890
        backtrace = {
          next = 0x7fffffff4e70, 
          function = 0x7fffffff4a30, 
          args = 0x7fffffff4a38, 
          nargs = 1, 
          debug_on_exit = 0
        }
        internal_args = 0x96f6f5
        i = 4294967296
#8  0x0000000000648108 in exec_byte_code (bytestr=9893585, vector=9893621, 
    maxdepth=12, args_template=12777890, nargs=0, args=0x0) at bytecode.c:785
        count = 6
        op = 1
        vectorp = 0x96f700
        stack = {
          pc = 0xb6f83d "\207", 
          byte_string = 9893585, 
          byte_string_start = 0xb6f82e "ÁÂ Ã\"\203\f", 
          constants = 9893621, 
          next = 0x0
        }
        top = 0x7fffffff4a30
        result = 10787133
#9  0x00000000005fbd66 in funcall_lambda (fun=9893525, nargs=1, arg_vector=
    0x96f6f5) at eval.c:3205
        val = 20008694
        syms_left = 12777890
        next = 13186722
        lexenv = 12777890
        count = 5
        i = 1
        optional = 1
        rest = 0
#10 0x00000000005fb50a in Ffuncall (nargs=2, args=0x7fffffff4f50)
    at eval.c:3023
        fun = 9893525
        original_fun = 13905234
        funcar = 12777890
        numargs = 1
        lisp_numargs = 140737488310000
        val = 5608658
        backtrace = {
          next = 0x7fffffff5240, 
          function = 0x7fffffff4f50, 
          args = 0x7fffffff4f58, 
          nargs = 1, 
          debug_on_exit = 0
        }
        internal_args = 0xb8094b
        i = 140737488310000
#11 0x00000000005f5405 in Fcall_interactively (function=13905234, record_flag=
    12777890, keys=12824213) at callint.c:859
        val = 0
        args = 0x7fffffff4f50
        visargs = 0x7fffffff4f30
        specs = 9720953
        filter_specs = 9720953
        teml = 0
        up_event = 12777890
        enable = 12777890
        speccount = 3
        next_event = 2
        prefix_arg = 12777890
        string = 0x7fffffff4f70 "P"
        tem = 0x6beaec ""
        varies = 0x7fffffff4f10 ""
        i = 2
        nargs = 2
        foo = 0
        prompt1 =           '\000' <repeats 99 times>
        tem1 = 0x0
        arg_from_tty = 0
        gcpro1 = {
          next = 0x7fffffff50a0, 
          var = 0x3b4389aaaa, 
          nvars = 0
        }
        gcpro2 = {
          next = 0x7fffffff5030, 
          var = 0x7ffff7ffe8bc, 
          nvars = 1
        }
        gcpro3 = {
          next = 0x7fffffff5010, 
          var = 0x7ffff7ffe814, 
          nvars = 2
        }
        gcpro4 = {
          next = 0x0, 
          var = 0xc2f9a2, 
          nvars = 2
        }
        gcpro5 = {
          next = 0x7fffffff5030, 
          var = 0x5fbd7b, 
          nvars = 0
        }
        key_count = 2
        record_then_fail = 0
        save_this_command = 13905234
        save_last_command = 15856130
        save_this_original_command = 13905234
        save_real_this_command = 13905234
#12 0x00000000005fb34e in Ffuncall (nargs=4, args=0x7fffffff52f0)
    at eval.c:2981
        fun = 12150765
        original_fun = 12920322
        funcar = 0
        numargs = 3
        lisp_numargs = 0
        val = 0
        backtrace = {
          next = 0x0, 
          function = 0x7fffffff52f0, 
          args = 0x7fffffff52f8, 
          nargs = 3, 
          debug_on_exit = 0
        }
        internal_args = 0x7fffffff52f8
        i = 0
#13 0x00000000005fab01 in call3 (fn=12920322, arg1=13905234, arg2=12777890, 
    arg3=12777890) at eval.c:2774
        ret_ungc_val = 12777890
        gcpro1 = {
          next = 0x7fffffff5330, 
          var = 0x96f695, 
          nvars = 4
        }
        args =           {12920322,
          13905234,
          12777890,
          12777890}
#14 0x000000000056c86e in Fcommand_execute (cmd=13905234, record_flag=
    12777890, keys=12777890, special=12777890) at keyboard.c:10292
        final = 13905234
        tem = 12777890
        prefixarg = 12777890
#15 0x000000000055a4cf in command_loop_1 () at keyboard.c:1570
        scount = 2
        cmd = 13905234
        keybuf =           {96,
          12,
          140737488311424,
          6417217,
          14509458,
          140737488311520,
          12777938,
          15585494,
          0,
          2,
          140737488311360,
          12830178,
          9442785,
          12777890,
          12777890,
          4300115827,
          9949569,
          140737488311232,
          9442774,
          19580943,
          140737488311424,
          12777938,
          140737488311488,
          5609546,
          140737488311520,
          15585494,
          4262240,
          17795200,
          2,
          4262240}
        i = 2
        prev_modiff = 22
        prev_buffer = 0xc36730
        already_adjusted = 0
#16 0x00000000005f7f4e in internal_condition_case (bfun=
    0x559c49 <command_loop_1>, handlers=12830082, hfun=0x559538 <cmd_error>)
    at eval.c:1499
        val = 0
        c = {
          tag = 12777890, 
          val = 12777890, 
          next = 0x7fffffff5710, 
          gcpro = 0x0, 
          jmp =             {{
              __jmpbuf =                 {0,
                2020822257688043310,
                4262240,
                140737488313584,
                0,
                0,
                2020822257564311342,
                -2020822783300411602}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val =                   {16425921290409140014,
                  0,
                  4294967295,
                  13255638,
                  1,
                  9389848,
                  0,
                  0,
                  0,
                  0,
                  254531395296,
                  1,
                  0,
                  16122016,
                  254535570944,
                  16122016}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
        h = {
          handler = 12830082, 
          var = 12777890, 
          chosen_clause = 12777938, 
          tag = 0x7fffffff5590, 
          next = 0x0
        }
#17 0x0000000000559938 in command_loop_2 (ignore=12777890) at keyboard.c:1158
        val = 0
#18 0x00000000005f78d8 in internal_catch (tag=12825874, func=
    0x559912 <command_loop_2>, arg=12777890) at eval.c:1256
        c = {
          tag = 12825874, 
          val = 12777890, 
          next = 0x0, 
          gcpro = 0x0, 
          jmp =             {{
              __jmpbuf =                 {2,
                2020822257467842350,
                4262240,
                140737488313584,
                0,
                0,
                2020822257679654702,
                -2020822783234089170}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val =                   {6154998,
                  0,
                  4301646765,
                  0,
                  12777890,
                  13022400,
                  140737488312408,
                  14,
                  12805936,
                  12183744,
                  6153577,
                  140737488312368,
                  12777890,
                  4262240,
                  140737488313584,
                  140737488312384}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
#19 0x00000000005598eb in command_loop () at keyboard.c:1137
No locals.
#20 0x000000000055907c in recursive_edit_1 () at keyboard.c:757
        count = 1
        val = 5607989
#21 0x000000000055921f in Frecursive_edit () at keyboard.c:821
        count = 0
        buffer = 12777890
#22 0x0000000000557397 in main (argc=2, argv=0x7fffffff5cf8) at emacs.c:1707
        dummy = 254535599936
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = 1
        skip_args = 0
        rlim = {
          rlim_cur = 33554432, 
          rlim_max = 18446744073709551615
        }
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x7ffff7652358 "@\024bC;"

Lisp Backtrace:
  "kill-emacs" (0xffff4558)
  "save-buffers-kill-emacs" (0xffff4a38)
  "save-buffers-kill-terminal" (0xffff4f58)
  "call-interactively" (0xffff52f8)