Re: How to fix 0xC0000005 exception in Postgres 9.0

From: Justin <zzzzz(dot)graf(at)gmail(dot)com>
To: Andrus <kobruleht2(at)hot(dot)ee>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to fix 0xC0000005 exception in Postgres 9.0
Date: 2020-02-21 18:44:22
Message-ID: CALL-XeNNCSAb_zLeVDuZfRKzh+v0X-qqKHiW5Y6g25qfcPLL+g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Yes publish the ODBC logs

seeing the Linux logs tells us the ODBC client crashing NOT the client
process. if the linux postgrsql client process crashes it typically will
cause the postgresql postmaster to panic and restart as it has to assume
it corrupt share memory.

On Fri, Feb 21, 2020 at 1:25 PM Andrus <kobruleht2(at)hot(dot)ee> wrote:

> Hi!
>
> >forgot to say publish the Linux logs it may have more details what is
> going
> >on
>
> Linux server has older application client which replicates all data one
> from
> andmetp table using select * from andmetp
> I tried several times. Linux log contains
>
> 2020-02-21 16:18:50 EET mydbadmin mydb STATEMENT: SELECT * FROM andmetp
>

This is a big hint here that is started to spool the data back to the
client and the client crashed...

> 2020-02-21 16:18:50 EET mydbadmin mydb FATAL: connection to client lost
> 2020-02-21 16:18:50 EET mydbadmin mydb STATEMENT: SELECT * FROM andmetp
> 2020-02-21 17:19:08 EET mydbadmin mydb LOG: could not send data to
> client:
> Connection reset by peer
>

this tells us the client dropped out not the server..

2020-02-21 17:19:08 EET mydbadmin mydb STATEMENT: SELECT * FROM andmetp
> 2020-02-21 17:19:08 EET mydbadmin mydb FATAL: connection to client lost
> 2020-02-21 17:19:08 EET mydbadmin mydb STATEMENT: SELECT * FROM andmetp
>
> It looks like only connection was terminated. “dmesg -T” does not show
> postgres crash. Maybe postgres main process is not killed in Linux.
>
> > is this happening from any client or just a specific client running ODBC?
>
> This happene if Windows 2008 server if logged in same same server from RDP
>
RDP should not be causing an issue

> client and in my development windows 10 workstation which logs to linux
> server over VPN
>

This being run over VPN does add some complexity to this as it can cause
corrupt data packets

>
> >are the clients running AV if so are the AV versions the same?
>
> In windows 2008 server antivirus was turned off like I wrote. In my devel
> workstation I use Microsoft antivirus coming with windows 10.
>
> >Given this is killing a Linux server, sounds like ODBC is sending back
> >garabage data to the server crashing it.
>
> I can try publish odbc log if this helps.
>

Yes that was going to be next suggestion turn the log to full, run the
command see what happens

>
> Application replicateds some tables at startup to local disk.
> For tables with 5000 or more rows odbc connection hangs if there is big
> TCP
> packet loss.
> So we changed replication command
>
>
This is a hint something is wrong with the Network, TCP packet lose
should just request packet again.

> select * from mytable
>
> to commands
>
> select drop_table(‘temptulemus’);
> create temp table temptulemus as select * from mytable;
>
> select * from mytable offset 0 limit 900;
> select * from mytable offset 900 limit 900;
> select * from mytable offset 1800 limit 900;
> ...
>
> etc.
>
> In this case data was also retrieved on poor connections.
> Maybe there is some better solution for this.
>

If the connections are bad enough and starts corrupting data it will cause
all kinds of weird issues.

>
> >There are several settings in OBDC, to change how text columns are
> >processed, play around with those settings see if that helps it
> >https://odbc.postgresql.org/docs/config.html
>
> Application needs certain settings. Maybe it is better try to upgrade to
> Postgres 12.2 first.
>
> >As you have it narrowed down to a table, try querying only a few records
> >at a time to see if you can identify the specific Record(s) that may be
> the
> >issue.
> >SELECT * FROM temptulemus where temptulemus.unique_id >1 offset 0 limit
> >100
> >and try querying the columns that do not contain the suspect data that
> >could be causing this
>
> andmetp table contains 584 record in linux server. I tried script to read
> data from this table every time one more row
>
>
Hello FOXPRO CODE

> for i=1 to 600
> ? i
> StartTextMerge()
> TEXT TEXTMERGE NOSHOW
> select * from andmetp limit <<tran(i)>>
> ENDTEXT
> IF !TExec()
> RETURN .f.
> ENDIF
> endfor
>
> this worked without error.
>

This is shaping up more and more like Networking Problem corrupting data,
bad router or port

>
> Andrus.
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrus 2020-02-21 20:02:48 Re: How to fix 0xC0000005 exception in Postgres 9.0
Previous Message Andrus 2020-02-21 18:24:44 Re: How to fix 0xC0000005 exception in Postgres 9.0