Hello,
I have built emacs 23.1 for AIX using the xlc compiler
(config.log is available). Emacs crashes sometimes when I try to scroll in
a buffer or modify the buffer. The crash occurs about one or two times
per week.
I have included a trace from dbx inspecting the core file. It
seems to have to do with garbage collection or memory management. My
guess is that garbage collection is performed during buffer scrolling.
The binary was built with -g and -O2 using xlc_r. I have tried for a week to
reproduce a crash with an unoptimized build, but was not successful, so the trace below is the best I can provide for now.
When I compiled emacs I get warnings about alloca. I also tried to build emacs with gcc, but it crashes in the same way.
The following crash happens sometimes when I try to scroll in a buffer:
IOT/Abort trap in fatal_error_signal at line 403 in file ""
couldn't read "emacs.c"
(dbx) where
fatal_error_signal(sig = 538249088), line 403 in "emacs.c"
emacs.abort(), line 432 in "emacs.c"
Fsignal(error_symbol = 550856640, data = 538298528), line 1652 in "eval.c"
xsignal(error_symbol = 270962724, data = 20439), line 1751 in "eval.c"
xsignal1(error_symbol = 538291456, arg = 538293456), line 1768 in "eval.c"
compile_pattern_1(cp = 0x2ff20ab0, pattern = 20439, translate =
549181824, regp = 0x00000004, posix = 540852040), line 179 in "search.c"
compile_pattern(pattern
= 269324080, regp = (nil), translate = 804386800, posix = 543383040,
multibyte = 269324080), line 266 in "search.c"
fast_string_match(regexp = 538291456, string = 538293456), line 507 in "search.c"
Ffind_file_name_handler(
filename = 538291456, operation = 538293456), line 382 in "fileio.c"
Fexpand_file_name(name = 1623917056, default_directory = -1606969344), line 862 in "fileio.c"
Fdo_auto_save(no_message = 0, current_only = -2133330944), line 5235 in "fileio.c"
shut_down_emacs(sig = 538291456, no_x = 538293456, stuff = 540398608), line 2216 in "emacs.c"
fatal_error_signal(sig = 0), line 389 in "emacs.c"
mark_object(arg = 538291456), line 5650 in "alloc.c"
traverse_intervals_noorder(tree = (nil), function = 0x40000000, arg = 804388752), line 216 in "intervals.c"
traverse_intervals_noorder(tree = 0x20150780, function = 0x20150764, arg = 1073758208), line 221 in "intervals.c"
mark_interval_tree(tree = 0x2015ad00), line 1524 in "alloc.c"
mark_object(arg = 540115424), line 5554 in "alloc.c"
mark_object(arg = 0), line 5549 in "alloc.c"
unnamed block in Fgarbage_collect(), line 5109 in "alloc.c"
Fgarbage_collect(), line 5109 in "alloc.c"
Fbyte_code(bytestr = 9, vector = 540514352, maxdepth = 1127219200), line 527 in "bytecode.c"
funcall_lambda(fun = 537672800, nargs = -2146681760, arg_vector = 0x2ff203c0), line 3232 in "eval.c"
apply_lambda(fun = -2146761924, args = 540514304, eval_flag = 1), line 3156 in "eval.c"
Feval(form = -1602180136), line 2418 in "eval.c"
internal_condition_case_1(bfun = 0x20155194, arg = -1602180136, handlers = 540582032, hfun = 0x201551a0), line 1560 in "eval.c"
menu_item_eval_property(sexpr = 544948944), line 7783 in "keyboard.c"
parse_tool_bar_item(key = 270477396, item = -1596107872), line 8478 in "keyboard.c"
process_tool_bar_item(key = 540705056, def = -1596468104, data = 540514304, args = (nil)), line 8300 in "keyboard.c"
map_keymap_item(fun = (nil), args = 1, key = 804391104, val = 1, data = 0x101f69a8), line 643 in "keymap.c"
map_keymap_internal(map = -1596107872, fun = 0x201553b0, args = 540514304, data = (nil)), line 681 in "keymap.c"
map_keymap(map = -1596107872, fun = 0x201553b0, args = 540514304, data = (nil), autoload = 1), line 728 in "keymap.c"
tool_bar_items(reuse = -2132707328, nitems = 0x60b92490), line 8257 in "keyboard.c"
unnamed block in update_tool_bar(f = 0x2088a200, save_match_data = 538293456), line 9936 in "xdisp.c"
unnamed block in update_tool_bar(f = 0x2088a200, save_match_data = 538293456), line 9936 in "xdisp.c"
update_tool_bar(f = 0x2088a200, save_match_data = 538293456), line 9936 in "xdisp.c"
unnamed block in prepare_menu_bars(), line 9631 in "xdisp.c"
unnamed block in prepare_menu_bars(), line 9631 in "xdisp.c"
prepare_menu_bars(), line 9631 in "xdisp.c"
redisplay_internal(preserve_echo_area = 538293456), line 11475 in "xdisp.c"
redisplay(), line 11050 in "xdisp.c"
unnamed
block in read_char(commandflag = 1, nmaps = 4, maps = 0x2ff217c0,
prev_event = 540514304, used_mouse_menu = 0x2ff2182c, end_time =
(nil)), line 2707 in "keyboard.c"
read_char(commandflag = 1, nmaps = 4, maps = 0x2ff217c0, prev_event =
540514304, used_mouse_menu = 0x2ff2182c, end_time = (nil)), line 2707
in "keyboard.c"
unnamed
block in read_key_sequence(keybuf = 0x00000002, bufsize = 540514304,
prompt = 540514304, dont_downcase_last = 540514304,
can_return_switch_frame = 546349624, fix_current_buffer = 0), line 9460
in "keyboard.c"
unnamed block in read_key_sequence(keybuf = 0x00000002, bufsize =
540514304, prompt = 540514304, dont_downcase_last = 540514304,
can_return_switch_frame = 546349624, fix_current_buffer = 0), line 9460
in "keyboard.c"
unnamed block in read_key_sequence(keybuf = 0x00000002, bufsize =
540514304, prompt = 540514304, dont_downcase_last = 540514304,
can_return_switch_frame = 546349624, fix_current_buffer = 0), line 9460
in "keyboard.c"
unnamed block in read_key_sequence(keybuf = 0x00000002, bufsize =
540514304, prompt = 540514304, dont_downcase_last = 540514304,
can_return_switch_frame = 546349624, fix_current_buffer = 0), line 9460
in "keyboard.c"
read_key_sequence(keybuf = 0x00000002, bufsize = 540514304, prompt =
540514304, dont_downcase_last = 540514304, can_return_switch_frame =
546349624, fix_current_buffer = 0), line 9460 in "keyboard.c"
command_loop_1(), line 1642 in "keyboard.c"
internal_condition_case(bfun = 0x20155164, handlers = 540582032, hfun = 0x20155158), line 1512 in "eval.c"
command_loop_2(), line 1359 in "keyboard.c"
internal_catch(tag = 268986704, func = 0x2015517c, arg = 540514304), line 1248 in "eval.c"
keyboard.command_loop(), line 1338 in "keyboard.c"
recursive_edit_1(), line 953 in "keyboard.c"
Frecursive_edit(), line 1015 in "keyboard.c"
main(argc = 0, argv = (nil)), line 1852 in "emacs.c"
regards,
Marc