Subject: bug#9943: 24.0.91; Abort in check_glyph_memory

From: Ken Brown <[email-masked]>
Date: Thu, 03 Nov 2011 17:05:45 -0400

On 11/3/2011 3:58 PM, Glenn Morris wrote:
> 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:

[...]

Eli,

I don't know if you need results from a second toolkit, but here's what 
I get with gtk:

(gdb) bt full
#0  abort () at emacs.c:386
No locals.
#1  0x00404781 in check_glyph_memory () at dispnew.c:2370
         tail = 8775706
         frame = -2147299323
#2  0x005149e8 in shut_down_emacs (sig=0, no_x=0, stuff=8775706)
     at emacs.c:2102
No locals.
#3  0x005148ae in Fkill_emacs (arg=8775706) at emacs.c:2014
         gcpro1 = {
           next = 0x96053a,
           var = 0x85e81a,
           nvars = 8775706
         }
         hook = 8960458
         exit_code = 2670032
#4  0x00596763 in Ffuncall (nargs=1, args=0x28be90) at eval.c:2974
         fun = 6464037
         original_fun = 8960194
         funcar = 8775682
         numargs = 0
         lisp_numargs = 0
         val = 8775730
         backtrace = {
           next = 0x28c13c,
           function = 0x28be90,
           args = 0x28be94,
           nargs = 0,
           debug_on_exit = 0
         }
         internal_args = 0x28bdd0
         i = 1
#5  0x005d4a01 in exec_byte_code (bytestr=6706281, vector=6706301,
     maxdepth=20, args_template=8775706, nargs=0, args=0x0) at 
bytecode.c:785
         count = 7
         op = 0
         vectorp = 0x665480
         stack = {
           pc = 0x7959b4 "\207",
           byte_string = 6706281,
           byte_string_start = 0x795955 
"\304\b\305\"\210\305\306\307\310 \">\203\025",
           constants = 6706301,
           next = 0x28c1d4
         }
         top = 0x28be90
         result = 5734137
#6  0x005970a0 in funcall_lambda (fun=6706253, nargs=1, arg_vector=0x85e81a)
     at eval.c:3205
         val = 8775706
         syms_left = 8775706
         next = 9156754
         lexenv = 8775706
         count = 6
         i = 1
         optional = 1
         rest = 0
#7  0x00596982 in Ffuncall (nargs=2, args=0x28c1a0) at eval.c:3023
         fun = 6706253
         original_fun = 9831810
         funcar = 2671128
         numargs = 1
         lisp_numargs = 8825122
         val = 8775706
         backtrace = {
           next = 0x28c43c,
           function = 0x28c1a0,
           args = 0x28c1a4,
           nargs = 1,
           debug_on_exit = 0
         }
         internal_args = 0x85e81a
         i = 11974706
#8  0x005d4a01 in exec_byte_code (bytestr=6706513, vector=6706533,
     maxdepth=12, args_template=8775706, nargs=0, args=0x0) at 
bytecode.c:785
         count = 6
         op = 1
         vectorp = 0x665568
         stack = {
           pc = 0x7958a8 "\207",
           byte_string = 6706513,
           byte_string_start = 0x795899 "\301\302 \303\"\203\f",
           constants = 6706533,
           next = 0x0
         }
         top = 0x28c1a0
         result = 6113793
#9  0x005970a0 in funcall_lambda (fun=6706485, nargs=1, arg_vector=0x85e81a)
     at eval.c:3205
         val = 8775706
         syms_left = 8775706
         next = 9156754
         lexenv = 8775706
         count = 5
         i = 1
         optional = 1
         rest = 0
#10 0x00596982 in Ffuncall (nargs=2, args=0x28c4f0) at eval.c:3023
         fun = 6706485
         original_fun = 9831906
         funcar = 5832270
         numargs = 1
         lisp_numargs = 5320791
         val = 8775706
         backtrace = {
           next = 0x28c73c,
           function = 0x28c4f0,
           args = 0x28c4f4,
           nargs = 1,
           debug_on_exit = 0
         }
         internal_args = 0x28c7a4
         i = 8775706
#11 0x00591a56 in Fcall_interactively (function=9831906, 
record_flag=8775706,
     keys=8554501) at callint.c:859
         val = 2818091
         args = 0x28c4f0
         visargs = 0x28c4d0
         specs = 6618545
         filter_specs = 6618545
         teml = 1628407553
         up_event = 8775706
         enable = 8775706
         speccount = 3
         next_event = 2
         prefix_arg = 8775706
         string = 0x28c510 "P"
         tem = 0x7d29ec ""
         varies = 0x28c4b0 ""
         i = 2
         nargs = 2
         foo = 0
         prompt1 = '\000' <repeats 99 times>
         tem1 = 0x0
         arg_from_tty = 0
         gcpro1 = {
           next = 0x2,
           var = 0x85e81a,
           nvars = 7329013
         }
         gcpro2 = {
           next = 0xb6b25a,
           var = 0x85e81a,
           nvars = 0
         }
         gcpro3 = {
           next = 0x52b07c,
           var = 0x868005,
           nvars = 2
         }
         gcpro4 = {
           next = 0x28c600,
           var = 0x28c604,
           nvars = 2
         }
         gcpro5 = {
           next = 0x85e81a,
           var = 0x9605e2,
           nvars = 0
         }
         key_count = 2
         record_then_fail = 0
         save_this_command = 9831906
         save_last_command = 13030146
         save_this_original_command = 9831906
         save_real_this_command = 9831906
