[Boost-bugs] [Boost C++ Libraries] #11420: program_options crash on run() on specific machine only in release mode

Subject: [Boost-bugs] [Boost C++ Libraries] #11420: program_options crash on run() on specific machine only in release mode
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-06-25 12:34:53


#11420: program_options crash on run() on specific machine only in release mode
---------------------------------------+-----------------------------
 Reporter: Stephan Bertl <stephan@…> | Owner: vladimir_prus
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: program_options
  Version: Boost 1.58.0 | Severity: Problem
 Keywords: |
---------------------------------------+-----------------------------
 It's a very strange error that occured. I have deployed the program on a
 machine where no Visual Studio is available.

 Upon start it crashes instantly so I have created a dump with the task
 manager and analysed it in Visual Studio 2013.

 {{{
>
 test.exe!boost::program_options::basic_command_line_parser<char>::run()
 Line 107 C++
 }}}

 which resolves to
 {{{
 template<class charT>
     basic_parsed_options<charT>
     basic_command_line_parser<charT>::run()
     {
         // save the canonical prefixes which were used by this cmdline
 parser
         // eventually inside the parsed results
         // This will be handy to format recognisable options
         // for diagnostic messages if everything blows up much later on
         parsed_options result(m_desc,
 detail::cmdline::get_canonical_option_prefix());
         result.options = detail::cmdline::run();

         // Presense of parsed_options -> wparsed_options conversion
         // does the trick.
         return basic_parsed_options<charT>(result);
     }
 }}}

 in my program the crash occurs in the following line

 {{{
 po::store(po::command_line_parser(argc,
 argv).options(description).allow_unregistered().run(), vm);
 }}}

 The very strange thing is that argc is 0 and argv is 0x0000000000000000

 It only happens in release mode and i cannot catch any exception

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11420>
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:18 UTC