Re: Socket command type I unknown

From: Joel Richard <joel(at)richard-group(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Socket command type I unknown
Date: 2006-05-01 15:19:33
Message-ID: D26A16A8-0597-44D8-BABD-A9233A61C0BD@richard-group.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Tom (and others who may benefit from this),

I'm sorry for taking so long to reply to this. PostgreSQL
administration is not my primary task. :) After a client noticed this
error twice this morning, I spent several hours investigating our
machine and researching on the web. This email led me in this direction

http://archives.postgresql.org/pgsql-interfaces/2004-05/msg00011.php

and made me look further into what exactly was going on.

It turns out that we had two versions of libpq installed on the
server. One was from Debian's package manager which was for version
7.4.7 and the other was my compiled version for 7.3.X. This weekend I
upgraded us from 7.3 to 7.4 on both the server and the client. I've
removed any instances of the 7.3 libraries.

So, now we have a different error happening about as often.

DBD::Pg::db selectrow_array failed: FATAL: invalid frontend
message type 73

I read that 73 is an ASCII value. Surprise 73 is a capital letter I.
Same error, different method of reporting. DBD::Pg is at version 1.41
and DBI is 1.46. I'm going to try to bring DBD::Pg up to 1.48 just to
get on the latest version of everything I can find. At this point, I
want to say that it's my code that's causing the problem. It's as if
there's some perl code/query that's creating the error, but a
subsequent query to the server is what's manifesting the problem and
causing the entry in the error_log. Am I on the right track here?

I'm pretty sure the error can be traced back to my code. Therefore,
I've started a global DBI->trace() on the postgres client server. I
know that's going to be an inordinate amount of data (busy website),
but sometimes the brute force method is what will work.

I can't have my clients losing faith in my ability to solve their
problems, so I get to track this down. :)

Thanks,
--Joel

On Feb 4, 2006, at 1:16 AM, Tom Lane wrote:

> Joel Richard <postgresql(at)joelrichard(dot)com> writes:
>> ... we occasionally get the following message in our apache log
>> file. I'm looking for information on what it means:
>
>> DBD::Pg::db selectrow_array failed: FATAL: Socket command type I
>> unknown
>
> This looks to me like a protocol-level incompatibility: probably the
> client code is sending data in a slightly different format than the
> server is expecting, or one side or the other is off-by-one about
> message lengths, or something like that. One way or another the
> server is receiving an 'I' when it wasn't expecting that.
>
> I'm not aware of any such bugs on the server side in 7.3.4. What I
> suspect is a problem on the DBD::Pg side, where you did not specify
> what version you are using ... but if it's recent, it probably thinks
> that talking to 7.3.4 is a legacy problem ...
>
> regards, tom lane

Joel Richard
The Richard Group
joel(at)richard-group(dot)com
703-584-5802

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Don Walker 2006-05-01 16:17:02 Re: Use of ISpell dictionaries with tsearch2 - what is the point?
Previous Message SunWuKung 2006-05-01 14:46:33 charting performance measures with number or records in table