Re: [HACKERS] Win32 WEXITSTATUS too

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [HACKERS] Win32 WEXITSTATUS too
Дата
Msg-id 200701231532.l0NFWw906526@momjian.us
обсуждение исходный текст
Ответ на Re: [HACKERS] Win32 WEXITSTATUS too  ("Takayuki Tsunakawa" <tsunakawa.takay@jp.fujitsu.com>)
Ответы Re: [HACKERS] Win32 WEXITSTATUS too  (Magnus Hagander <magnus@hagander.net>)
Список pgsql-patches
Takayuki Tsunakawa wrote:
> From: "Magnus Hagander" <magnus@hagander.net>
> > Are you entirely sure that ntstatus.h is where to look? Because per
> > whatever docs I've found, that contains "device driver errors" and
> *not*
> > exception codes.
>
> Yes, what you are pointing out is correct.  winbase.h and winnt.h
> should be consulted instead of ntstatus.h.  See the the section
> "Return Value" in the following page:
>
> http://msdn2.microsoft.com/ru-ru/library/ms679356.aspx

Well, it seems to be in two place.  I see at:

    http://www.microsoft.com/msj/0197/exception/exception.aspx

    The ExceptionCode parameter is the number that the operating system
    assigned to the exception. You can see a list of various exception codes
    in WINNT.H by searching for #defines that start with "STATUS_". For
    example, the code for the all-too-familiar STATUS_ACCESS_VIOLATION is
    0xC0000005. A more complete set of exception codes can be found in
    NTSTATUS.H from the Windows NT DDK.

And it seems Wine also has it in both places.  The nice thing about
ntstatus.h is that it _only_ contains exception values, rather than
winnt.h, which has lots of other stuff too.

> Furthermore, the message is meaningless for users because they can do
> nothing with the information.  So, I think the message should say
> something like
>
> child process was terminated by exception %X
> This seems to be a bug of PostgreSQL.
> Please report this message with the details of the phynomenon to
> PostgreSQL developers.

I am hoping some of the hex values will have descriptions that will help
users solve problems in their operating system configuration, rather
than asking us.  If they are in a crisis, asking the community  might
not be quick enough.

FYI, here is a patch that recommends ntstatus.h:

    http://blog.opsan.com/archive/2005/05/05/447.aspx
    http://www.osronline.com/article.cfm?article=207

This says you can get text for exceptions, but it didn't work for me,
but I didn't try loading ntdll.dll:

    http://support.microsoft.com/kb/259693

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

В списке pgsql-patches по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] Win32 WEXITSTATUS too
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: [HACKERS] Win32 WEXITSTATUS too