Bug 204572 - Memcheck crash when reporting leak with boost symbols
Summary: Memcheck crash when reporting leak with boost symbols
Status: RESOLVED DUPLICATE of bug 197988
Alias: None
Product: valgrind
Classification: Developer tools
Component: memcheck (show other bugs)
Version: 3.5.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-20 21:47 UTC by Alex Ivershen
Modified: 2021-05-10 23:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Ivershen 2009-08-20 21:47:08 UTC
Running 3.5.0 on MontaVista x86_64 Linux (3.4.1 has the same problem).
When leaks report is invoked either at runtime or during shutdown, valgrind crashes with the output below. Appears to be an issue with very long boost template names?


==17825== 136 (48 direct, 88 indirect) bytes in 1 blocks are definitely lost in loss record 572 of 1,103
==17825==    at 0x4C20648: operator new(unsigned long) (vg_replace_malloc.c:220)
==17825==    by 0xE320483: std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*>, std::_Select1st<std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*> const&) (new_allocator.h:91)
==17825==    by 0xE320579: std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*>, std::_Select1st<std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*> > >::_M_insert_unique(std::pair<unsigned int const, std::vector<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<unsigned short, int, unsigned int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >*> const&) (stl_tree.h:990)
==17825==    by 0xE32002F: iris::ict::TransactionActions::TransactionActions(iris::ict::TransactionActions const&) (stl_map.h:400)
==17825==    by 0xE32735A: iris::ict::SessionSMModel::updateCaseActions(unsigned int) const (SessionSMModel.cpp:789)
==17825==    by 0xE31BDF3: boost::spirit::classic::impl::concrete_parser<boost::spirit::classic::action<boost::spirit::classic::action<boost::spirit::classic::action<boost::spirit::classic::action<boost::spirit::classic::sequence<boost::spirit::classic::sequence<boost::spirit::classic::sequence<boost::spirit::classic::sequence<boost::spirit::classic::sequence<boost::spirit::classic::sequence<boost::spirit::classic::action<boost::spirit::classic::empty_match_parser<boost::spirit::classic::contiguous<boost::spirit::classic::sequence<boost::spirit::classic::chseq<char const*>, boost::spirit::classic::negated_empty_match_parser<boost::spirit::classic::chset<char> > > > >, phoenix::actor<phoenix::composite<phoenix::member_function_ptr_action<void, iris::ict::SessionSMModel const, signed char, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t>, phoenix::actor<phoenix::value<iris::ict::SessionSMModel> >, phoenix::actor<phoenix::value<int> >, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> > >, boost::spirit::classic::action<boost::spirit::classic::action<boost::spirit::classic::action<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::StringClosure>, boost::spirit::classic::nil_t>, phoenix::actor<phoenix::composite<phoenix::assign_op, phoenix::actor<phoenix::closure_member<1, phoenix::closure<std::string, unsigned short, int, unsigned int, int, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> > >, phoenix::actor<phoenix::composite<phoenix::member_function_ptr_action<unsigned short, iris::ict::SessionSMModel const, std::string const&, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t>, phoenix::actor<phoenix::value<iris::ict::SessionSMModel> >, phoenix::actor<phoenix::argument<0> >, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> >, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> > >, phoenix::actor<phoenix::composite<phoenix::assign_op, phoenix::actor<phoenix::closure_member<2, phoenix::closure<std::string, unsigned short, int, unsigned int, int, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> > >, phoenix::actor<phoenix::value<int> >, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> > >, phoenix::actor<phoenix::composite<phoenix::assign_op, phoenix::actor<phoenix::closure_member<4, phoenix::closure<std::string, unsigned short, int, unsigned int, int, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> > >, phoenix::actor<phoenix::value<int> >, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t, phoenix::nil_t> > > >, boost::spirit::classic::action<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_fil
==17825==    by 0xE2FFB40: boost::spirit::classic::parser_result<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t>, boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >::type boost::spirit::classic::impl::rule_base<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t>, boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t> const&, boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >(boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > const&) const (rule.ipp:191)
==17825==    by 0xE301C44: boost::spirit::classic::parser_result<boost::spirit::classic::refactor_unary_parser<boost::spirit::classic::difference<boost::spirit::classic::alternative<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t>, boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t> >, boost::spirit::classic::chlit<char> >, boost::spirit::classic::non_nested_refactoring>, boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >::type boost::spirit::classic::refactor_unary_parser<boost::spirit::classic::difference<boost::spirit::classic::alternative<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t>, boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t> >, boost::spirit::classic::chlit<char> >, boost::spirit::classic::non_nested_refactoring>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >(boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > const&) const (alternative.hpp:62)
==17825==    by 0xE302197: boost::spirit::classic::impl::concrete_parser<boost::spirit::classic::confix_parser<boost::spirit::classic::chlit<char>, boost::spirit::classic::alternative<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t>, boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::closure_context<iris::ict::ActionClosure>, boost::spirit::classic::nil_t> >, boost::spirit::classic::chlit<char>, boost::spirit::classic::binary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::non_lexeme>, boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t>::do_parse_virtual(boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > const&) const (refactoring.ipp:196)
==17825==    by 0xE2F72EB: boost::spirit::classic::parser_result<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t, boost::spirit::classic::nil_t>, boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >::type boost::spirit::classic::impl::rule_base<boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t, boost::spirit::classic::nil_t>, boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t, boost::spirit::classic::nil_t> const&, boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t, boost::spirit::classic::nil_t>::parse<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >(boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char, boost::spirit::classic::fileiter_impl::mmap_file_iterator<char> >, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > const&) const (rule.ipp:191)
--17825-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting
--17825-- si_code=2;  Faulting address: 0x406CCD7C0;  sp: 0x406ccae40

valgrind: m_signals.c:2289 (sync_signalhandler_from_kernel): Assertion 'tid != 0' failed.
==17825==    at 0x3802783E: report_and_quit (m_libcassert.c:145)

sched status:
  running_tid=10
Comment 1 Nicholas Nethercote 2009-08-21 00:51:39 UTC
This could be a dup of 197988.
Comment 2 Alex Ivershen 2009-08-21 01:00:00 UTC
Nick, indeed, sounds similar to 197988. Note that the same program crashes under callgrind when the functions that use boost::spirit start getting invoked.
Comment 3 Alex Ivershen 2009-08-25 00:43:06 UTC
Closing as definite duplicate to 197988. 
I will update that report from now on.
Comment 4 Alex Ivershen 2009-08-25 00:43:51 UTC
*** This bug has been marked as a duplicate of bug 197988 ***