emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: crash in RC branch


From: Francesco Potorti`
Subject: Re: crash in RC branch
Date: Tue, 05 Nov 2002 16:50:31 +0100

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 <command_loop_1>, 
handlers=405415348,
    hfun=0x80dcc80 <cmd_error>) at eval.c:1267
#5  0x080dcf9d in command_loop_2 () at keyboard.c:1245
#6  0x08136ea9 in internal_catch (tag=405525148, func=0x80dcf70 
<command_loop_2>, 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' <repeats 13 times>, 
"\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 <return> to continue, or q <return> 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 <return> to continue, or q <return> 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
}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]