Created attachment 38292 [details] log Helgrind crashes for me. I am using the latest 3.5.0, but this also happens in 3.4.0. 3.3.0 however doesn't crash. Attached is the log from helgrind. I can forward a core dump if needed, it is just too big to upload. Please let me know if there is any other information that might be helpful.
Why do you say Helgrind crashed? I don't see any evidence for that in the attached log. Usually when it crashes there is some associated error message and/or backtrace. I'd need to see that.
(In reply to comment #1) > Why do you say Helgrind crashed? I don't see any evidence for that > in the attached log. Usually when it crashes there is some > associated error message and/or backtrace. I'd need to see that. It produced <helgrind log file>.core.<pid> core dump. The run did not finish and helgrind did not produce the summary at the end. This run does not crash when running without helgrind, and with valgrind version 3.3.0 it also manage to finish.
> It produced <helgrind log file>.core.<pid> core dump. > The run did not finish and helgrind did not produce the summary at the end. > This run does not crash when running without helgrind, and with valgrind > version 3.3.0 it also manage to finish. So far you haven't actually provided any information at all (log files showing the crash happening, or a way to reproduce it) that I can look at to see/diagnose the problem.
Maybe this will be more helpful. I also have a core dump, well two core dumps, I assume one from helgrind and one from my application. ==23094== ==23094== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==23094== Bad permissions for mapped region at address 0x64E90C40 ==23094== at 0x5491D3A: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) (in /usr/lib/libstdc++.so.6.0.9) ==23094== by 0xF43BC5F: LibCrule::Frame::Frame(LibCrule::Session*, Crule_Phantom_Frame*, std::string const&) (libcrule.hh:2325) ==23094== by 0xF48F172: void LibCrule::Session::BindIndirectInput<Raw::Data::SkillClass, void (*)(LibCrule::Frame*, std::string const&)>(std::string const&, Raw::Data::SkillClass const**, void (*)(LibCrule::Frame*, std::string const&), Crule_Phantom_Frame**) (libcrule.hh:1898) ==23094== by 0xF48F2C1: Raw::FrameInput<Raw::Data::SkillClass const>::Bind(LibCrule::Session*) (FrameInput.hh:125) ==23094== by 0xF7ACBCC: Raw::TFrameInput<Raw::Data::SkillClass>::Bind(LibCrule::Session*, std::string const&) (TBindableBaseClasses.hh:607) ==23094== by 0xF7CF066: Raw::TInputsHelper<Loki::Typelist<Raw::StaffLeftInput<0u>, Loki::Typelist<Raw::RenewSkillLeftInput<0u>, Loki::Typelist<Raw::RenewalActsLeftInput<0u>, Loki::Typelist<Raw::RenewalCostsLeftInput<0u>, Loki::Typelist<Raw::RenewalByOtherStaffCountsLeftInput<0u>, Loki::Typelist<Raw::StaffRightInput<0u>, Loki::Typelist<Raw::RenewSkillRightInput<0u>, Loki::Typelist<Raw::RenewalActsRightInput<0u>, Loki::Typelist<Raw::RenewalCostsRightInput<0u>, Loki::Typelist<Raw::RenewalByOtherStaffCountsRightInput<0u>, Loki::Typelist<Raw::ModelSummaryInput<4u>, Loki::Typelist<Raw::RunPropertiesInput<4u>, Loki::NullType> > > > > > > > > > > >, 12u>::BindInputs(LibCrule::Session*, std::string const&) (TInputsHelper.hh:569) ==23094== by 0xF7CF4DD: Raw::TRuleTableSession<Loki::Typelist<Raw::StaffLeftInput<0u>, Loki::Typelist<Raw::RenewSkillLeftInput<0u>, Loki::Typelist<Raw::RenewalActsLeftInput<0u>, Loki::Typelist<Raw::RenewalCostsLeftInput<0u>, Loki::Typelist<Raw::RenewalByOtherStaffCountsLeftInput<0u>, Loki::Typelist<Raw::StaffRightInput<0u>, Loki::Typelist<Raw::RenewSkillRightInput<0u>, Loki::Typelist<Raw::RenewalActsRightInput<0u>, Loki::Typelist<Raw::RenewalCostsRightInput<0u>, Loki::Typelist<Raw::RenewalByOtherStaffCountsRightInput<0u>, Loki::Typelist<Raw::ModelSummaryInput<4u>, Loki::Typelist<Raw::RunPropertiesInput<4u>, Loki::NullType> > > > > > > > > > > >, Loki::Typelist<Raw::IsLeftLessThanRightOutput, Loki::NullType> >::Bind() (TRuleTable.hh:55) ==23094== by 0xF7CF54A: Raw::TRuleTable<Loki::Typelist<Raw::StaffLeftInput<0u>, Loki::Typelist<Raw::RenewSkillLeftInput<0u>, Loki::Typelist<Raw::RenewalActsLeftInput<0u>, Loki::Typelist<Raw::RenewalCostsLeftInput<0u>, Loki::Typelist<Raw::RenewalByOtherStaffCountsLeftInput<0u>, Loki::Typelist<Raw::StaffRightInput<0u>, Loki::Typelist<Raw::RenewSkillRightInput<0u>, Loki::Typelist<Raw::RenewalActsRightInput<0u>, Loki::Typelist<Raw::RenewalCostsRightInput<0u>, Loki::Typelist<Raw::RenewalByOtherStaffCountsRightInput<0u>, Loki::Typelist<Raw::ModelSummaryInput<4u>, Loki::Typelist<Raw::RunPropertiesInput<4u>, Loki::NullType> > > > > > > > > > > >, Loki::Typelist<Raw::IsLeftLessThanRightOutput, Loki::NullType>, 0u>::Bind() (TRuleTable.hh:213) ==23094== by 0xF7CF7DD: Raw::RuleTableCreator<Raw::SolverBehaviour::CamSharp::StaffSkillLessThanRule>::Create(LibCrule::LibraryInstance const*, LibCrule::UpdateHandler*, unsigned int, unsigned int) (RuleTableFactory.hh:28) ==23094== by 0xF7CFEE0: Raw::CreateByNewOnceAtInit<Raw::SolverBehaviour::CamSharp::StaffSkillLessThanRule, Loki::GenLinearHierarchy<Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffFairnessCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffChoiceAwardApprovalRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillsRenewedByActivityRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillsToRenewRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyStaffSelectionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancySubproblemDefinitionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyStoppingCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyOptLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyConstLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SequentialPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::RenewalActivityClassDefinitionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::NumberOfStaffTraversalsRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsChoiceToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsStaffToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsActivityToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsActivityMatchForChoiceRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::GeneralPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::FairshareStoppingCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::FairshareStaffSelectionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::DesiredTimeBeforeExpiryToRenewRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::ConstructionPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::ChoiceComparisonRule, Loki::Typelist<Raw::Legality::TripActivitySkillAllocationLegalityRule, Loki::Typelist<Raw::Legality::TripActivityLegalityRule, Loki::Typelist<Raw::Legality::SkillAllocationTypeLimitsRule, Loki::Typelist<Raw::Legality::IntervalSummarySequenceLegalityRule, Loki::Typelist<Raw::Legality::IntervalSummaryLegalityRule, Loki::Typelist<Raw::Legality::IntervalSummaryCrossSectionLegalityRule, Loki::Typelist<Raw::Legality::DutySequenceLegalityRule, Loki::Typelist<Raw::Legality::DutyLegalityRule, Loki::Typelist<Raw::Legality::DutyCombinationSelectionRule, Loki::Typelist<Raw::Legality::DutyCombinationLegalityRule, Loki::Typelist<Raw::Legality::DutyActivitySequenceLegalityRule, Loki::Typelist<Raw::Legality::DutyActivityLegalityRule, Loki::Typelist<Raw::Legality::DutyActivityCombinationSelectionRule, Loki::Typelist<Raw::Legality::DutyActivityCombinationLegalityRule, Loki::Typelist<Raw::Legality::ActivitySkillAllocationLegalityRule, Loki::Typelist<Raw::Legality::ActivitySequenceLegalityRule, Loki::Typelist<Raw::Legality::ActivityLegalityRule, Loki::Typelist<Raw::Legality::ActivityCombinationSelectionRule, Loki::Typelist<Raw::Legality::ActivityCombinationLegalityRule, Loki::Typelist<Raw::Data::TripActivitySkillAllocationRegisterRule, Loki::Typelist<Raw::Data::TemplateActivitySkillRequirementsRule, Loki::Typelist<Raw::Data::IntvlSummaryCalculateWindowRule, Loki::Typelist<Raw::Data::IntervalSpecifierRule, Loki::Typelist<Raw::Data::DutyActivityExternalizeRule, Loki::Typelist<Raw::Data::AllocationStageTransitionRule, Loki::Typelist<Raw::Data::AllocationRegisterRule, Loki::Typelist<Raw::Data::ActivityTemplateDutyDateTimesRule, Loki::Typelist<Raw::Data::ActivityStageTransitionRule, Loki::Typelist<Raw::Annotation::RostersAttributesRule, Loki::Typelist<Raw::Annotation::RosterAttributesRule, Loki::Typelist<Raw::Annotation::AllocationAttributesRule, Loki::NullType> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, Raw::CreateByNewOnceAtInit, Raw::AbstractRuleTableFactory> >::Init() (RuleTableFactory.hh:171) ==23094== by 0xF7FB81C: Raw::Initialiser<Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffSkillLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffFairnessCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffChoiceAwardApprovalRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillsRenewedByActivityRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillsToRenewRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyStaffSelectionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancySubproblemDefinitionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyStoppingCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyOptLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyConstLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SequentialPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::RenewalActivityClassDefinitionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::NumberOfStaffTraversalsRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsChoiceToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsStaffToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsActivityToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsActivityMatchForChoiceRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::GeneralPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::FairshareStoppingCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::FairshareStaffSelectionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::DesiredTimeBeforeExpiryToRenewRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::ConstructionPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::ChoiceComparisonRule, Loki::Typelist<Raw::Legality::TripActivitySkillAllocationLegalityRule, Loki::Typelist<Raw::Legality::TripActivityLegalityRule, Loki::Typelist<Raw::Legality::SkillAllocationTypeLimitsRule, Loki::Typelist<Raw::Legality::IntervalSummarySequenceLegalityRule, Loki::Typelist<Raw::Legality::IntervalSummaryLegalityRule, Loki::Typelist<Raw::Legality::IntervalSummaryCrossSectionLegalityRule, Loki::Typelist<Raw::Legality::DutySequenceLegalityRule, Loki::Typelist<Raw::Legality::DutyLegalityRule, Loki::Typelist<Raw::Legality::DutyCombinationSelectionRule, Loki::Typelist<Raw::Legality::DutyCombinationLegalityRule, Loki::Typelist<Raw::Legality::DutyActivitySequenceLegalityRule, Loki::Typelist<Raw::Legality::DutyActivityLegalityRule, Loki::Typelist<Raw::Legality::DutyActivityCombinationSelectionRule, Loki::Typelist<Raw::Legality::DutyActivityCombinationLegalityRule, Loki::Typelist<Raw::Legality::ActivitySkillAllocationLegalityRule, Loki::Typelist<Raw::Legality::ActivitySequenceLegalityRule, Loki::Typelist<Raw::Legality::ActivityLegalityRule, Loki::Typelist<Raw::Legality::ActivityCombinationSelectionRule, Loki::Typelist<Raw::Legality::ActivityCombinationLegalityRule, Loki::Typelist<Raw::Data::TripActivitySkillAllocationRegisterRule, Loki::Typelist<Raw::Data::TemplateActivitySkillRequirementsRule, Loki::Typelist<Raw::Data::IntvlSummaryCalculateWindowRule, Loki::Typelist<Raw::Data::IntervalSpecifierRule, Loki::Typelist<Raw::Data::DutyActivityExternalizeRule, Loki::Typelist<Raw::Data::AllocationStageTransitionRule, Loki::Typelist<Raw::Data::AllocationRegisterRule, Loki::Typelist<Raw::Data::ActivityTemplateDutyDateTimesRule, Loki::Typelist<Raw::Data::ActivityStageTransitionRule, Loki::Typelist<Raw::Annotation::RostersAttributesRule, Loki::Typelist<Raw::Annotation::RosterAttributesRule, Loki::Typelist<Raw::Annotation::AllocationAttributesRule, Loki::NullType> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, Raw::CreateByNewOnceAtInit, Raw::AbstractRuleTableFactory>::Init(Loki::GenLinearHierarchy<Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffSkillLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffFairnessC ==23094== by 0xF7FB854: Raw::Initialiser<Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffTraversalDeallocationsRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffSkillLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffFairnessCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffChoiceAwardApprovalRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillsRenewedByActivityRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillsToRenewRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyStaffSelectionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancySubproblemDefinitionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyStoppingCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyOptLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SkillVacancyConstLessThanRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::SequentialPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::RenewalActivityClassDefinitionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::NumberOfStaffTraversalsRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsChoiceToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsStaffToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsActivityToProcessRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::IsActivityMatchForChoiceRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::GeneralPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::FairshareStoppingCriteriaRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::FairshareStaffSelectionRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::DesiredTimeBeforeExpiryToRenewRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::ConstructionPropertiesRule, Loki::Typelist<Raw::SolverBehaviour::CamSharp::ChoiceComparisonRule, Loki::Typelist<Raw::Legality::TripActivitySkillAllocationLegalityRule, Loki::Typelist<Raw::Legality::TripActivityLegalityRule, Loki::Typelist<Raw::Legality::SkillAllocationTypeLimitsRule, Loki::Typelist<Raw::Legality::IntervalSummarySequenceLegalityRule, Loki::Typelist<Raw::Legality::IntervalSummaryLegalityRule, Loki::Typelist<Raw::Legality::IntervalSummaryCrossSectionLegalityRule, Loki::Typelist<Raw::Legality::DutySequenceLegalityRule, Loki::Typelist<Raw::Legality::DutyLegalityRule, Loki::Typelist<Raw::Legality::DutyCombinationSelectionRule, Loki::Typelist<Raw::Legality::DutyCombinationLegalityRule, Loki::Typelist<Raw::Legality::DutyActivitySequenceLegalityRule, Loki::Typelist<Raw::Legality::DutyActivityLegalityRule, Loki::Typelist<Raw::Legality::DutyActivityCombinationSelectionRule, Loki::Typelist<Raw::Legality::DutyActivityCombinationLegalityRule, Loki::Typelist<Raw::Legality::ActivitySkillAllocationLegalityRule, Loki::Typelist<Raw::Legality::ActivitySequenceLegalityRule, Loki::Typelist<Raw::Legality::ActivityLegalityRule, Loki::Typelist<Raw::Legality::ActivityCombinationSelectionRule, Loki::Typelist<Raw::Legality::ActivityCombinationLegalityRule, Loki::Typelist<Raw::Data::TripActivitySkillAllocationRegisterRule, Loki::Typelist<Raw::Data::TemplateActivitySkillRequirementsRule, Loki::Typelist<Raw::Data::IntvlSummaryCalculateWindowRule, Loki::Typelist<Raw::Data::IntervalSpecifierRule, Loki::Typelist<Raw::Data::DutyActivityExternalizeRule, Loki::Typelist<Raw::Data::AllocationStageTransitionRule, Loki::Typelist<Raw::Data::AllocationRegisterRule, Loki::Typelist<Raw::Data::ActivityTemplateDutyDateTimesRule, Loki::Typelist<Raw::Data::ActivityStageTransitionRule, Loki::Typelist<Raw::Annotation::RostersAttributesRule, Loki::Typelist<Raw::Annotation::RosterAttributesRule, Loki::Typelist<Raw::Annotation::AllocationAttributesRule, Loki::NullType> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, Raw::CreateByNewOnceAtInit, Raw::AbstractRuleTableFactory>::Init(Loki::GenLinearHierarchy<Loki::Typelist<Raw::SolverBehaviour::CamSharp::StaffTraversalDeallocationsRule, Loki::Typelist<Raw::SolverBehaviour:
(In reply to comment #4) > Maybe this will be more helpful. Please .. can you post the _complete_ output rather than the part you _think_ is relevant -- comment #4 looks like a smaller part of a bigger log.
Created attachment 38534 [details] Helgrind crash log
I can guess what's going on here, but I'd need more info. Does Memcheck report any invalid memory accesses on this program? Can you post its output?
Created attachment 38535 [details] Memcheck log
Well, my guess is that Valgrind is crashing in the C++ name demangler, as a result of these incredibly long symbol names. So it's a problem in the Valgrind core, nothing specifically to do with Helgrind. That's only a guess though. Without a repro case this is going to be hard to fix. One approach is to write a condensed C++ test case that generates symbols with the very long names listed in comment #4, and see if that can be made to crash Helgrind.
Thanks. Sounds like a good guess. I'll give it a go and let you know.
Julian, I've tried unsuccessfully so far to reproduce this crash on a small example. I did however did a run on a different machine which gave me a bit more info and a backtrace that might be more helpful. Please see attached. Also, my program is loading objects and functions at run time. Could that be of an issue with 3.5.0?
Created attachment 39802 [details] New helgrind log with backtrace.
I suggest 2 things: 1. make sure the program runs without any errors with --tool=memcheck. If you see errors, especially invalid writes, fix them. 2. try with --demangle=no
Setting to NEEDSINFO/WAITINGFORINFO. I'd like to fix this, but you'll need to supply a small self contained program that I can use to reproduce the problem here.
No Information for the last 15 days as per: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging#Policies Fanis
Closing as Worksforme due to inactivity for more than 15 days as per: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging#Policies Fanis
Please don't apply KDE policies to non-KDE packages.