Re: [INTERFACES] help with error message from perl Pg - Mailing list pgsql-general

From Tom Lane
Subject Re: [INTERFACES] help with error message from perl Pg
Date
Msg-id 28009.1150814671@sss.pgh.pa.us
Whole thread Raw
In response to help with error message from perl Pg  (Geoffrey <esoteric@3times25.net>)
Responses Re: [INTERFACES] help with error message from perl Pg
List pgsql-general
Geoffrey <esoteric@3times25.net> writes:
> ... Any subroutine that does a delete
> or update runs fine, but the subsequent routine fails with the following
> error:

> prgcaphlg: FATAL:  invalid frontend message type 78
> server closed the connection unexpectedly
>     This probably means the server terminated abnormally
>     before or while processing the request.

> Searching google for 'invalid frontend message type 78' returns no hits,
> which is a scary thing.

78 would be ASCII 'N', but that's not really significant AFAICS.  The
problem here is that the frontend and backend have lost sync: the server
is expecting to find a message beginning at a place in the frontend data
stream that evidently isn't the start of a message.  In short, the
frontend has sent corrupted data of some sort.

Martijn's theory of inadequately locked threaded access is certainly one
likely way this can happen, but it's not the only one.  It might be
useful for you to capture the data stream (with something like tcpdump)
and try to get more information about the nature of the corruption.
Frequently, if you can identify "ah-hah, THIS data is being inserted
into the middle of THAT" or whatever, the cause becomes obvious.

Also, before you spend too much time on this, make sure your DBI and
DBD::Pg modules are up-to-date.  If it's a bug in that level, it'd be
foolish to waste much of your own time chasing it.

            regards, tom lane

pgsql-general by date:

Previous
From: "A.M."
Date:
Subject: Re: help with error message from perl Pg
Next
From: "Magnus Hagander"
Date:
Subject: Re: psql for winxp?