Обсуждение: [HACKERS] How to debug the wire protocol?

Поиск
Список
Период
Сортировка

[HACKERS] How to debug the wire protocol?

От
Rui Pacheco
Дата:
Hello,

I’ve sent a similar email to the general mailing list but got no reply.

I’m trying to write my own implementation of the wire protocol. I’m stuck at the Parse message where I send it to the
serverbut always get the following error: “Could not parse statement invalid string in message” 

Is there a way to see how Postgres parses the message? I’ve set logging to DEBUG5 but the only thing I can see in the
logsis, among other things, the message 

ERROR:  invalid string in message
FATAL:  invalid frontend message type 63

What is exactly wrong? Is there a way to log the parsing of the message, or should I create my own build of postgres
withlog statements where I need them? 

Many thanks,


Re: [HACKERS] How to debug the wire protocol?

От
Pavel Stehule
Дата:
Hi

2017-02-09 20:01 GMT+01:00 Rui Pacheco <rui.pacheco@gmail.com>:
Hello,

I’ve sent a similar email to the general mailing list but got no reply.

I’m trying to write my own implementation of the wire protocol. I’m stuck at the Parse message where I send it to the server but always get the following error: “Could not parse statement invalid string in message”

Is there a way to see how Postgres parses the message? I’ve set logging to DEBUG5 but the only thing I can see in the logs is, among other things, the message

ERROR:  invalid string in message
FATAL:  invalid frontend message type 63

What is exactly wrong? Is there a way to log the parsing of the message, or should I create my own build of postgres with log statements where I need them?


Regards

Pavel

Many thanks,

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] How to debug the wire protocol?

От
Rui Pacheco
Дата:
Not sure this solves my problem. I’d like to debug how the server is failing to parse my message, not what it looks like on the wire. I am the one forming the message after all.

My apologies if I missed something.

On 9 Feb 2017, at 20:05, Pavel Stehule <pavel.stehule@gmail.com> wrote:

Hi

2017-02-09 20:01 GMT+01:00 Rui Pacheco <rui.pacheco@gmail.com>:
Hello,

I’ve sent a similar email to the general mailing list but got no reply.

I’m trying to write my own implementation of the wire protocol. I’m stuck at the Parse message where I send it to the server but always get the following error: “Could not parse statement invalid string in message”

Is there a way to see how Postgres parses the message? I’ve set logging to DEBUG5 but the only thing I can see in the logs is, among other things, the message

ERROR:  invalid string in message
FATAL:  invalid frontend message type 63

What is exactly wrong? Is there a way to log the parsing of the message, or should I create my own build of postgres with log statements where I need them?


Regards

Pavel

Many thanks,

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] How to debug the wire protocol?

От
Pavel Stehule
Дата:


2017-02-09 20:12 GMT+01:00 Rui Pacheco <rui.pacheco@gmail.com>:
Not sure this solves my problem. I’d like to debug how the server is failing to parse my message, not what it looks like on the wire. I am the one forming the message after all.

My apologies if I missed something.


ok

no problem

Regards

Pavel 
On 9 Feb 2017, at 20:05, Pavel Stehule <pavel.stehule@gmail.com> wrote:

Hi

2017-02-09 20:01 GMT+01:00 Rui Pacheco <rui.pacheco@gmail.com>:
Hello,

I’ve sent a similar email to the general mailing list but got no reply.

I’m trying to write my own implementation of the wire protocol. I’m stuck at the Parse message where I send it to the server but always get the following error: “Could not parse statement invalid string in message”

Is there a way to see how Postgres parses the message? I’ve set logging to DEBUG5 but the only thing I can see in the logs is, among other things, the message

ERROR:  invalid string in message
FATAL:  invalid frontend message type 63

What is exactly wrong? Is there a way to log the parsing of the message, or should I create my own build of postgres with log statements where I need them?


Regards

Pavel

Many thanks,

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] How to debug the wire protocol?

От
Tom Lane
Дата:
Rui Pacheco <rui.pacheco@gmail.com> writes:
> I’ve sent a similar email to the general mailing list but got no reply.

Uh, multiple people answered you, see
https://www.postgresql.org/message-id/flat/22DB2E08-6329-4EF8-B3E5-C0A7728A067B%40gmail.com

> Is there a way to see how Postgres parses the message? I’ve set logging to DEBUG5 but the only thing I can see in the
logsis, among other things, the message 

> ERROR:  invalid string in message
> FATAL:  invalid frontend message type 63

That seems to comport with the theory I suggested before, that you were
sending an incorrect message length word --- although this additional
evidence indicates that the sent length is too short, not too long
which is what I'd been thinking.  Or possibly you left out required
field(s) of the message.  Anyway it's expecting a null-terminated string
and not finding one in the remaining message data.
        regards, tom lane



Re: [HACKERS] How to debug the wire protocol?

От
Rui Pacheco
Дата:
I’ve been anxiously waiting for that reply but got nothing. I even mailed the mailing list manager again with no reply. And when I click on that link I get a server error: "An internal server error occurred.”

But thanks, this helps me focus on the problem.

On 9 Feb 2017, at 20:15, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Rui Pacheco <rui.pacheco@gmail.com> writes:
I’ve sent a similar email to the general mailing list but got no reply.

Uh, multiple people answered you, see
https://www.postgresql.org/message-id/flat/22DB2E08-6329-4EF8-B3E5-C0A7728A067B%40gmail.com

Is there a way to see how Postgres parses the message? I’ve set logging to DEBUG5 but the only thing I can see in the logs is, among other things, the message

ERROR:  invalid string in message
FATAL:  invalid frontend message type 63

That seems to comport with the theory I suggested before, that you were
sending an incorrect message length word --- although this additional
evidence indicates that the sent length is too short, not too long
which is what I'd been thinking.  Or possibly you left out required
field(s) of the message.  Anyway it's expecting a null-terminated string
and not finding one in the remaining message data.

regards, tom lane

Re: [HACKERS] How to debug the wire protocol?

От
Andres Freund
Дата:
On 2017-02-09 20:17:33 +0100, Rui Pacheco wrote:
> I’ve been anxiously waiting for that reply but got nothing. I even mailed the mailing list manager again with no
reply.And when I click on that link I get a server error: "An internal server error occurred.”
 

The server error has already been fixed, please reload...



Re: [HACKERS] How to debug the wire protocol?

От
Rui Pacheco
Дата:
The answers are great, thanks!

> On 9 Feb 2017, at 20:26, Andres Freund <andres@anarazel.de> wrote:
>
> On 2017-02-09 20:17:33 +0100, Rui Pacheco wrote:
>> I’ve been anxiously waiting for that reply but got nothing. I even mailed the mailing list manager again with no
reply.And when I click on that link I get a server error: "An internal server error occurred.” 
>
> The server error has already been fixed, please reload...