id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13050,Serialization Fails on Optional Vector,cristall@…,Robert Ramey," When serializing a boost::optional with T = std::vector, it will fail to load. This is a regression in Boost 1.64 as 1.63 does not appear to exhibit the issue. The following code will exhibit the issue: {{{ boost::optional> opt{}; std::string in_str{ ""22 serialization::archive 15 0 0 1 0 4 0 0 1 2 3"" }; std::istringstream iss{in_str}; boost::archive::text_iarchive ia{iss}; ia >> opt; }}} This should set opt to a valid optional containing a vector of {0, 1, 2, 3}. However it will instead either segfault or enter an infinite loop. The cause appears to be related to a change in boost/serialization/optional.hpp, where stack storage was changed from using detail::stack_construct to detail::stack_allocate. The error appears to come from trying to use an undefined vector object. This was only tested on OSX using the following: {{{ Apple LLVM version 8.1.0 (clang-802.0.42) Target: x86_64-apple-darwin16.6.0 Thread model: posix }}}",Bugs,closed,To Be Determined,serialization,Boost 1.64.0,Regression,fixed,,