Re: [GENERAL] PostgreSQL and Windows 10 exception 0xC0000018

2016-05-05 Thread George Neuner

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 " 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


Re: [GENERAL] PostgreSQL and Windows 10 exception 0xC0000018

2016-05-05 Thread George Neuner

Disclaimer: I do not run Postgresql on Windows.

On Thu, 5 May 2016 14:39:25 +0200, Moreno Andreo
 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)
>
>:
>
>0xC018 
>
>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 " 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


[GENERAL] PostgreSQL and Windows 10 exception 0xC0000018

2016-05-05 Thread Moreno Andreo

  
  
Hi all,
    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)

While working, suddenly PostgreSQL stops working, and log reports

2016-05-05 10:36:19 CEST LOG:  server process (PID 5920) was
terminated by exception 0xC018
2016-05-05 10:36:19 CEST HINT:  See C include file "ntstatus.h" for
a description of the hexadecimal value.
2016-05-05 10:36:19 CEST LOG:  terminating any other active server
processes
2016-05-05 10:36:19 CEST WARNING:  terminating connection because of
crash of another server process
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.
2016-05-05 10:36:19 CEST HINT:  In a moment you should be able to
reconnect to the database and repeat your command.
[... above three lines repeated a bunch of times...]
2016-05-05 10:36:19 CEST LOG:  all server processes terminated;
reinitializing
2016-05-05 10:36:29 CEST FATAL:  pre-existing shared memory block is
still in use
2016-05-05 10:36:29 CEST HINT:  Check if there are any old server
processes still running, and terminate them.

ntstatus.h refers to exception code as
0xC018
 
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?

Thanks in advance,
Moreno.-