emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs crashes, 07nov16


From: Robert J. Chassell
Subject: Re: Emacs crashes, 07nov16
Date: Wed, 28 Nov 2007 12:06:07 +0000 (UTC)

I updated Emacs again.

Today's GNU Emacs CVS snapshot, Wed, 2007 Nov 28  10:59 UTC
GNU Emacs 23.0.50.2 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in a debugger with

  set args -i -q -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1'

crashes when it visits an RMAIL file with an inserted 
(make-char 'latin-iso8859-15 164).  That is to say, the instance hits
the debugger point in src/xterm.c and becomes unusable.  Text in it vanishes.

What should I do?

(gdb) bt full
#0  x_draw_glyph_string_foreground (s=0xbffa6ea0) at xterm.c:1374
        char1b = 0xbffa6e80 " \254"
        boff = 0
        i = 0
        x = 30
#1  0x080f5e1e in x_draw_glyph_string (s=0xbffa6ea0) at xterm.c:2731
        relief_drawn_p = 0
#2  0x08095ad1 in draw_glyphs (w=0x86790e8, x=50, row=0x86db07c, 
area=TEXT_AREA, start=0, end=2, hl=DRAW_NORMAL_TEXT, overlaps=0) at 
xdisp.c:19850
        head = (struct glyph_string *) 0xbffa6ea0
        tail = (struct glyph_string *) 0xbffa6df0
        s = (struct glyph_string *) 0xbffa6ea0
        clip_head = (struct glyph_string *) 0x0
        clip_tail = (struct glyph_string *) 0x0
        last_x = 830
        area_width = 800
        x_reached = 50
        i = 2
        j = -1215516488
        f = (struct frame *) 0x8678f60
#3  0x0809a1c0 in x_write_glyphs (start=0x88af160, len=2) at xdisp.c:21149
        x = 160
        hpos = 0
#4  0x0805a8c7 in update_text_area (w=0x86790e8, vpos=9) at dispnew.c:4446
        current_row = (struct glyph_row *) 0x86b536c
        desired_row = (struct glyph_row *) 0x86db07c
        rif = (struct redisplay_interface *) 0x8231000
        changed_p = 0
#5  0x0805b099 in update_window_line (w=0x86790e8, vpos=9, 
mouse_face_overwritten_p=0xbffa7330) at dispnew.c:4678
        current_row = (struct glyph_row *) 0x86b536c
        desired_row = (struct glyph_row *) 0x86db07c
        rif = (struct redisplay_interface *) 0x8231000
        changed_p = 0
#6  0x0805a532 in update_window (w=0x86790e8, force_p=0) at dispnew.c:4302
        vpos = 9
        i = 0
        end = (struct glyph_row *) 0x86dd204
        mode_line_row = (struct glyph_row *) 0x86dd204
        header_line_row = (struct glyph_row *) 0x0
        changed_p = 1
        mouse_face_overwritten_p = 0
        row = (struct glyph_row *) 0x86db07c
        yb = 760
        n_updated = 0
        desired_matrix = (struct glyph_matrix *) 0x867cce8
        paused_p = 0
        rif = (struct redisplay_interface *) 0x8231000
#7  0x08059c1b in update_window_tree (w=0x86790e8, force_p=0) at dispnew.c:3995
        paused_p = 0
#8  0x08059a40 in update_frame (f=0x8678f60, force_p=0, inhibit_hairy_id_p=0) 
at dispnew.c:3923
        paused_p = 0
        root_window = (struct window *) 0x86790e8
#9  0x0807fff9 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11455
        f = (struct frame *) 0x8678f60
        tail = 140056197
        frame = 141004644
        w = (struct window *) 0x86790e8
        f = (struct frame *) 0x8678f60
        pause = 0
        must_finish = 1
        tlbufpos = {
  charpos = 1, 
  bytepos = 1
}
        tlendpos = {
  charpos = 0, 
  bytepos = 0
}
        number_of_visible_frames = 1
        count = 2
        count1 = 4
        sf = (struct frame *) 0x8678f60
        polling_stopped_here = 1
        old_frame = 141004644
        consider_all_windows_p = 1
