id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 4685,boost::interprocess::winapi::get_last_bootup_time( std::wstring&),Jim Bell ,Ion Gaztañaga,"boost::interprocess::winapi::get_last_bootup_time( std::wstring& strValue ) This line is wrong and is crashing most of the win32 regression tests (both release and trunk): {{{ strValue.erase(strValue.find(L'+')); }}} strValue doesn't have '+', so .find() returns std::wstring::npos, but that causes std::wstring::erase() to crash. npos isn't a valid parameter to erase() and will cause an out_of_range exception to be thrown. [http://stdcxx.apache.org/doc/stdlibref/basic-string.html#idx349] I think this is causing many regression test failures both the release and trunk branches for win32. The fix would be to split it out: {{{ std::wstring::size_type plusPos = strValue.find(L'+'); if (plusPos != std::wstring::npos) strValue.erase(plusPos); }}} I can't speak to why you're looking for a '+' and the significance of not finding it. ",Bugs,closed,To Be Determined,interprocess,Boost 1.44.0,Problem,fixed,,