[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NTEmacs crashes, #3 of 2 ;-)
From: |
David Abrahams |
Subject: |
NTEmacs crashes, #3 of 2 ;-) |
Date: |
Thu, 13 Mar 2003 16:03:28 -0500 |
User-agent: |
Gnus/5.090016 (Oort Gnus v0.16) Emacs/21.3.50 (i386-msvc-nt5.1.2600) |
Here's another:
> emacs.exe!get_cached_font_char(bdffont * fontp=0x746e6603, int
> strchr=63) Line 343 + 0x14 C
emacs.exe!get_bitmap_with_cache(bdffont * fontp=0x746e6603, int
strchr=63) Line 542 C
emacs.exe!w32_BDF_TextOut(bdffont * fontp=0x746e6603, HDC__ *
hdc=0xea011250, int left=738, int top=1125, unsigned char * text=0x0082f4c0,
int dim=1, int bytelen=0, int fixed_pitch_size=0) Line 672 + 0x9 C
emacs.exe!w32_text_out() Line 2764 + 0x1b C
emacs.exe!x_draw_glyph_string_foreground(glyph_string * s=0x000002e2)
Line 3516 C
emacs.exe!x_draw_glyph_string(glyph_string * s=0x0082f4c4) Line 4404
C
emacs.exe!x_draw_glyphs(window * w=0x01c52c00, int x=745, glyph_row *
row=0x01aa3000, int area=1, int start=104, int end=105, int hl=2, int
overlaps_p=0) Line 5087 + 0x6 C
emacs.exe!x_draw_phys_cursor_glyph(window * w=0x01c52c00, glyph_row *
row=0x01aa3000, int hl=2) Line 9665 C
emacs.exe!x_display_and_set_cursor(window * w=0x00000000, int on=7, int
hpos=0, int vpos=10, int x=0, int y=3473784) Line 9940 + 0x9 C
emacs.exe!x_update_window_end(window * w=0x01c52c00, int cursor_on_p=1,
int mouse_face_overwritten_p=0) Line 723 + 0x20 C
emacs.exe!update_window(window * w=0x01c52c00, int force_p=0) Line
4196 + 0x14 C
emacs.exe!update_window_tree(window * w=0x01c52400, int force_p=0)
Line 3881 + 0x9 C
emacs.exe!update_window_tree(window * w=0x01c52600, int force_p=0)
Line 3880 C
emacs.exe!update_frame(frame * f=0x01c52600, int force_p=0, int
inhibit_hairy_id_p=0) Line 3819 C
emacs.exe!redisplay_internal(int preserve_echo_area=0) Line 9047 + 0x8
C
emacs.exe!redisplay() Line 8444 + 0x7 C
emacs.exe!read_char(int commandflag=1, int nmaps=2, int *
maps=0x0082fca0, int prev_event=287928324, int * used_mouse_menu=0x0082fce8)
Line 2475 C
emacs.exe!read_key_sequence(int * keybuf=0x0082fd7c, int bufsize=30,
int prompt=287928324, int dont_downcase_last=0, int can_return_switch_frame=1,
int fix_current_buffer=1) Line 8584 + 0x24 C
emacs.exe!command_loop_1() Line 1503 + 0x28 C
emacs.exe!internal_condition_case(int (void)* bfun=0x0100e224, int
handlers=288038420, int (void)* hfun=0x0100deb8) Line 1352 C
emacs.exe!command_loop_2() Line 1286 + 0x15 C
emacs.exe!internal_catch(int tag=287994820, int (void)*
func=0x0100e12c, int arg=287928324) Line 1112 + 0x6 C
emacs.exe!command_loop() Line 1270 C
emacs.exe!recursive_edit_1() Line 985 + 0x5 C
emacs.exe!Frecursive_edit() Line 1042 C
emacs.exe!main() Line 1659 + 0x5 C
emacs.exe!_mainCRTStartup() + 0xb4
kernel32.dll!77e814c7()
-------
pch = fontp->chtbl[BDF_FIRST_OFFSET(index)];
010EBCF9 mov ecx,eax
010EBCFB and ecx,80h
010EBD01 shl ecx,1
010EBD03 mov edx,eax
010EBD05 sar edx,8
010EBD08 or ecx,edx
010EBD0A mov edx,dword ptr [fontp]
010EBD0D mov ecx,dword ptr [edx+ecx*4+18h] <========= pc is here
if (!pch)
010EBD11 test ecx,ecx
return NULL;
010EBD13 je get_cached_font_char+3Dh (10EBD25h)
---------
Locals:
- fontp 0x746e6603 {filename=??? hfile=??? hfilemap=??? ...} bdffont
*
+ filename CXX0030: Error: expression cannot be evaluated char *
hfile CXX0030: Error: expression cannot be evaluated void *
hfilemap CXX0030: Error: expression cannot be evaluated void *
+ font CXX0030: Error: expression cannot be evaluated unsigned char *
+ seeked CXX0030: Error: expression cannot be evaluated unsigned char *
size CXX0030: Error: expression cannot be evaluated unsigned long
+ chtbl 0x746e661b fchar * [512]
llx CXX0030: Error: expression cannot be evaluated int
lly CXX0030: Error: expression cannot be evaluated int
urx CXX0030: Error: expression cannot be evaluated int
ury CXX0030: Error: expression cannot be evaluated int
yoffset CXX0030: Error: expression cannot be evaluated int
relative_compose CXX0030: Error: expression cannot be evaluated
int
default_ascent CXX0030: Error: expression cannot be evaluated int
+ registry CXX0030: Error: expression cannot be evaluated
unsigned char *
+ encoding CXX0030: Error: expression cannot be evaluated
unsigned char *
+ slant CXX0030: Error: expression cannot be evaluated unsigned char *
width CXX0030: Error: expression cannot be evaluated int
height CXX0030: Error: expression cannot be evaluated int
pixsz CXX0030: Error: expression cannot be evaluated int
nchars CXX0030: Error: expression cannot be evaluated int
strchr 63 int
---------
I can trace the problem back up the stack to here:
static void
w32_text_out (s, x, y,chars,nchars)
struct glyph_string * s;
int x, y;
wchar_t * chars;
int nchars;
{
int charset_dim = w32_font_is_double_byte (s->gc->font) ? 2 : 1;
if (s->gc->font->bdf)
w32_BDF_TextOut (s->gc->font->bdf, s->hdc, <===============
x, y, (char *) chars, charset_dim,
nchars * charset_dim, 0);
else if (s->first_glyph->w32_font_type == UNICODE_FONT)
ExtTextOutW (s->hdc, x, y, 0, NULL, chars, nchars, NULL);
else
ExtTextOutA (s->hdc, x, y, 0, NULL, (char *) chars,
nchars * charset_dim, NULL);
}
Where I note that s->gc->font appears to be uninitialized, or a
dangling pointer (0x746e6603).
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
- NTEmacs crashes, #3 of 2 ;-),
David Abrahams <=