[Boost-bugs] [Boost C++ Libraries] #12122: Socket get_option throwing length_error exceptions

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