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 (other bugs)
Version First Reported In: 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 ***