From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Francesco Potorti` Newsgroups: gmane.emacs.devel Subject: Re: crash in RC branch Date: Tue, 05 Nov 2002 16:50:31 +0100 Sender: emacs-devel-admin@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1036512307 10671 80.91.224.249 (5 Nov 2002 16:05:07 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 5 Nov 2002 16:05:07 +0000 (UTC) Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1896CM-0002ls-00 for ; Tue, 05 Nov 2002 17:05:02 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 1896KR-000777-00 for ; Tue, 05 Nov 2002 17:13:23 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 1896Ae-0003eq-00; Tue, 05 Nov 2002 11:03:16 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 1895yV-0001N2-00 for emacs-devel@gnu.org; Tue, 05 Nov 2002 10:50:43 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 1895yR-0001MH-00 for emacs-devel@gnu.org; Tue, 05 Nov 2002 10:50:42 -0500 Original-Received: from pot.cnuce.cnr.it ([146.48.83.182]) by monty-python.gnu.org with esmtp (Exim 4.10) id 1895yM-0001LC-00 for emacs-devel@gnu.org; Tue, 05 Nov 2002 10:50:35 -0500 Original-Received: from pot by pot.cnuce.cnr.it with local (Exim 3.36 #1 (Debian)) id 1895yJ-0007Xa-00 for ; Tue, 05 Nov 2002 16:50:31 +0100 Original-To: Emacs developers In-reply-to: X-fingerprint: 4B2 6187 5C3 D6B1 2E31 7666 9DF 2DC9 BE21 6115 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:9138 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:9138 I need help, because I don't know where to go from now on. I suspect it has something to do with latin-1 characters, and with C-g, but both of these may be wrong. The crash I am debugging is of the same nature of a crash that rms helped me debugging on June, but I had not yet finished when I was interrupted by a power outage. These are the facts. I visited a big (about 17 MB) rmail file. After a while, since Emacs took a long time to load it, I hit C-g. Then I don't know exactly what I did, and I do not manage to print the value of recent_keys in a coprehensible way. However, these are the last two messages in the *Messages* buffer: rmail-decode-babyl-format: Quit kill-buffer: Quit Notice that, in the previous instance of the crash I had on June, the last message was: rmail-decode-babyl-format: Quit This should mean that the file was in fact all in memory, and Emacs had begun to convert it. After that, Emacs aborted in get_local_map at intervals.c: /* Perhaps we should just change `position' to the limit. */ if (position > BUF_Z (buffer) || position < BUF_BEG (buffer)) abort (); What made it abort is the first condition. In fact, in current_buffer: pt = 17566287 (position) own_text.z = 981 (BUF_Z) The current buffer is the big rmail file, whose lenght is 17566288, and in fact, in current_buffer: save_length = 17566288 The string in current_buffer at own_text.beg+pt is apparently nothing strange: pure ASCII text in the middle of a line. The buffer contents in memory are in the internal Emacs format, that is, every latin-1 character is preceded by \201. The gap size is big (as it was in the previous crash) gpt = 970, z = 981, gpt_byte = 970, z_byte = 981, gap_size = 17571308, The character in the file at point 970 is the first non-ASCII character in the file, a latin-1 character (0350 octal). In the buffer in memory: (gdb) p current_buffer->own_text.beg[969] $349 = 129 '\201' (gdb) p current_buffer->own_text.beg[970] $350 = 232 '\350' I cannot look at the undo list, because it is nil (this is normal, I think, in an rmail buffer during initialisation). Here is some gdb output: ================================================================ -IT<-11:**-F1 *mail* 00:01 0.25 Mail (Mail H Fa Abbrev Fill)--L2--C43--Top--- Switch to buffer: (default *shell*) SMAIL Breakpoint 1, abort () at emacs.c:387 387 kill (getpid (), SIGABRT); (gdb) bt #0 abort () at emacs.c:387 #1 0x08173d2b in get_local_map () at intervals.c:2183 #2 0x080e597f in read_key_sequence (keybuf=0xbfffee00, bufsize=30, prompt=405319004, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:8015 #3 0x080dd2b4 in command_loop_1 () at keyboard.c:1440 #4 0x0813733a in internal_condition_case (bfun=0x80dd0e0 , handlers=405415348, hfun=0x80dcc80 ) at eval.c:1267 #5 0x080dcf9d in command_loop_2 () at keyboard.c:1245 #6 0x08136ea9 in internal_catch (tag=405525148, func=0x80dcf70 , arg=405319004) at eval.c:1030 #7 0x080dcf47 in command_loop () at keyboard.c:1224 #8 0x080dca0e in recursive_edit_1 () at keyboard.c:950 #9 0x080dcb42 in Frecursive_edit () at keyboard.c:1006 #10 0x080db38b in main (argc=3, argv=0xbffff484, envp=0xbffff494) at emacs.c:1547 (gdb) xbacktrace (gdb) p position $1 = 17566287 (gdb) p current_buffer[0] $3 = { size = 537002092, next = 0x8e7cbb8, own_text = { beg = 0x41116008 "BABYL OPTIONS: -*- rmail -*-\nVersion: 5\nLabels:\nNote: This is the header of an rmail file.\nNote: If you are seeing it in rmail,\nNote: it means the file has no messages in it.\n\037\f\n1,,\nDate: 1 Jan"..., gpt = 970, z = 981, gpt_byte = 970, z_byte = 981, gap_size = 17571308, modiff = 3, save_modiff = 0, overlay_modiff = 1, beg_unchanged = -1, end_unchanged = 0, unchanged_modified = 1, overlay_unchanged_modified = 1, intervals = 0x828bd70, markers = 677474904 }, text = 0x914edf0, pt = 17566287, pt_byte = 17566287, begv = 1, begv_byte = 1, zv = 981, zv_byte = 981, base_buffer = 0x0, local_flags = '\0' , "\001\0\001\0\0\0\001\0\0\0\0\0\0\0\0P\356\024\t\0\0\0\0\a\0\0\01\001\0\0p\3229\t\260W", modtime = 1036364301, auto_save_modified = 2, auto_save_failure_time = -1, last_window_start = 1, clip_changed = 1, newline_cache = 0x0, width_run_cache = 0x0, prevent_redisplay_optimizations_p = 1, undo_list = 405319004, name = 957615556, filename = 958398396, directory = 952295716, backed_up = 405319004, save_length = 17566288, auto_save_file_name = 405319004, ---Type to continue, or q to quit--- read_only = 405319052, mark = 682055496, local_var_alist = 1479512436, major_mode = 406061884, mode_name = 944593516, mode_line_format = 1479455276, header_line_format = 405319004, keymap = 1480516916, abbrev_table = 1212524312, syntax_table = 1212524560, category_table = 1210667592, case_fold_search = 405319052, tab_width = 8, fill_column = 72, left_margin = 0, auto_fill_function = 405319004, buffer_file_type = 405319004, downcase_table = 1210669688, upcase_table = 1211642584, case_canon_table = 1211834432, case_eqv_table = 1211849408, truncate_lines = 405319004, ctl_arrow = 405319052, direction_reversed = 405319004, selective_display = 405319004, selective_display_ellipses = 405319052, minor_modes = 405319004, overwrite_mode = 405319004, abbrev_mode = 405319004, display_table = 405319004, mark_active = 405319004, overlays_before = 405319004, overlays_after = 405319004, overlay_center = 17566289, enable_multibyte_characters = 405319004, buffer_file_coding_system = 405319004, file_format = 405319004, cache_long_line_scans = 405319004, width_table = 405319004, pt_marker = 405319004, begv_marker = 405319004, zv_marker = 405319004, point_before_scroll = 405319004, file_truename = 952295732, invisibility_spec = 405319052, last_selected_window = 1226800416, display_count = 1, ---Type to continue, or q to quit--- left_margin_width = 0, right_margin_width = 0, indicate_empty_lines = 405319052, display_time = 1483133916, scroll_up_aggressively = 405319004, scroll_down_aggressively = 405319004, cursor_type = 405319052, extra_line_spacing = 405319004 }