Re: backtrace_on_internal_error

Поиск
Список
Период
Сортировка
Искать
От
Tom Lane
Тема
Re: backtrace_on_internal_error
Дата
Msg-id
1550646.1702074585@sss.pgh.pa.us
Ответ на
Список
Дерево обсуждения
backtrace_on_internal_error Peter Eisentraut <peter@eisentraut.org>
Re: backtrace_on_internal_error Nathan Bossart <nathandbossart@gmail.com>
Re: backtrace_on_internal_error Robert Haas <robertmhaas@gmail.com>
Re: backtrace_on_internal_error Nathan Bossart <nathandbossart@gmail.com>
Re: backtrace_on_internal_error Robert Haas <robertmhaas@gmail.com>
Re: backtrace_on_internal_error Matthias van de Meent <boekewurm+postgres@gmail.com>
Re: backtrace_on_internal_error Nathan Bossart <nathandbossart@gmail.com>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Robert Haas <robertmhaas@gmail.com>
Re: backtrace_on_internal_error Peter Eisentraut <peter@eisentraut.org>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Peter Eisentraut <peter@eisentraut.org>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Jelte Fennema-Nio <postgres@jeltef.nl>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Jelte Fennema-Nio <postgres@jeltef.nl>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Andres Freund <andres@anarazel.de>
Re: backtrace_on_internal_error Robert Haas <robertmhaas@gmail.com>
Re: backtrace_on_internal_error Tom Lane <tgl@sss.pgh.pa.us>
Re: backtrace_on_internal_error Peter Eisentraut <peter@eisentraut.org>
Re: backtrace_on_internal_error Robert Haas <robertmhaas@gmail.com>
Re: backtrace_on_internal_error Jelte Fennema-Nio <postgres@jeltef.nl>
Re: backtrace_on_internal_error Peter Eisentraut <peter@eisentraut.org>
Andres Freund  writes:
>> I think I figured it it out. Looks like we need to translate a closed socket
>> (recvfrom() returning 0) to ECONNRESET or such.

> Seems like we should just treat errno == 0 as a reason to emit the "EOF
> detected" message?

Agreed.  I think we want to do that after the initial handshake,
too, so maybe as attached.

			regards, tom lane

diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
index 6b8125695a..f0b35f08c6 100644
--- a/src/backend/libpq/be-secure-openssl.c
+++ b/src/backend/libpq/be-secure-openssl.c
@@ -460,6 +460,7 @@ aloop:
 	 * per-thread error queue following another call to an OpenSSL I/O
 	 * routine.
 	 */
+	errno = 0;
 	ERR_clear_error();
 	r = SSL_accept(port->ssl);
 	if (r <= 0)
@@ -496,7 +497,7 @@ aloop:
 										 WAIT_EVENT_SSL_OPEN_SERVER);
 				goto aloop;
 			case SSL_ERROR_SYSCALL:
-				if (r < 0)
+				if (r < 0 && errno != 0)
 					ereport(COMMERROR,
 							(errcode_for_socket_access(),
 							 errmsg("could not accept SSL connection: %m")));
@@ -732,7 +733,7 @@ be_tls_read(Port *port, void *ptr, size_t len, int *waitfor)
 			break;
 		case SSL_ERROR_SYSCALL:
 			/* leave it to caller to ereport the value of errno */
-			if (n != -1)
+			if (n != -1 || errno == 0)
 			{
 				errno = ECONNRESET;
 				n = -1;
В списке pgsql-hackers по дате отправления
От: Tatsuo Ishii
Дата:
Сообщение: Re: Row pattern recognition
От: Tom Lane
Дата:
FAQ