Boost logo

Boost :

From: Ryan, Paul L. (PAUL.L.RYAN_at_[hidden])
Date: 2006-07-24 10:58:18


I'm working on a program with which we are using the boost::program_options
module and ran into an odd assertion in the xstring library used by said
module. The program was compiled using VC++ 8 and the Platform SDK Windows
Server 2003 SP1. The assertion occured when the total string length (spaces
+ options + arg defaults + description) was over about 80 characters and was
not formatted with a \n or the like. The assertion was xstring:173 ("_Myptr
+ _Off <=(((_Mystring *)this->_Mycont)->_Myptr()+((_Mystring
*)->_Mycont)->_Mysize)&&+_Off >= ((_Mystring *)this->_Mycont)->_Myptr()",
0). and a call stack on one of the programs this occurred on can be seen
below. This has occurred for a number of applications we have that all have
the same condition. Thank you in advance for your assitance
 
>
IMNManager.exe!std::_String_const_iterator<char,std::char_traits<char>,std::
allocator<char> >::operator+=(int _Off=-1) Line 171 + 0x78 bytes C++
 
IMNManager.exe!std::_String_const_iterator<char,std::char_traits<char>,std::
allocator<char> >::operator-=(int _Off=1) Line 188 C++
 
IMNManager.exe!std::_String_const_iterator<char,std::char_traits<char>,std::
allocator<char> >::operator-(int _Off=1) Line 193 + 0xc bytes C++
  IMNManager.exe!boost::program_options::`anonymous
namespace'::format_paragraph(std::basic_ostream<char,std::char_traits<char>
> & os={...},
std::basic_string<char,std::char_traits<char>,std::allocator<char> >
par="Used to specify the debugged namespaces", unsigned int
first_column_width=41, unsigned int line_length=79) Line 381 + 0x28 bytes
C++
  IMNManager.exe!boost::program_options::`anonymous
namespace'::format_description(std::basic_ostream<char,std::char_traits<char
> > & os={...}, const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
desc="Used to specify the debugged namespaces", unsigned int
first_column_width=41, unsigned int line_length=79) Line 453 + 0x34 bytes
C++
  IMNManager.exe!boost::program_options::`anonymous
namespace'::format_one(std::basic_ostream<char,std::char_traits<char> > &
os={...}, const boost::program_options::option_description & opt={...},
unsigned int first_column_width=41, unsigned int line_length=80) Line 489 +
0x1a bytes C++
 
IMNManager.exe!boost::program_options::options_description::print(std::basic
_ostream<char,std::char_traits<char> > & os={...}) Line 522 + 0x1e bytes
C++
 
IMNManager.exe!boost::program_options::operator<<(std::basic_ostream<char,st
d::char_traits<char> > & os={...}, const
boost::program_options::options_description & desc={...}) Line 289 C++

 
Paul Ryan
SAIC
 


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk