Unexpected ErrorMessage reply to SSLRequest

Started by Michał Muskałaabout 8 years ago2 messagesgeneral
Jump to latest
#1Michał Muskała
michal@muskala.eu

Hello everybody,

I'm one of the maintainers of postgrex [1] https://github.com/elixir-ecto/postgrex - an Elixir client for Postgresql. We implement the wire protocol and connect directly through tcp. We got a bug report indicating we got an unexpected ErrorMessage packet in reply to SSLRequest.

The documentation [2] https://www.postgresql.org/docs/10/static/protocol-flow.html#idm46428663878176 indicates this can only ever happen on a "very ancient server" that does not have SSL support, but the bug report indicated it happened with 9.6.5 (on a fairly new Heroku instance). Importantly, when we got that reply, other connections to that server were failing with ERROR 53200 (out_of_memory) and the problematic SSLRequest/ErrorMessage exchange happened during reconnection attempts.

I wonder, if this is a bug or rather an omission in the docs that the ErrorMessage can happen under some failure scenarios other than lack of SSL support.

Regards,
Michał Muskała.

[1]:  https://github.com/elixir-ecto/postgrex
[2]:  https://www.postgresql.org/docs/10/static/protocol-flow.html#idm46428663878176

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Michał Muskała (#1)
Re: Unexpected ErrorMessage reply to SSLRequest

On 1/31/18 17:01, Michał Muskała wrote:

I'm one of the maintainers of postgrex [1] - an Elixir client for
Postgresql. We implement the wire protocol and connect directly through
tcp. We got a bug report indicating we got an unexpected ErrorMessage
packet in reply to SSLRequest.

What did the client error message say, and what did you see in the
server log?

I wonder, if this is a bug or rather an omission in the docs that the
ErrorMessage can happen under some failure scenarios other than lack of
SSL support.

I'm not sure, but the documentation also says that you should handle it
nonetheless. ;-)

--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services