Subject: [Boost-bugs] [Boost C++ Libraries] #12122: Socket get_option throwing length_error exceptions
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-04-12 16:12:48
#12122: Socket get_option throwing length_error exceptions
-------------------------------------------+----------------------------
Reporter: Chris White <chriswhitemsu@â¦> | Owner: chris_kohlhoff
Type: Bugs | Status: new
Milestone: To Be Determined | Component: asio
Version: Boost 1.58.0 | Severity: Problem
Keywords: |
-------------------------------------------+----------------------------
We've seen some indeterminate behavior when calling get_option(no_delay).
Occasionally we'll see the length_error exception get thrown from within
socket_option::boolean::resize() even though we're passing in an
error_code to get_option(). Occasionally we'll get an unexpected result
from the option as well (the option will be off even though it was set to
on). We'll manually add more details to the exception in question so we
can investigate what unexpected size the resize() function is
encountering. Also, I noticed it's not the first time this exception was
encountered by someone:
https://sourceforge.net/p/asio/mailman/message/6494499/
A few things should really happen here regardless of the root issue:
1. An exception should not be thrown when an error_code is passed in.
These resize() functions need support for error_code so it can be passed
through by the corresponding get_option() overload.
2. The exception message in resize() should contain more details. In
particular, it should mention the value of the passed in size 's', and
possibly the result of the size() member function as well.
We've seen this happen on Windows v6.0.6002 and v6.1.7601. We'll add more
details here about the unexpected size value we're encountering once we
have them.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12122> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC