Opened 14 years ago
Closed 13 years ago
#2436 closed Bugs (fixed)
[spirit2] segfault upon grammar instantiation
Reported by: | Owned by: | Joel de Guzman | |
---|---|---|---|
Milestone: | Boost 1.37.0 | Component: | spirit |
Version: | Boost Development Trunk | Severity: | Showstopper |
Keywords: | Cc: |
Description
I recently switched from g++ 4.0 to g++ 4.2 and now get this warning. I am using the 1.37 beta.
***/boost-1_37/boost/spirit/home/support/nonterminal/detail/nonterminal_fcall.hpp:53: warning: missing braces around initializer for 'boost::spirit::parameterized_nonterminal<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, void ()(std::basic_string<char, std::char_traits<char>, std::allocator<char> >), vast::bro::bro_white_space<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::fusion::unused_type>, boost::fusion::vector<boost::phoenix::actor<boost::spirit::local_var<0> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >'
Later on, my application segfaults. Here is the stack trace:
Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: 13 at address: 0x00000000 0x8fe18b42 in __dyld_misaligned_stack_error () (gdb) bt #0 0x8fe18b42 in __dyld_misaligned_stack_error () #1 0xbfffdf98 in ?? () #2 0x036f2993 in std::_Rb_tree_insert_and_rebalance () #3 0x00109c5b in std::_Rb_tree<std::string, std::pair<std::string const, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> >, std::_Select1st<std::pair<std::string const, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > >::_M_insert (this=0xbfffdf34, __x=0x0, __p=0x3802b30, __v=@0xbfffdf94) at /Users/mavam/code/workspace/vast/build/root/include/boost-1_37/boost/spirit/home/qi/nonterminal/detail/rule.hpp:116 #4 0x00109e10 in std::_Rb_tree<std::string, std::pair<std::string const, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> >, std::_Select1st<std::pair<std::string const, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > >::_M_insert_unique (this=0xbfffdf34, __v=@0xbfffdf94) at /Users/mavam/code/workspace/vast/build/root/include/boost-1_37/boost/spirit/home/qi/nonterminal/detail/rule.hpp:116 #5 0x00109e88 in std::map<std::string, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::variant<vast::meta::vm_addr_t, vast::meta::vm_any_t, vast::meta::vm_bool_t, vast::meta::vm_count_t, vast::meta::vm_double_t, vast::meta::vm_interval_t, vast::meta::vm_int_t, vast::meta::vm_file_t, vast::meta::vm_port_t, vast::meta::vm_string_t, vast::meta::vm_subnet_t, vast::meta::vm_time_t, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > >::insert (this=0xbfffdf34, __x=@0xbfffdf94) at /Users/mavam/code/workspace/vast/build/root/include/boost-1_37/boost/spirit/home/qi/nonterminal/detail/rule.hpp:116 #6 0x0012633a in vast::meta::vast_basic_type::vast_basic_type (this=<incomplete type>) at /Users/mavam/code/workspace/vast/build/root/include/boost-1_37/boost/spirit/home/qi/nonterminal/detail/rule.hpp:116 #7 0x00126e75 in vast::meta::vast_type<__gnu_cxx::__normal_iterator<char const*, std::string> >::vast_type (this=<incomplete type>, sym_type=<incomplete type>) at /Users/mavam/code/workspace/vast/build/root/include/boost-1_37/boost/spirit/home/qi/nonterminal/detail/rule.hpp:116 #8 0x0012849c in vast::meta::vast_grammar<__gnu_cxx::__normal_iterator<char const*, std::string> >::vast_grammar (this=0xbfffe73c, events=@0xbfffe928) at /Users/mavam/code/workspace/vast/build/root/include/boost-1_37/boost/spirit/home/qi/nonterminal/detail/rule.hpp:116 #9 0x00145def in vast::meta::Specification::load (this=<incomplete type>, filename=<incomplete type>) at /opt/local/include/gcc42/c++/bits/stl_algobase.h:401 #10 0x0005d4eb in main (argc=<incomplete type>, argv=<incomplete type>) at /Users/mavam/code/workspace/vast/build/root/include/boost-1_37/boost/thread/detail/thread.hpp:543
Let me know if you need more context from my application, I am not sure where to start from here.
Best regards,
Matthias
Change History (3)
comment:1 by , 13 years ago
follow-up: 3 comment:2 by , 13 years ago
Yes, please post a minimal example reproducing this. There's no other way for me to tell.
comment:3 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Replying to djowel:
Yes, please post a minimal example reproducing this. There's no other way for me to tell.
It's actually solved, I am using gcc 4.3 for a while now and the problem doesn't exist anymore.
Is this still a problem? If yes, could you please provide a minimal example reproducing this problem? Otherwise it's not possible to fix it.