boost::property_map & _GLIBCXX_DEBUG problem

0 Unknown PC=0xffffe410, FP=0xbfe4626c 1 abort PC=0xb7ddc17c, FP=0xbfe46398 [/lib/i686/cmov/
,std::__debug::vector<char,std::allocator<char> > >::_Safe_iterator PC=0xb5f10d59, FP=0xbfe465c8 [/usr/include/c++/4.2/debug/ safe_iterator.h#128] 4 boost::iterator_adaptor<boost::spirit::position_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<const char*,std::__norm::vector<char,std::allocator<char> > ,std::__debug::vector<char,std::allocator<char> > ,boost::spirit::file_position_base<std::string>,boost::spirit::nil_t>,__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<const char*,std::__norm::vector<char,std::allocator<char> > ,std::__debug::vector<char,std::allocator<char> > >,const char,boost::use_default,boost::use_default,boost::use_default>::not-in- charge iterator_adaptor PC=0xb5f10dbc, FP=0xbfe465e8 [/usr/include/boost/ iterator/iterator_adaptor.hpp#277] 5 boost::spirit::position_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<const char*,std::__norm::vector<char,std::allocator<char> > ,std::__debug::vector<char,std::allocator<char> > ,boost::spirit::file_position_base<std::string>,boost::spirit::nil_t>::position_iterator PC=0xb5f2fa36, FP=0xbfe46618 [/usr/include/boost/spirit/iterator/
,std::__debug::vector<char,std::allocator<char> > ,boost::spirit::file_position_base<std::string>,boost::spirit::nil_t>,boost::spirit::scanner_policies<boost::spirit::iteration_policy,boost::spirit::match_policy,boost::spirit::action_policy> ::scanner PC=0xb5f2fafc, FP=0xbfe46648 [/usr/include/boost/spirit/core/ scanner/scanner.hpp#231] 7 boost::spirit::parse<boost::spirit::position_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<const char*,std::__norm::vector<char,std::allocator<char> > ,std::__debug::vector<char,std::allocator<char> > ,boost::spirit::file_position_base<std::string>,boost::spirit::nil_t>,boost::property_tree::xml_parser::xml_grammar<boost::property_tree::basic_ptree<std::less<std::string>,std::string,boost::property_tree::basic_path<std::string>,std::string,boost::property_tree::translator>
PC=0xb5f5d76e, FP=0xbfe46718 [/usr/include/boost/spirit/core/impl/
PC=0xb5f63a58, FP=0xbfe46ab8 [/home/tim/workspace/nova/libs/
hi all, my application uses boost::property_map to, well, store properties ... it basically works fine, however, when compiling the application with _GLIBCXX_DEBUG, the xml grammar parser complains: /usr/include/c++/4.2/debug/safe_iterator.h:131:error: attempt to copy- construct an iterator from a singular iterator. Objects involved in the operation: iterator "this" @ 0x0xbfe46690 { type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKcNSt6__norm6vectorIcSaIcEEEEENSt7__debug6vectorIcS7_EEEE (constant iterator); state = singular; } iterator "other" @ 0x0xbfe467e0 { type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKcNSt6__norm6vectorIcSaIcEEEEENSt7__debug6vectorIcS7_EEEE (constant iterator); state = singular; } the backtrace of the problem is: libc.so.6] 2 _ZNK11__gnu_debug16_Error_formatter8_M_errorEv PC=0xb773c781, FP=0xbfe46458 [/usr/lib/libstdc++.so.6] 3 __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<const char*,std::__norm::vector<char,std::allocator<char> > position_iterator.hpp#217] 6 boost::spirit::scanner<boost::spirit::position_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<const char*,std::__norm::vector<char,std::allocator<char> > parser.ipp#27] 8 _ZN5boost13property_tree10xml_parser17read_xml_internalINS0_11basic_ptreeISt4lessISsESsNS0_10basic_pathISsEESsNS0_10translatorEEEEEvRSt13basic_istreamINT_8key_type10value_typeESt11char_traitsISD_EERSB_iRKSs PC=0xb5f635fa, FP=0xbfe46948 [/home/tim/workspace/nova/libs/property_tree/ boost/property_tree/detail/xml_parser_read_spirit.hpp#721] 9 boost::property_tree::xml_parser::read_xml<boost::property_tree::basic_ptree<std::less<std::string>,std::string,boost::property_tree::basic_path<std::string>,std::string,boost::property_tree::translator> property_tree/boost/property_tree/xml_parser.hpp#58] <snip> i am not sure, whether this is a property_map or a spirit problem, nor if it is a problem at all ... the problem occurred on boost-1.34.1, using the property_map archive from the vault. although the code works fine, it keeps me from debugging my application with _GLIBCXX_DEBUG, so it would be great if this could be fixed ... btw, boost::property_map from svn doesn't compile against boost-1.34.1 (i didn't try compiling it against boost-svn, though): libs/property_tree/boost/property_tree/detail/ xml_parser_read_rapidxml.hpp: In function 'void boost::property_tree::xml_parser::read_xml_internal (std::basic_istream<typename Ptree::key_type::value_type, std::char_traits<typename Ptree::key_type::value_type> >&, Ptree&, int, const std::string&) [with Ptree = boost::property_tree::basic_ptree<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::property_tree::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::property_tree::translator>]': libs/property_tree/boost/property_tree/xml_parser.hpp:60: instantiated from 'void boost::property_tree::xml_parser::read_xml(const std::string&, Ptree&, int, const std::locale&) [with Ptree = boost::property_tree::ptree]' /home/tim/workspace/nova/source/kernel/environment.cpp:174: instantiated from here libs/property_tree/boost/property_tree/detail/ xml_parser_read_rapidxml.hpp:96: error: invalid operands of types '<unresolved overloaded function type>' and 'const int' to binary 'operator<' libs/property_tree/boost/property_tree/detail/ xml_parser_read_rapidxml.hpp:98: error: ISO C++ forbids comparison between pointer and integer libs/property_tree/boost/property_tree/detail/ xml_parser_read_rapidxml.hpp:98: error: invalid operands of types '<unresolved overloaded function type>' and 'const int' to binary 'operator<' thanks in advance, tim -- tim@klingt.org ICQ: 96771783 http://tim.klingt.org Relying on the government to protect your privacy is like asking a peeping tom to install your window blinds. John Perry Barlow

Tim Blechmann wrote:
hi all,
my application uses boost::property_map to, well, store properties ... it basically works fine, however, when compiling the application with _GLIBCXX_DEBUG, the xml grammar parser complains:
[snip]
i am not sure, whether this is a property_map or a spirit problem, nor if it is a problem at all ...
Looks like a Spirit problem. Could you please add a Trac ticket to this? Thanks! Regards, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net

i am not sure, whether this is a property_map or a spirit problem, nor if it is a problem at all ...
Looks like a Spirit problem. Could you please add a Trac ticket to this? Thanks!
sure: http://svn.boost.org/trac/boost/ticket/1276 best, tim -- tim@klingt.org ICQ: 96771783 http://tim.klingt.org Nothing exists until or unless it is observed. An artist is making something exist by observing it. And his hope for other people is that they will also make it exist by observing it. I call it 'creative observation.' Creative viewing. William S. Burroughs
participants (2)
-
Joel de Guzman
-
Tim Blechmann