[Top][All Lists]

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

Re: Fix for Emacs Crash - revisited

From: Juanma Barranquero
Subject: Re: Fix for Emacs Crash - revisited
Date: Mon, 11 Nov 2002 15:26:44 +0100

On Mon, 11 Nov 2002 08:55:26 US/Eastern, address@hidden wrote:

> For all of the current Windows NT Style OSes, Windows NT 4.0,
> Windows 2000, and Windows XP (possibly even Windows NT 3.51),
> ossubtype is equal to OS_NT.

Yes, I know.

> However, if there is a concern that this
> may break in a future OS, I could easily change my code to
> call GetVersionEx and change the test from 
> ossubtype==OS_NT
> to os_version_info.dwPlatformId==VER_PLATFORM_WIN32_NT.

IMHO the test should *exclude* the platforms where you know the call to
OpenProcessToken fails, not include the ones where it works, because the
first subset is more likely to remain stable than the second one.

> While I was debugging these crashes I found that when I set a breakpoint in
> the functions syms_of_w32menu or syms_of_w32fns the debugger
> failed to stop at the break point.  Neither were calls to 
> OutputDebugString I placed in these functions processed.  In
> addition, when I set breakpoints in main where these functions
> were called, the debugger failed to stop at these break points.
> However, I was able to verify that these functions were being
> called by setting a global variable to a specific value and
> setting a break point in initialize_frame_menubar and verifying
> that the global variable had that specific value.  I am not
> certain what caused this inability to get the debugger to stop
> at these breakpoints

Usually it means that it consists of dead code, i.e., that no machine code
was generated for those source locations... Or there's something I'm

> He was probably using MinGW, not MSVC 6.0.

AFAIK, Andrew switches between MinGW and MSVC from one release to the
next. But you're right, the problem obviously existed before as you
found it in etc/PROBLEMS. My mistake.

Anyway, it is still interesting trying to determine why it does happens
in XP vs. 9x/Me and not, for example, 2K vs 9x/Me.

As an aside: According to the Platform SDK, OpenProcessToken only exists
in NT 3.1 and later, not in the 9x series...


reply via email to

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