PostgreSQL and Windows 10 exception 0xC0000018
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi all,<br>
ᅵᅵᅵ a strange error is happening to some of our customers.<br>
They all have a Windows 10 installation on their machines with our
application and, of course, PostgreSQL 9.1 installed (migration to
9.5 upcoming in late summer/fall, but not applicable by now)<br>
<br>
While working, suddenly PostgreSQL stops working, and log reports<br>
<br>
2016-05-05 10:36:19 CEST LOG:ᅵ server process (PID 5920) was
terminated by exception 0xC0000018<br>
2016-05-05 10:36:19 CEST HINT:ᅵ See C include file "ntstatus.h" for
a description of the hexadecimal value.<br>
2016-05-05 10:36:19 CEST LOG:ᅵ terminating any other active server
processes<br>
2016-05-05 10:36:19 CEST WARNING:ᅵ terminating connection because of
crash of another server process<br>
2016-05-05 10:36:19 CEST DETAIL:ᅵ The postmaster has commanded this
server process to roll back the current transaction and exit,
because another server process exited abnormally and possibly
corrupted shared memory.<br>
2016-05-05 10:36:19 CEST HINT:ᅵ In a moment you should be able to
reconnect to the database and repeat your command.<br>
[... above three lines repeated a bunch of times...]<br>
2016-05-05 10:36:19 CEST LOG:ᅵ all server processes terminated;
reinitializing<br>
2016-05-05 10:36:29 CEST FATAL:ᅵ pre-existing shared memory block is
still in use<br>
2016-05-05 10:36:29 CEST HINT:ᅵ Check if there are any old server
processes still running, and terminate them.<br>
<br>
ntstatus.h refers to exception code as<br>
<p><i>0xC0000018</i></p>
<i> </i>
<p><i>STATUS_CONFLICTING_ADDRESSES</i></p>
<i> </i>
<p><i>{Conflicting Address Range} The specified address range
conflicts with the address space.</i></p>
Googling I found many applications failing with that error and how
to fix them by setting a value in Registry, but these are not the
cases.<br>
All I found in common of these machines (except Windows 10 and our
app :-) ) was ClassicShell. Uninstalling it seemed to resolve the
problem... until 2 hours ago, when one of them submitted us the same
crash with same error.<br>
<br>
Trying to google deeper did not help for me.<br>
<br>
This issue seems to be present on Windows 10 machines.<br>
<br>
Any idea/thought/suggestion?<br>
<br>
Thanks in advance,<br>
Moreno.-<br>
</body>
</html>
Disclaimer: I do not run Postgresql on Windows.
On Thu, 5 May 2016 14:39:25 +0200, Moreno Andreo
<moreno.andreo@evolu-s.it> wrote:
a strange error is happening to some of our customers.
They all have a Windows 10 installation on their machines with
our application and, of course, PostgreSQL 9.1 installed
(migration to 9.5 upcoming in late summer/fall, but not applicable
by now):
0xC0000018
STATUS_CONFLICTING_ADDRESSES
{Conflicting Address Range} The specified address range conflicts
with the address space. Googling I found many applications failing
with that error and how to fix them by setting a value in Registry,
but these are not the cases.
All I found in common of these machines (except Windows 10 and
our app :-) ) was ClassicShell. Uninstalling it seemed to resolve the
problem... until 2 hours ago, when one of them submitted us the
same crash with same error.Trying to google deeper did not help for me.
This issue seems to be present on Windows 10 machines.
Any idea/thought/suggestion?
It's a code address conflict. It's normally caused by trying to load
more than one fixed base DLL at the same address in the same process.
Typically DLLs have a preferred base address, but are relocatable if
that address is already occupied. DLLs with fixed base addresses
cannot be relocated (the necessary meta-information is not in the
executable).
It is known to have been caused by McAffee and MalwareBytes
Anti-Exploit. If either of those are installed, they may need to be
updated.
Otherwise: if Postgresql is loading any non-standard extensions, I
would try to check those DLLs. If you have a recent Visual Studio
handy, run "link /dump /headers <file>" on the DLLs and look for any
that say "fixed base" under "DLL characteristics". If you find more
than one that have the same "image base" address, then you've got a
problem.
If you don't find anything, then I would guess 9.1 is just too old.
Hope this helps,
George
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 5/5/2016 1:17 PM, Moreno Andreo wrote:
Il 05/05/2016 18:40, George Neuner ha scritto:
Otherwise: if Postgresql is loading any non-standard extensions, I
would try to check those DLLs. If you have a recent Visual Studio
handy, run "link /dump /headers <file>" on the DLLs and look for any
that say "fixed base" under "DLL characteristics". If you find more
than one that have the same "image base" address, then you've got a
problem.No extensions here, but I'll give a try. Since I have to do this on
customer box (without VS) I'll try and find a "smaller package" than a
VS install...
In this cases it's better to try everything that makes sense... :-)
There's a free utility called "wumpbin"
(http://www.benf.org/other/wumpbin/) which claims to be a clone of VS
dumpbin.exe. AFAICT it works on Win7, but I don't have Win10 available
to try it there. And I can't vouch for its accuracy - I have only toyed
with it.
dumpbin itself appears to be deprecated. It's still in VS and it still
works, but "link /dump ..." is now the preferred method.
George
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Import Notes
Reply to msg id not found: 572B801F.7010209@evolu-s.it