Re: Crash on Windows Server 2019

From: Craig Ringer <craig(dot)ringer(at)enterprisedb(dot)com>
To: Ingmar Koecher <ingmar(dot)koecher(at)gmail(dot)com>
Cc: pgsql-odbc(at)lists(dot)postgresql(dot)org
Subject: Re: Crash on Windows Server 2019
Date: 2020-12-10 03:09:53
Message-ID: CAGRY4nyuVkVmj6GuRbdsrm5h7_rExVZW9qb23Z1k8Hk3mN+e+A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

On Sat, 5 Dec 2020 at 00:46, Ingmar Koecher <ingmar(dot)koecher(at)gmail(dot)com>
wrote:

> Hi,
>
> We have a multi-threaded Windows server process (C++) that writes data to
> a PostgreSQL database server using the 11.1 PostgreSQL ODBC driver.
>
> This works smoothly pretty much everywhere except for one system, where
> the server process seems to crash on a regular basis inside the PostgreSQL
> ODBC driver, about every 10 minutes.
>
> We have a crash dump that I've been looking at, but since I don't have
> access to the symbols (I tried this approach, without success), I can't
> determine why/how the driver is crashing. I do however see in the stack
> trace that crash is happening in the ConfigDriver() function:
>
> psqlodbc35w!ConfigDriver
>
> The full stack trace of the crashing thread below:
>

Good on you for getting a stack.

How was that obtained?

Can you please repeat it with debug symbols? The .pdb files for postgres
itself are in the PostgreSQL install directory. I don't recall off the top
of my head where the psqlODBC ones are, but likely the same. Make sure
these are on your NT_SYMBOL_PATH or configured to be searched by your
debugger.

If you can't get symbols, export a minidump of the crashed process and
upload it somewhere. But you will need to understand that the minidump may
contain sensitive information including usernames, passwords, queries, user
data, etc. I can't offer you a private 1:1 way to exchange this info when
I'm doing public mailing list help. So it'd be much better for you to debug
the minidump yourself.

Since the issue is system specific, I suggest checking the linker path to
ensure there aren't any issues with the wrong libpq or ssl libraries etc
being loaded. The "depends.exe" tool from the Sysinternals suite can help
with this, or you can examine the loaded libraries in the debugger session.

Also check your ini files and registry to see if there's anything funky and
different in the config on the machine.

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Craig Ringer 2020-12-10 08:14:01 Re: pgsql-odbc SQLGetDiagRec() API issue.
Previous Message Craig Ringer 2020-12-10 03:05:12 Re: ODBC Driver Crash