Re: psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW - Mailing list pgsql-odbc

From Dave Cramer
Subject Re: psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW
Date
Msg-id CADK3HHJLym2DzrBkrUbLysDE9K=-73g8XtxFpMKgdaWho0Jdew@mail.gmail.com
Whole thread Raw
In response to psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW  (Andrey Sukhanov <siwenter@gmail.com>)
Responses Re: psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW
List pgsql-odbc
Hi Andrey,

I've tried on PostgreSQL 11 and 15 with no luck to replicate this problem.

Is it possible for you to debug it and send more information?

Dave Cramer
www.postgres.rocks


On Thu, 22 Feb 2024 at 01:29, Andrey Sukhanov <siwenter@gmail.com> wrote:
Dear pgsql-odbc developers,

Windows 10,  psqlodbc 16 (psqlodbc35w.dll), postgresql 11.
Getting certain amount of diagnostic records with SQLGetDiagRecW crashes
the application with memory access violation.

Steps to reproduce:
1. Create procedure:
CREATE OR REPLACE PROCEDURE crashme()
LANGUAGE plpgsql
AS $$
BEGIN
FOR i IN 1..841 LOOP
         RAISE NOTICE 'msgmsgmsgmsg (%)', i;
END LOOP;
END; $$;

2. Use example code in attachments.
3. Application crashes with memory access violation after calling
SQLGetDiagRecW function, with iRecord = 332.
Application doesn't crash if number of iterations in  procedure's for
loop is changed.
Expected outcome: SQLGetDiagRecW would return SQL_NO_DATA when there's
no more diagnostic records.

Regards,
Andrey

pgsql-odbc by date:

Previous
From: Alexander Yi
Date:
Subject: Use Postgres ODBC in MacOS's Microsoft Office Excel
Next
From: Andrey Sukhanov
Date:
Subject: Re: psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW