Discussion:
[asio-users] Boost/Asio "short read" error
Marcin Głogowski
2012-05-16 09:55:46 UTC
Permalink
Hi,
I have problem with asio - sometimes server returns "short read" error.
I'm using client/server from the examples, I have boost 1.49, Windows 7 64 bit (application is 64 bit).
Please write me - is it just a bug or wrong implemented example inside of boost because the error occurs not every time.
How to protect my application against the error?
I tried to ask in boost mailing list but without result.
It is extremely important to me to determine what cause the error.
Best regards,
Marcin G³ogowski

Dom Maklerski Banku Ochrony Šrodowiska Spó³ka Akcyjna
ul. Marsza³kowska 78/80 / 00-517 Warszawa

wpisana w Rejestrze Przedsiêbiorców prowadzonym przez
S±d Rejonowy dla m. st. Warszawy XII Wydzia³ Gospodarczy Krajowego Rejestru S±dowego
pod numerem: KRS 0000048901 / NIP 526-10-26-828

Kapita³ zak³adowy w wysoko¶ci 21.551.200z³ wp³acony w ca³o¶ci.

P - Nie drukuj tej wiadomo¶ci, je¶li to nie jest konieczne.
vf
2012-05-22 01:21:22 UTC
Permalink
Are you using SSL? It sounds like an SSL error.
Marcin Głogowski
2012-05-22 07:43:31 UTC
Permalink
Hello,
Thank you for the hint!
I didn't suspect the SSL.
Please write me - which version of SSL is stable without the bug?
Best regards and thank you for help
Marcin
Post by vf
Are you using SSL? It sounds like an SSL error.
Dom Maklerski Banku Ochrony Środowiska Spółka Akcyjna
ul. Marszałkowska 78/80 / 00-517 Warszawa

wpisana w Rejestrze Przedsiębiorców prowadzonym przez
Sąd Rejonowy dla m. st. Warszawy XII Wydział Gospodarczy Krajowego Rejestru Sądowego
pod numerem: KRS 0000048901 / NIP 526-10-26-828

Kapitał zakładowy w wysokości 21.551.200zł wpłacony w całości.

P - Nie drukuj tej wiadomości, jeśli to nie jest konieczne.
vf
2012-05-22 08:25:32 UTC
Permalink
Actually, it is not something to worry about.

Normally this error code is returned when the SSL client does not close its
connection properly, i.e. without calling SSL_shutdown() (terminated from the
task manager, for example).

The connection is closed by the client one way or another, the server can do
nothing but ignore it.

You can check this error code as follows:
if (error.category() == boost::asio::error::get_ssl_category() &&
error.value() != ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ)) // boost returns
"short_read" wehen the peer calls SSL_shutdown()
{
// the client went down abruptly
}


Better still, search the boost asio source code for "short_read" (without
quotes). The comments are rather explanatory.

Loading...