emacs-devel
[Top][All Lists]
Advanced

[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





reply via email to

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