Re: BUG #6201: Windows User Log Off Causes Backend Exception 0xC0000142

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: Jerome Schulteis <jerome(dot)schulteis(at)edstrom(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6201: Windows User Log Off Causes Backend Exception 0xC0000142
Date: 2011-09-10 00:53:13
Message-ID: 4E6AB4F9.4090709@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 10/09/2011 4:59 AM, Jerome Schulteis wrote:
> The following bug has been logged online:
>
> Bug reference: 6201
> Logged by: Jerome Schulteis
> Email address: jerome(dot)schulteis(at)edstrom(dot)com
> PostgreSQL version: 9.0.4
> Operating system: Windows XP Pro SP3
> Description: Windows User Log Off Causes Backend Exception 0xC0000142
> Details:
>
> It does not happen on every log off, but if the Windows console user logs
> off
> of the server at just the wrong time while a backend is starting up, the
> backend terminates with exception 0xC0000142 (STATUS_DLL_INIT_FAILED), and
> the
> PostgreSQL Windows service stops (shared memory block is still in use):
I wonder which DLL failed? It seems that PostgreSQL doesn't print the
message the operating system generates for these errors. For example, it
should be printing:

"{DLL Initialization Failed} Initialization of the dynamic link library
%hs failed. The process is terminating abnormally."

... where %hs is the DLL name or path. I should have a play with that
once I finish moving house...

Do you have any antivirus or antimalware products on the system?

Do you have a Logitech webcam? Their webcam effects app adds a hook DLL
to every process on the system, and I've seen it cause issues with MinGW
among other things before.

If you launch a trivial process like "notepad.exe" then launch Process
Explorer from SysInternals, select notepad.exe and press control-D to
show the DLL list, what non-Microsoft DLLs are shown? You can copy and
paste the list.

If you examine a running postgres.exe backend (one of the processess
listed UNDER the main "postgres.exe" which is the postmaster) the same
way, what non-Microsoft DLLs are shown there? Note that you may have to
run Process Explorer as administrator to view the DLL list for
postgres.exe. Ignore any DLLs ending in ".NLS" .

For bonus points, verify each Microsoft DLL as having a valid signature
by double-clicking on it in the list, and report any DLLs that fail
verification.

--
Craig Ringer

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Roman 2011-09-10 01:41:40 BUG #6202: type of union column selection bug
Previous Message Jerome Schulteis 2011-09-09 20:59:50 BUG #6201: Windows User Log Off Causes Backend Exception 0xC0000142