Subject: Re: bug#11583: 24.0.97; 24 pretest Emacs.app crashes closing frames

From: Jan Djärv <[email-masked]>
Date: Mon, 4 Jun 2012 23:09:05 +0200

Hello. 

I am debugging this. It is some wierd stack corruption that only happens with an optimized build.  Still looking...

    Jan D. 

4 jun 2012 kl. 22:30 skrev Steven Parkes <[email-masked]>:

> Same pattern, if it helps anyone that can look ...
> 
> (gdb) bt full
> #0  0x00007fff87eae38d in objc_msgSend_vtable14 ()
> No symbol table info available.
> #1  0x00000001001a5c6d in x_free_frame_resources (f=0x500000001095352c) at nsterm.m:1164
>    dpyinfo = (struct ns_display_info *) 0x10164a410
> #2  0x00000001001a2089 in x_destroy_window (f=0x500000001095352c) at nsterm.m:1180
> No locals.
> #3  0x0000000100012a09 in delete_frame (frame=4498015221, force=140734799794800) at frame.c:1343
>    kb = (struct kboard *) 0x10058c8b0
>    f = (struct frame *) 0x10c1a43f0
> #4  0x000000010012b4fd in Ffuncall (nargs=5764607523312448812, args=0x10012b5b8) at eval.c:2984
>    numargs = 2
>    val = 4451840736
>    lisp_numargs = 4451840736
>    backtrace = {
>  next = 0x7fff5fbfd428, 
>  function = 0x7fff5fbfd300, 
>  args = 0x7fff5fbfd308, 
>  nargs = 2, 
>  debug_on_exit = 0
> }
>    original_fun = 4296193464
> #5  0x0000000100165675 in exec_byte_code (bytestr=4451840736, vector=4298305232, maxdepth=140734799794944, args_template=4328534074, nargs=140734799794936, args=0x0) at bytecode.c:785
>    count = 79
>    stack = {
>  pc = 0x10049f71b "\202I", 
>  byte_string = 4298305201, 
>  byte_string_start = 0x10049f6d7 "\b\211\030:\203\r", 
>  constants = 4298305237, 
>  next = 0x7fff5fbfd4c8
> }
>    result = 4451840736
> #6  0x000000010012dfba in funcall_lambda (fun=140734799795200, nargs=140734799795200, arg_vector=0x7fff5fbfd400) at eval.c:3233
>    count = 78
>    val = 4451840736
>    syms_left = 4298305136
> #7  0x000000010012b4e4 in Ffuncall (nargs=3, args=0x102038c1a) at eval.c:3051
>    numargs = 1
>    val = 4451840736
>    lisp_numargs = 140734799795352
>    backtrace = {
>  next = 0x7fff5fbfd5a8, 
>  function = 0x7fff5fbfd490, 
>  args = 0x7fff5fbfd498, 
>  nargs = 1, 
>  debug_on_exit = 0
> }
>    original_fun = 4328754202
> #8  0x0000000100165675 in exec_byte_code (bytestr=4451840736, vector=4326376112, maxdepth=140734799795344, args_template=4328534074, nargs=140734799795336, args=0x0) at bytecode.c:785
>    count = 76
>    stack = {
>  pc = 0x104ede7b3 "*\207", 
>  byte_string = 4324043809, 
>  byte_string_start = 0x104ede788 "\304 \305 \030\211\031\203\036", 
>  constants = 4326376117, 
>  next = 0x7fff5fbfe2b8
> }
>    result = 4451840736
> #9  0x000000010012dfba in funcall_lambda (fun=140734799795584, nargs=140734799795584, arg_vector=0x7fff5fbfd580) at eval.c:3233
>    count = 75
>    val = 4451840736
>    syms_left = 4326376368
> #10 0x000000010012b4e4 in Ffuncall (nargs=2, args=0x103903152) at eval.c:3051
>    numargs = 1
>    val = 4451840736
>    lisp_numargs = 140734799795768
>    backtrace = {
>  next = 0x7fff5fbfd768, 
>  function = 0x7fff5fbfd630, 
>  args = 0x7fff5fbfd638, 
>  nargs = 1, 
>  debug_on_exit = 0
> }
>    original_fun = 4354748754
> #11 0x0000000100127df9 in Fcall_interactively (function=140734799796032, record_flag=140734799796032, keys=140734799796032) at callint.c:852
>    val = 4451840736
>    key_count = 1606408000
>    save_real_this_command = 4328534074
>    save_this_command = 4328534074
>    save_last_command = 4328821226
>    prefix_arg = 4328534074
>    enable = 4451840736
>    save_this_original_command = 4328534074
>    speccount = 73
> #12 0x000000010012b423 in Ffuncall (nargs=2, args=0x10012b5b8) at eval.c:3009
>    numargs = 3
>    val = 4451840736
>    lisp_numargs = 140734799795768
>    backtrace = {
>  next = 0x7fff5fbfe148, 
>  function = 0x7fff5fbfd7d0, 
>  args = 0x7fff5fbfd7d8, 
>  nargs = 3, 
>  debug_on_exit = 0
> }
>    original_fun = 4296193464
> #13 0x000000010012e3a6 in call3 (fn=4, arg1=1, arg2=140734799795768, arg3=244752) at eval.c:2802
>    ret_ungc_val = 4451840736
>    args = {4328660426, 4354748754, 4328534074, 4449223077}
> #14 0x00000001000c16e4 in read_char (commandflag=1606408832, nmaps=140734799796864, maps=0x7fff5fbfda80, prev_event=4449223077, used_mouse_menu=0x7fff5fbfda80, end_time=0x7fff5fbfda80) at keyboard.c:2888
>    previous_echo_area_message = 4328534074
>    reread = 0
>    polling_stopped_here = 0
>    local_getcjmp = {57294336, 1, 1606408832, 32767, 1606408192, 32767, 5691744, 1, 0, 0, 57296672, 1, 33566826, 1, 791862, 1, 1, 1606408672, 8098, 1115007, 1, 1606408752, 32767, 30577440, 1, 59038274, 1, 5829344, 
>  1, 1606408704, 32767, 1157001, 1, 1606408336, 32767, 34776992, 1}
>    key_already_recorded = 0
>    c = 4596136278
>    save_jump = {57294336, 1, 1606408784, 32767, 1606408144, 32767, 0, 0, 1, 0, 57296352, 1, 0, 0, 791862, 1, 1, -1, 8098, 895, 0, 28674496, 1, 67338640, 1, 105092273, 1, 67338624, 1, 28674501, 1, 201836336, 1, 
>  140, 0, 1, 0}
>    also_record = 4328534074
>    orig_kboard = (struct kboard *) 0x101d03a10
> #15 0x00000001000c5007 in read_key_sequence () at keyboard.c:2832
> No symbol table info available.
> #16 0x00000001000c6b9a in command_loop_1 () at keyboard.c:1449
>    keybuf = {4, 76, 200, 73, 5901377016, 4328534122, 4496975712, 4297160113, -1, -6959150969497591664, 4328534074, 4297160113, 4328534074, 4328534122, 4328534074, 140734799797680, 4296323456, 4357463670, 
>  4328590282, -6959150969497591664, 140734799797752, 4328534074, 4328534074, 4357463670, 4300801160, 140734799797728, 4295782350, 1, 4357463670, 4300796640}
> #17 0x000000010012ebd3 in internal_condition_case (bfun=0x1000c5690 <command_loop_1>, handlers=4328590234, hfun=0x1000c6c30 <cmd_error>) at eval.c:1515
>    c = {
>  tag = 4328534074, 
>  val = 4328534074, 
>  next = 0x7fff5fbfdfd0, 
>  gcpro = 0x0, 
>  jmp = {814128, 1, 1606410128, 32767, 1606409840, 32767, 5833864, 1, 2167040, 1, 33622938, 1, 808592, 1, 1239902, 1, 155825288, 1, 8098, 895, 1, 0, 155825280, 1, 155825288, 1, 1606410080, 32767, -1, -1, 2, 0, 
>    2167040, 1, 19917312, 1, 33618216}, 
>  backlist = 0x7fff5fbfe148, 
>  handlerlist = 0x7fff5fbfede0, 
>  lisp_eval_depth = 6, 
>  pdlcount = 73, 
>  poll_suppress_count = 0, 
>  interrupt_input_blocked = 0, 
>  byte_stack = 0x7fff5fbfe2b8
> }
>    h = {
>  handler = 4328590234, 
>  var = 4328534074, 
>  chosen_clause = 4328534122, 
>  tag = 0x7fff5fbfde98, 
>  next = 0x7fff5fbfede0
> }
>    val = 4451840736
> #18 0x00000001000c566e in command_loop_2 (ignore=140734799797480) at keyboard.c:1160
> No locals.
> #19 0x000000010012ecd8 in internal_catch (tag=140734799797480, func=0x1000c5630 <command_loop_2>, arg=140734799797480) at eval.c:1272
>    c = {
>  tag = 4328644106, 
>  val = 4328534074, 
>  next = 0x7fff5fbfee08, 
>  gcpro = 0x0, 
>  jmp = {33566778, 1, 1606410432, 32767, 1606410192, 32767, 2, 0, 2167040, 1, 808496, 1, 33618216, 1, 1240261, 1, 2, 0, 8098, 895, 19902464, 1, 33618216, 1, 1606410368, 32767, -1918708792, 32767, 206647376, 1, 16, 0, 
>    30423568, 1, 33566778, 1, 1606410432}, 
>  backlist = 0x7fff5fbfe148, 
>  handlerlist = 0x7fff5fbfede0, 
>  lisp_eval_depth = 6, 
>  pdlcount = 73, 
>  poll_suppress_count = 0, 
>  interrupt_input_blocked = 0, 
>  byte_stack = 0x7fff5fbfe2b8
> }
> #20 0x00000001000c71cd in command_loop [inlined] () at /Users/smparkes/scm/emacs/emacs/emacs-24/src/keyboard.c:1125
>    val = 4328585512
>    count = 33676810
>    val = 4328585512
> #21 0x00000001000c71cd in recursive_edit_1 () at keyboard.c:759
>    val = 4328585512
>    count = 33676810
>    val = 4328585512
> #22 0x00000001000b6f4c in Frecursive_edit () at keyboard.c:823
>    count = 68
>    buffer = 4451840736
> #23 0x000000010012b3f7 in Ffuncall (nargs=4328644106, args=0x10012b5b8) at eval.c:2999
>    numargs = 0
>    val = 4451840736
>    lisp_numargs = 313532612608
>    backtrace = {
>  next = 0x7fff5fbfe398, 
>  function = 0x7fff5fbfe1b0, 
>  args = 0x7fff5fbfe1b8, 
>  nargs = 0, 
>  debug_on_exit = 0
> }
>    original_fun = 4296193464
> #24 0x0000000100165675 in exec_byte_code (bytestr=4451840736, vector=4501773200, maxdepth=140734799798704, args_template=4328534074, nargs=140734799798696, args=0x10f3a8cc7) at bytecode.c:785
>    count = 15
>    stack = {
>  pc = 0x1121fc668 "\210.\031\016E\024\016D\025\016C\026&\016B\026'\016A\026(\016@\026)\016?\026*\016>\026+\016=\026,\016<\026-\016;\026.\016:\026/\0169\0260\0168\0261\0167\0262\0166\020\0165\0263\016I\026X\t.\034\207", 
>  byte_string = 4500760753, 
>  byte_string_start = 0x1121fc520 "\b\203\006", 
>  constants = 4501773205, 
>  next = 0x7fff5fbfe778
> }
>    result = 4451840736
> #25 0x000000010012dfba in funcall_lambda (fun=140734799799152, nargs=140734799799152, arg_vector=0x7fff5fbfe370) at eval.c:3233
>    count = 14
>    val = 4451840736
>    syms_left = 4502124112
> #26 0x000000010012b4e4 in Ffuncall (nargs=1, args=0x10201df5a) at eval.c:3051
>    numargs = 2
>    val = 4451840736
>    lisp_numargs = 140734799799304
>    backtrace = {
>  next = 0x7fff5fbfe6d8, 
>  function = 0x7fff5fbfe400, 
>  args = 0x7fff5fbfe408, 
>  nargs = 2, 
>  debug_on_exit = 0
> }
>    original_fun = 4328644442
> #27 0x000000010012afe6 in Fapply (nargs=140734799799408, args=0x7fff5fbfe470) at eval.c:2507
>    fun = 4451840736
>    spread_arg = 4328534074
>    sa_count = 14
>    numargs = 2
>    retval = 4451840736
> #28 0x000000010012dbe0 in apply1 [inlined] () at /Users/smparkes/scm/emacs/emacs/emacs-24/src/eval.c:2745
>    args = {4328644442, 4355130854}
>    ret_ungc_val = 4451840736
>    ret_ungc_val = 4451840736
>    old_max = 4300801160
>    count = 10
>    debug_while_redisplaying = 0
> #29 0x000000010012dbe0 in call_debugger (arg=140734799799504) at eval.c:227
>    args = {4328644442, 4355130854}
>    ret_ungc_val = 4451840736
>    ret_ungc_val = 4451840736
>    old_max = 4300801160
>    count = 10
>    debug_while_redisplaying = 0
> #30 0x000000010012a6c3 in maybe_call_debugger [inlined] () at /Users/smparkes/scm/emacs/emacs/emacs-24/src/eval.c:1930
>    combined_data = 4451840736
>    conditions = 4451840736
>    bp = (struct backtrace *) 0x7fff5fbfe408
>    string = 4451840736
> #31 0x000000010012a6c3 in Fsignal (error_symbol=4355130854, data=140734799799632) at eval.c:1752
>    combined_data = 4451840736
>    conditions = 4451840736
>    bp = (struct backtrace *) 0x7fff5fbfe408
>    string = 4451840736
> #32 0x000000010012e439 in xsignal (error_symbol=4328590586, data=4365307942) at eval.c:1786
> No locals.
> #33 0x000000010012d7df in xsignal1 (error_symbol=<value temporarily unavailable, due to optimizations>, arg=<value temporarily unavailable, due to optimizations>) at eval.c:1801
> No locals.
> #34 0x00000001001172e9 in Fsymbol_value (symbol=<value temporarily unavailable, due to optimizations>) at data.c:1059
>    val = 4451840736
> #35 0x000000010012cc38 in eval_sub (form=4365267378) at eval.c:2232
>    lex_binding = 4451840736
>    original_args = 4329146634
>    original_fun = 4328534074
>    backtrace = {
>  next = 0x10037e40d, 
>  function = 0x7fff5fbfe778, 
>  args = 0x9f6c21107cc7e090, 
>  nargs = 4298630048, 
>  debug_on_exit = 0
> }
> #36 0x000000010012ac0d in Feval (form=4365267378, lexical=4365307942) at eval.c:2204
>    count = 9
> #37 0x000000010012b4fd in Ffuncall (nargs=4328590586, args=0x10012b5b8) at eval.c:2984
>    numargs = 2
>    val = 4451840736
>    lisp_numargs = 140734799799304
>    backtrace = {
>  next = 0x7fff5fbfe858, 
>  function = 0x7fff5fbfe748, 
>  args = 0x7fff5fbfe750, 
>  nargs = 2, 
>  debug_on_exit = 1
> }
>    original_fun = 4296193464
> #38 0x0000000100165675 in exec_byte_code (bytestr=4451840736, vector=4298629584, maxdepth=140734799800136, args_template=4328534074, nargs=140734799800120, args=0x10048412e) at bytecode.c:785
>    count = 8
>    stack = {
>  pc = 0x100484138 "!)\207", 
>  byte_string = 4298629553, 
>  byte_string_start = 0x100484126 "\b\203\b", 
>  constants = 4298629589, 
>  next = 0x7fff5fbfe8f8
> }
>    result = 4451840736
> #39 0x000000010012dfba in funcall_lambda (fun=140734799800368, nargs=140734799800368, arg_vector=0x7fff5fbfe830) at eval.c:3233
>    count = 7
>    val = 4451840736
>    syms_left = 4298629480
> #40 0x000000010012b4e4 in Ffuncall (nargs=3, args=0x10248432a) at eval.c:3051
>    numargs = 1
>    val = 4451840736
>    lisp_numargs = 140734799800520
>    backtrace = {
>  next = 0x7fff5fbfe9d8, 
>  function = 0x7fff5fbfe8c0, 
>  args = 0x7fff5fbfe8c8, 
>  nargs = 1, 
>  debug_on_exit = 0
> }
>    original_fun = 4333257514
> #41 0x0000000100165675 in exec_byte_code (bytestr=4451840736, vector=4298630432, maxdepth=140734799800512, args_template=4328534074, nargs=140734799800504, args=0x100484026) at bytecode.c:785
>    count = 6
>    stack = {
>  pc = 0x10048402b "\v)B\211\034A\n=\204\033", 
>  byte_string = 4298630401, 
>  byte_string_start = 0x10048401e "\b\204\b", 
>  constants = 4298630437, 
>  next = 0x0
> }
>    result = 4451840736
> #42 0x000000010012dfba in funcall_lambda (fun=140734799800752, nargs=140734799800752, arg_vector=0x7fff5fbfe9b0) at eval.c:3233
>    count = 5
>    val = 4451840736
>    syms_left = 4298630336
> #43 0x000000010012b4e4 in Ffuncall (nargs=2, args=0x10206cbba) at eval.c:3051
>    numargs = 1
>    val = 4451840736
>    lisp_numargs = 140734799800936
>    backtrace = {
>  next = 0x7fff5fbfeb98, 
>  function = 0x7fff5fbfea60, 
>  args = 0x7fff5fbfea68, 
>  nargs = 1, 
>  debug_on_exit = 0
> }
>    original_fun = 4328967098
> #44 0x0000000100127df9 in Fcall_interactively (function=140734799801200, record_flag=140734799801200, keys=140734799801200) at callint.c:852
>    val = 4451840736
>    key_count = 1606413168
>    save_real_this_command = 4328967098
>    save_this_command = 4328967098
>    save_last_command = 4328821226
>    prefix_arg = 4328534074
>    enable = 4451840736
>    save_this_original_command = 4328967098
>    speccount = 3
> #45 0x000000010012b423 in Ffuncall (nargs=2, args=0x10012b5b8) at eval.c:3009
>    numargs = 3
>    val = 4451840736
>    lisp_numargs = 140734799800936
>    backtrace = {
>  next = 0x0, 
>  function = 0x7fff5fbfec00, 
>  args = 0x7fff5fbfec08, 
>  nargs = 3, 
>  debug_on_exit = 0
> }
>    original_fun = 4296193464
> #46 0x000000010012e3a6 in call3 (fn=4, arg1=1, arg2=140734799800936, arg3=1) at eval.c:2802
>    ret_ungc_val = 4451840736
>    args = {4328660426, 4328967098, 4328534074, 4328534074}
> #47 0x00000001000c5cd5 in command_loop_1 () at keyboard.c:1572
>    keybuf = {96, 20, 4296303866, 2, 5901380968, 4328534122, 4496975712, 4297160113, -1, -6959150969497591664, 4328534074, 4297160113, 4328534074, 4328534122, 4328534074, 140734799801632, 4296323456, 4596182694, 
>  4328590282, -6959150969497591664, 140734799801704, 4328534074, 4328534074, 4596182694, 4300801160, 140734799801680, 4295782350, 140734800051648, 4596182694, 4300796640}
> #48 0x000000010012ebd3 in internal_condition_case (bfun=0x1000c5690 <command_loop_1>, handlers=4328590234, hfun=0x1000c6c30 <cmd_error>) at eval.c:1515
>    c = {
>  tag = 4328534074, 
>  val = 4328534074, 
>  next = 0x7fff5fbfef40, 
>  gcpro = 0x0, 
>  jmp = {814128, 1, 1606414080, 32767, 1606413792, 32767, 5833864, 1, 5824692, 1, 33622938, 1, 808592, 1, 1239902, 1, 5824692, 1, 8098, 895, 768048, 1, 1239902, 1, 73, 0, 8096, 895, 3, 0, 0, 0, 0, 16711680, 
>    1128353093, 1330011987, 1281315918}, 
>  backlist = 0x0, 
>  handlerlist = 0x0, 
>  lisp_eval_depth = 0, 
>  pdlcount = 2, 
>  poll_suppress_count = 0, 
>  interrupt_input_blocked = 0, 
>  byte_stack = 0x0
> }
>    h = {
>  handler = 4328590234, 
>  var = 4328534074, 
>  chosen_clause = 4328534122, 
>  tag = 0x7fff5fbfee08, 
>  next = 0x0
> }
>    val = 4451840736
> #49 0x00000001000c566e in command_loop_2 (ignore=4328660426) at keyboard.c:1160
> No locals.
> #50 0x000000010012ecd8 in internal_catch (tag=4328660426, func=0x1000c5630 <command_loop_2>, arg=4328660426) at eval.c:1272
>    c = {
>  tag = 4328586250, 
>  val = 4328534074, 
>  next = 0x0, 
>  gcpro = 0x0, 
>  jmp = {33566778, 1, 1606414384, 32767, 1606414144, 32767, 5825160, 1, 5824692, 1, 808496, 1, 808496, 1, 1240261, 1, 19902464, 1, 8098, 895, 1606414288, 32767, -1918705244, 32767, 0, 0, 1529168, 1, 1606414432, 32767, 
>    1606414440, 32767, 1910528, 1, 33566778, 1, 1606414384}, 
>  backlist = 0x0, 
>  handlerlist = 0x0, 
>  lisp_eval_depth = 0, 
>  pdlcount = 2, 
>  poll_suppress_count = 0, 
>  interrupt_input_blocked = 0, 
>  byte_stack = 0x0
> }
> #51 0x00000001000c7190 in command_loop [inlined] () at /Users/smparkes/scm/emacs/emacs/emacs-24/src/keyboard.c:1139
>    val = 4295775792
>    count = 33618954
>    val = 4295775792
> #52 0x00000001000c7190 in recursive_edit_1 () at keyboard.c:759
>    val = 4295775792
>    count = 33618954
>    val = 4295775792
> #53 0x00000001000b6f4c in Frecursive_edit () at keyboard.c:823
>    count = 0
>    buffer = 4451840736
> #54 0x00000001000b3a09 in main (argc=33618954, argv=0x7fff5fbff200) at emacs.c:1715
>    stack_bottom_variable = 0 '\0'
>    dummy = 0
>    junk = 0x0
>    skip_args = 0
>    rlim = {
>  rlim_cur = 8720000, 
>  rlim_max = 67104768
> }
>    dname_arg = 0x0
>    dname_arg2 = "\000\362\277_\377\177\000\000\032\023\300_\377\177", '\0' <repeats 14 times>, "\001", '\0' <repeats 19 times>, " \a\300_\377\177\000\0000\a\300_\377\177\000\000\000\000\000\000\001\000\000\000(\362\277_\377\177\000"
>    ch_to_dir = 0x0
> 
> Lisp Backtrace:
> "delete-frame" (0x5fbfd308)
> "handle-delete-frame" (0x5fbfd498)
> "dframe-handle-delete-frame" (0x5fbfd638)
> "call-interactively" (0x5fbfd7d8)
> "recursive-edit" (0x5fbfe1b8)
> "debug" (0x5fbfe408)
> "eval" (0x5fbfe750)
> "eval-last-sexp-1" (0x5fbfe8c8)
> "eval-last-sexp" (0x5fbfea68)
> "call-interactively" (0x5fbfec08)
> (gdb) 
> 
> 
>