#12 0x005967ae in Ffuncall (nargs=4, args=0x28c7a0) at eval.c:2981
         fun = 8101333
         original_fun = 8945050
         funcar = 0
         numargs = 3
         lisp_numargs = 0
         val = 1320352601
         backtrace = {
           next = 0x0,
           function = 0x28c7a0,
           args = 0x28c7a4,
           nargs = 3,
           debug_on_exit = 0
         }
         internal_args = 0x28c7a4
         i = 0
#13 0x00596179 in call3 (fn=8945050, arg1=9831906, arg2=8775706, 
arg3=8775706)
     at eval.c:2774
         ret_ungc_val = 6706485
         gcpro1 = {
           next = 0x85e81a,
           var = 0x86796a,
           nvars = 4
         }
         args = {8945050, 9831906, 8775706, 8775706}
#14 0x00524b8b in Fcommand_execute (cmd=9831906, record_flag=8775706,
     keys=8775706, special=8775706) at keyboard.c:10292
         final = 6706485
         tem = 8775706
         prefixarg = 8775706
#15 0x00516c59 in command_loop_1 () at keyboard.c:1570
         scount = 2
         cmd = 9831906
         keybuf = {96, 12, 2672640, 6734985, 1, 8775706, 8775706, 6477329,
           2672736, 8110664, 2672792, 5333428, 13560702, 8775730, 2672831,
           9216194, 8930098, 8775706, 8758782, -2147299328, 0, -2147365760,
           2672888, 5333002, 13560702, 2672831, 2672856, 5853201, 2, 
8758782}
         i = 2
         prev_modiff = 24
         prev_buffer = 0x863c00
         already_adjusted = 0
#16 0x00593f0e in internal_condition_case (bfun=0x51653f <command_loop_1>,
     handlers=8825218, hfun=0x515f1f <cmd_error>) at eval.c:1499
         val = 8758782
         c = {
           tag = 8775706,
           val = 8775706,
           next = 0x28ca74,
           gcpro = 0x0,
           jmp = {2672960, 0, 32, -2147188704, 2, 5320791, 2673208, 
2672896,
             5848745, 5439531, 2818091, 2686784, 2677296, 8110660, 
-2147366528,
             2674276, 0, -552734650, 2673240, 2672992, 1628354534, 5439531,
             2818091, 2686784, 0, 0, 0, 8110660, 2, 5320791, 2673336,
             1628384438, -2147366528, 0, 2673096, 8110660, 0, 3, 2673112,
             8110660, 0, 2674276, 2, 5320791, 2673336, 2673088, 1628384355,
             5439531, 2818091, 2686784, 2673224, 1628363639},
           backlist = 0x0,
           handlerlist = 0x0,
           lisp_eval_depth = 0,
           pdlcount = 2,
           poll_suppress_count = 0,
           interrupt_input_blocked = 0,
           byte_stack = 0x0
         }
         h = {
           handler = 8825218,
           var = 8775706,
           chosen_clause = 8775730,
           tag = 0x28c930,
           next = 0x0
         }
#17 0x00516290 in command_loop_2 (ignore=8775706) at keyboard.c:1158
         val = 0
#18 0x005939e0 in internal_catch (tag=8823242, func=0x51626c 
<command_loop_2>,
     arg=8775706) at eval.c:1256
         c = {
           tag = 8823242,
           val = 8775706,
           next = 0x0,
           gcpro = 0x0,
           jmp = {2673284, -2147365760, 32, -2147188704, 2, 5320791, 
2673528,
             2673248, 5847505, 5439531, 2818091, 2686784, 2677296, 
-2147365760,
             6314967, 8110660, 41, 0, -2147367168, 3, 10, 2673416, 
-2147366656,
             8559424, 41, 2673432, 6315042, 8559360, 41, 100, 0, 0,
             -2147365760, 2673448, 0, 8559424, 41, 2673464, 2, 5320791,
             8775706, 2673528, 5761671, 8246376, 8775706, 8797184, 6186777,
             10422672, -2147365760, 8246376, 8797184, 8246376},
           backlist = 0x0,
           handlerlist = 0x0,
           lisp_eval_depth = 0,
           pdlcount = 2,
           poll_suppress_count = 0,
           interrupt_input_blocked = 0,
           byte_stack = 0x0
         }
#19 0x0051624c in command_loop () at keyboard.c:1137
No locals.
#20 0x00515b58 in recursive_edit_1 () at keyboard.c:757
         count = 1
         val = 2673640
#21 0x00515ca9 in Frecursive_edit () at keyboard.c:821
         count = 0
         buffer = 8775706
#22 0x0051431a in main (argc=2, argv=0x28ccf0) at emacs.c:1707
         dummy = 1629631048
         stack_bottom_variable = 97 'a'
         do_initial_setlocale = 1
         skip_args = 0
         rlim = {
           rlim_cur = 2097082,
           rlim_max = 2097152
         }
         no_loadup = 0
         junk = 0x0
         dname_arg = 0x0
         ch_to_dir = 0x1 <Address 0x1 out of bounds>

Lisp Backtrace:
"kill-emacs" (0x28be94)
"save-buffers-kill-emacs" (0x28c1a4)
"save-buffers-kill-terminal" (0x28c4f4)
"call-interactively" (0x28c7a4)