#10 0x0807e22f in redisplay () at xdisp.c:10629
No locals.
#11 0x08134fd5 in read_char (commandflag=1, nmaps=2, maps=0xbffa7ef0, 
prev_event=138033353, used_mouse_menu=0xbffa806c, end_time=0x0) at 
keyboard.c:2748
        c = 138033353
        count = 0
        jmpcount = 0
        local_getcjmp = {{
    __jmpbuf = {138068729, 1, 1698, 0, 138351048, -1074102872}, 
    __mask_was_saved = 136372567, 
    __saved_mask = {
      __val = {138275013, 138068729, 3220864680, 135961299, 11336, 138068729, 
145274076, 4294967295, 4294967295, 4294967295, 4294967295, 0 <repeats 21 times>}
    }
  }}
        save_jump = {{
    __jmpbuf = {1698, 1416, 0, 1418, 138351048, 10}, 
    __mask_was_saved = 138351048, 
    __saved_mask = {
      __val = {138033353, 3220864312, 1, 0, 1416, 3220864312, 136361948, 
138195985, 145274076, 3220864344, 136369008, 138351048, 1417, 138351048, 
136361742, 138351048, 138033353, 1, 1417, 0, 138033353, 3220864376, 136361948, 
138068729, 138033353, 138033353, 138033353, 138033353, 138220737, 3220864408, 
136361742, 138275013}
    }
  }}
        key_already_recorded = 0
        tem = 0
        save = 0
        previous_echo_area_message = 138033353
        also_record = 138033353
        reread = 0
        gcpro1 = {
  next = 0x82090d6, 
  var = 0x83f11c8, 
  nvars = 1417
}
        gcpro2 = {
  next = 0x8a8b4dc, 
  var = 0x1, 
  nvars = -1074103000
}
        polling_stopped_here = 0
        orig_kboard = (struct kboard *) 0x8659200
#12 0x0813f829 in read_key_sequence (keybuf=0xbffa8244, bufsize=30, 
prompt=138033353, dont_downcase_last=0, can_return_switch_frame=1, 
fix_current_buffer=1) at keyboard.c:9467
        interrupted_kboard = (KBOARD *) 0x8659200
        interrupted_frame = (struct frame *) 0x8678f60
        key = 138033353
        used_mouse_menu = 0
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        local_first_binding = 0
        from_string = 138033353
        count = 2
        t = 0
        echo_start = 0
        keys_start = 0
        nmaps = 2
        nmaps_allocated = 2
        defs = (Lisp_Object * volatile) 0xbffa7ed0
        submaps = (Lisp_Object * volatile) 0xbffa7ef0
        orig_local_map = 139779829
        orig_keymap = 138033353
        localized_local_map = 0
        first_binding = 0
        first_unbound = 31
        mock_input = 0
        fkey = {
  parent = 139798853, 
  map = 139798853, 
  start = 0, 
  end = 0
}
        keytran = {
  parent = 138025829, 
  map = 138025829, 
  start = 0, 
  end = 0
}
        indec = {
  parent = 139798861, 
  map = 139798861, 
  start = 0, 
  end = 0
}
        delayed_switch_frame = 138033353
        original_uppercase = -1074102088
        original_uppercase_position = -1
        dummyflag = 0
        starting_buffer = (struct buffer *) 0x8a8b4d8
        fake_prefixed_keys = 138033353
        gcpro1 = {
  next = 0x83c35b2, 
  var = 0x83a38c9, 
  nvars = 140685922
}
#13 0x08132660 in command_loop_1 () at keyboard.c:1684
        cmd = 138384849
        lose = 0
        nonundocount = 0
        keybuf = {192, 48, -1217626288, -1208840204, -1074101600, -1221752620, 
-1074101548, -1208918816, 0, 0, 0, 0, -1208856004, -1074101600, -1074101324, 
-1472036457, 49, -1220346804, -1220351792, 134541582, -1472036458, 134541584, 
134541586, 0, 0, 1, 994, -1221752536, 0, -1074101556}
        i = 2
        no_direct = 0
        prev_modiff = 40
        prev_buffer = (struct buffer *) 0x83ab540
        already_adjusted = 0
#14 0x081b7622 in internal_condition_case (bfun=0x813230e <command_loop_1>, 
handlers=138090753, hfun=0x8131cec <cmd_error>) at eval.c:1493
        val = 138278685
        c = {
  tag = 138033353, 
  val = 138033353, 
  next = 0xbffa8430, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1219035148, -1208840992, 0, -1074101256, -519692159, 
585854958}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {3220865652, 3086048480, 0, 3075932148, 140381920, 140530632, 
3086111292, 3220865600, 3220865876, 276967387, 49, 3074620492, 3074619516, 
134542368, 276967386, 3085931420, 134542372, 3220866288, 3086126304, 0, 
3074636396, 3075948544, 3220866288, 110932256, 3086127092, 134522752, 
3086128744, 3220866048, 3086066147, 3086129184, 3073214760, 1}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
        h = {
  handler = 138090753, 
  var = 138033353, 
  chosen_clause = 140341731, 
  tag = 0xbffa832c, 
  next = 0x0
}
#15 0x08132067 in command_loop_2 () at keyboard.c:1396
        val = 20
