emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: Segfault and font corruption in menu under Windows


From: Ralf Angeli
Subject: Re: Segfault and font corruption in menu under Windows
Date: Thu, 03 Aug 2006 22:13:59 +0200

* Ralf Angeli (2006-07-27) writes:

> We received a bug report on the AUCTeX list about a crash of Emacs
> under Windows.  The report including a description on how to reproduce
> the crash can be found at
> <URL:http://thread.gmane.org/gmane.emacs.auctex.general/1281/focus=1286>.
> Here is a backtrace I could produce following the recipe:
[...]
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to thread 2984.0x834]
> 0x77c17fd4 in _libkernel32_a_iname ()
> (gdb) backtrace
> #0  0x77c17fd4 in _libkernel32_a_iname ()
> #1  0x20ecefa8 in ?? ()
> #2  0x01134e94 in w32_wnd_proc (hwnd=0x45029e, msg=44, wParam=0, 
>     lParam=552399352) at w32fns.c:3513

Here is some more information: The segfault happens when calling

                  /* Always draw title as if not selected.  */
                  if (unicode_append_menu)
                    ExtTextOutW (hdc,
                                 pDis->rcItem.left
                                 + GetSystemMetrics (SM_CXMENUCHECK),
                                 pDis->rcItem.top,
                                 ETO_OPAQUE, &pDis->rcItem,
                                 (WCHAR *) title,
                                 wcslen ((WCHAR *) title), NULL);

It seems that the value behind `title' is incorrect.  In case the
value is correct, examining the value in GDB with `p title' returns
the first character of the string to be drawn, e.g.

Breakpoint 1, w32_wnd_proc (hwnd=0x5002e0, msg=43, wParam=0, lParam=552399328) 
at w32fns.c:3571
(gdb) p *title
$5 = 71 'G'
(gdb) p title
$6 = 0x85f988 "G"
(gdb) 

When the crash happened, the value behind `title', however, looks like
this (control characters replaced by strings):

Program received signal SIGSEGV, Segmentation fault.
0x77c17fd4 in _libkernel32_a_iname ()
(gdb) frame 2
#2  0x01135bc9 in w32_wnd_proc (hwnd=0x5002e0, msg=43, wParam=0, 
lParam=552399328) at w32fns.c:3572
(gdb) p title
$7 = 0x85c9a0 
"\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376\356\376"...

-- 
Ralf





reply via email to

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