emacs-devel
[Top][All Lists]
Advanced

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

RE: Unicode-2 crash by set-face-font


From: Herbert Euler
Subject: RE: Unicode-2 crash by set-face-font
Date: Fri, 25 Jan 2008 14:37:32 +0800

OK.  Something happened in set_lface_from_font_and_fontset:

(gdb) r -Q
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /data/emacs/emacs/src/emacs -Q
[Thread debugging using libthread_db enabled]
[New Thread 0xb73a36b0 (LWP 18041)]
[Switching to Thread 0xb73a36b0 (LWP 18041)]

Breakpoint 6, realize_default_face (f=0x8c57f10) at xfaces.c:7450
7450              set_lface_from_font_and_fontset (f, lface, frame_font,
(gdb) p ((union Lisp_Misc *) ((long) (((((struct Lisp_Vector *) ((long) 
((lface) & ~((((long) 1) << 3) - 1))))->contents)[LFACE_FONT_INDEX]) & 
~((((long) 1) << 3) - 1))))
$32 = (union Lisp_Misc *) 0x83e0210
(gdb) p *$
$33 = {
  u_any = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0
  },
  u_free = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    chain = 0x8265c83,
    padding = "\341\230=\b\341\230=\b\311\230=\b\000\000\000"
  },
  u_marker = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    need_adjustment = 0,
    insertion_type = 0,
    buffer = 0x8265c83,
    next = 0x83d98e1,
    charpos = 138254561,
    bytepos = 138254537
  },
  u_intfwd = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    intvar = 0x8265c83
  },
  u_boolfwd = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    boolvar = 0x8265c83
  },
  u_objfwd = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    objvar = 0x8265c83
  },
  u_buffer_objfwd = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    slottype = 136731779,
---Type  to continue, or q  to quit---
    offset = 138254561
  },
  u_buffer_local_value = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    local_if_set = 0,
    check_frame = 0,
    found_for_buffer = 0,
    found_for_frame = 0,
    realvalue = 136731779,
    buffer = 138254561,
    frame = 138254561,
    cdr = 138254537
  },
  u_overlay = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    next = 0x8265c83,
    start = 138254561,
    end = 138254561,
    plist = 138254537
  },
  u_kboard_objfwd = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    offset = 136731779
  },
  u_save_value = {
    type = 16,
    gcmarkbit = 0,
    spacer = 0,
    dogc = 0,
    pointer = 0x8265c83,
    integer = 138254561
  }
}
(gdb) n
7466          f->default_face_done_p = 1;
(gdb) p ((union Lisp_Misc *) ((long) (((((struct Lisp_Vector *) ((long) 
((lface) & ~((((long) 1) << 3) - 1))))->contents)[LFACE_FONT_INDEX]) & 
~((((long) 1) << 3) - 1))))
$34 = (union Lisp_Misc *) 0x8794b70
(gdb) p *$
$35 = {
  u_any = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0
  },
  u_free = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    chain = 0xffffffff,
    padding = "\000\000\000\000t\025f\b\r\000\000\000\377\377\377\377"
  },
  u_marker = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    need_adjustment = 0,
    insertion_type = 0,
    buffer = 0xffffffff,
    next = 0x0,
    charpos = 140907892,
    bytepos = 13
  },
  u_intfwd = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    intvar = 0xffffffff
  },
  u_boolfwd = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    boolvar = 0xffffffff
  },
  u_objfwd = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    objvar = 0xffffffff
  },
  u_buffer_objfwd = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    slottype = -1,
---Type  to continue, or q  to quit---
    offset = 0
  },
  u_buffer_local_value = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    local_if_set = 0,
    check_frame = 0,
    found_for_buffer = 0,
    found_for_frame = 0,
    realvalue = -1,
    buffer = 0,
    frame = 140907892,
    cdr = 13
  },
  u_overlay = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    next = 0xffffffff,
    start = 0,
    end = 140907892,
    plist = 13
  },
  u_kboard_objfwd = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    offset = -1
  },
  u_save_value = {
    type = 59,
    gcmarkbit = 0,
    spacer = 0,
    dogc = 0,
    pointer = 0xffffffff,
    integer = 0
  }
}
(gdb)

Regards,
Guanpeng Xu
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/




reply via email to

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