#16 0x081b70de in internal_catch (tag=138082313, func=0x8132044 
<command_loop_2>, arg=138033353) at eval.c:1229
        c = {
  tag = 138082313, 
  val = 138033353, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1219035148, -1208840992, 0, -1074101000, -519552895, 
585211886}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {134921805, 104, 13, 0, 3075936784, 2, 0, 3075936624, 0, 177, 
22, 0, 1, 0, 0, 0, 3078202689, 0, 0, 3220866296, 135929642, 138218001, 
138219378, 138033353, 138065216, 140383536, 3075936624, 3075936576, 138033353, 
138033353, 138219378, 138219378}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#17 0x0813201d in command_loop () at keyboard.c:1375
No locals.
#18 0x081318f9 in recursive_edit_1 () at keyboard.c:984
        count = 1
        val = -1074098463
#19 0x08131a67 in Frecursive_edit () at keyboard.c:1046
        count = 0
        buffer = 138033353
#20 0x08130339 in main (argc=5, argv=0xbffa89a4) at emacs.c:1779
        dummy = -1217626288
        stack_bottom_variable = 8 '\b'
        do_initial_setlocale = 1
        skip_args = 0
        rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
        no_loadup = 0
        junk = 0x0
(gdb) p *s
$1 = {
  x = 30, 
  y = 180, 
  ybase = 196, 
  width = 10, 
  background_width = 10, 
  height = 20, 
  left_overhang = 0, 
  right_overhang = 0, 
  f = 0x8678f60, 
  w = 0x86790e8, 
  display = 0x8630380, 
  window = 39846105, 
  row = 0x86db07c, 
  area = TEXT_AREA, 
  char2b = 0xbffa6e80, 
  nchars = 1, 
  hl = DRAW_NORMAL_TEXT, 
  face = 0x83b1088, 
  font = 0x87ef2d8, 
  font_info = 0x867afd0, 
  cmp = 0x0, 
  gidx = 0, 
  extends_to_end_of_line_p = 0, 
  background_filled_p = 0, 
  two_byte_p = 1, 
  font_not_found_p = 0, 
  stippled_p = 0, 
  for_overlaps = 0, 
  gc = 0x8ab0ce8, 
  first_glyph = 0x88af160, 
  img = 0x0, 
  slice = {
    x = 0, 
    y = 0, 
    width = 0, 
    height = 0
  }, 
  clip_head = 0x0, 
  clip_tail = 0x0, 
  next = 0xbffa6df0, 
  prev = 0x0
}
(gdb) p *s->font
$2 = {
  ext_data = 0x8aa3b38, 
  fid = 39846885, 
  direction = 0, 
  min_char_or_byte2 = 0, 
  max_char_or_byte2 = 255, 
  min_byte1 = 0, 
  max_byte1 = 255, 
  all_chars_exist = 0, 
  default_char = 0, 
  n_properties = 23, 
  properties = 0x87f4dc0, 
  min_bounds = {
    lbearing = 0, 
    rbearing = 0, 
    width = 10, 
    ascent = -3, 
    descent = -15, 
    attributes = 0
  }, 
  max_bounds = {
    lbearing = 9, 
    rbearing = 10, 
    width = 10, 
    ascent = 16, 
    descent = 4, 
    attributes = 0
  }, 
  per_char = 0xb6d21000, 
  ascent = 16, 
  descent = 4
}
(gdb) p *s->font_info
$3 = {
  font = 0x87ef2d8, 
  font_idx = 5, 
  name = 0x87e7258 
"-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1", 
  full_name = 0x8aa3298 
"-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1", 
  charset = 244, 
  size = 10, 
  height = 20, 
  space_width = 10, 
  average_width = 10, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x8435ea8
}
(gdb)  p s->char2b[0]
$4 = {
  byte1 = 32 ' ', 
  byte2 = 172 '\254'
}
(gdb) l x_draw_glyph_string_foreground
1313    /* Draw the foreground of glyph string S.  */
1314    
1315    static void
1316    x_draw_glyph_string_foreground (s)
1317         struct glyph_string *s;
1318    {
1319      int i, x;
1320    
1321      /* If first glyph of S has a left box line, start drawing the text
1322         of S to the right of that box line.  */
(gdb) 

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    address@hidden                         address@hidden
    http://www.rattlesnake.com                  http://www.teak.cc




reply via email to

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