| Summary: | Heaptrack analysis keeps firing /usr/bin/plasmoidviewer | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | maxime.haselbauer |
| Component: | Plugin: Heaptrack | Assignee: | kdevelop-bugs-null |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | anton, petross404, rasasi78 |
| Priority: | NOR | ||
| Version First Reported In: | 5.2.3 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/kde/kdevelop/commit/7fd559bba4b6d401667a1b3f75d5e3e205986480 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
maxime.haselbauer
2018-01-16 16:30:35 UTC
Haven't had the time to go deeper into this, but I was trying to heaptrack my native C application and in the debugging of the heaptrack plugin crash what I found this code path: In Plugin::launchHeaptrack auto heaptrackJob = new Job(defaultLaunch); In Job::Job(KDevelop::ILaunchConfiguration* launchConfig) : m_pid(-1) m_analyzedExecutable = iface->executable(launchConfig, errorString).toLocalFile(); With GDB by single stepping into this latter iface->executable I got into the "QUrl ExecutePlasmoidPlugin::executable(ILaunchConfiguration* config, QString& /*error*/) const" function (in ./plugins/executeplasmoid/executeplasmoidplugin.cpp:58) I guess this was not the correct function to call this time, I would have rather expected to go into "QUrl ExecutePlugin::executable( ... )". Therefore the executable name was empty and the plugin somehow crashed in the Job destructor. Find below the relevant launch configuration: [Launch][Launch Configuration 0] Configured Launch Modes=execute Configured Launchers=nativeAppLauncher Name=cim Type=Native Application [Launch][Launch Configuration 0][Data] Arguments= Debugger Shell= Dependencies=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x03\x00\x00\x00"\x00C\x00I\x00V\x00I\x00A\x00_\x00R\x00S\x004\x008\x005\x00_\x00L\x00i\x00n\x00u\x00x\x00\x00\x00\x06\x00s\x00r\x00c\x00\x00\x00\x12\x00c\x00i\x00v\x00i\x00a\x00_\x00c\x00i\x00m) Dependency Action=Build Display Demangle Names=true Display Static Members=false EnvironmentGroup= Executable=file:///home/user/cim External Terminal=konsole --noclose --workdir %workdir -e %exe GDB Path= Project Target=cim,src,cim Remote GDB Config Script= Remote GDB Run Script= Remote GDB Shell Script= Start With=ApplicationOutput Use External Terminal=false Working Directory= isExecutable=false KDevelop 5.3 is already released an I am facing the same issue. Any news? Git commit 7fd559bba4b6d401667a1b3f75d5e3e205986480 by Gleb Popov, on behalf of Anton Anikin. Committed on 24/01/2019 at 16:54. Pushed by arrowdodger into branch 'master'. Fix bug 389060 (Heaptrack analysis keeps firing /usr/bin/plasmoidviewer) Summary: Old version has wrong logic - we should always use "kdevexecute" plugin instead any IExecutePlugin instance. New version also checks launch configuration type and starts analysis only for native applications. Reviewers: #kdevelop, mwolff Reviewed By: #kdevelop, mwolff Subscribers: mwolff, arrowd, kfunk, kossebau, kdevelop-devel Tags: #kdevelop Differential Revision: https://phabricator.kde.org/D15565 M +6 -10 plugins/heaptrack/job.cpp M +3 -5 plugins/heaptrack/job.h M +1 -1 plugins/heaptrack/kdevheaptrack.json M +30 -9 plugins/heaptrack/plugin.cpp https://invent.kde.org/kde/kdevelop/commit/7fd559bba4b6d401667a1b3f75d5e3e205986480 |