all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* NTEmacs crashes, #3 of 2 ;-)
@ 2003-03-13 21:03 David Abrahams
  2003-03-13 22:30 ` NTEmacs crashes, #4 " David Abrahams
  2003-03-13 22:31 ` NTEmacs crashes, #3 " David Abrahams
  0 siblings, 2 replies; 3+ messages in thread
From: David Abrahams @ 2003-03-13 21:03 UTC (permalink / raw)



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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-03-13 22:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-13 21:03 NTEmacs crashes, #3 of 2 ;-) David Abrahams
2003-03-13 22:30 ` NTEmacs crashes, #4 " David Abrahams
2003-03-13 22:31 ` NTEmacs crashes, #3 " David Abrahams

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.