disable bug report when there are signs of an update

Authored by sitter on Oct 28 2019, 12:23 PM.


disable bug report when there are signs of an update

this actually improves UX more than anything. when there was an update it
is fairly impossible to install debug symbols, so drkonqi may get stuck in
a loop between saying this crash is garbage and suggesting the user install
some more symbols. what's more is that the crash can be the result
of incompatibilities in runtime-loaded plugins (a notorious example are
KIO slaves, which get forked from klauncher which I think can lead
to problems when loading the newer libQt5Core.so etc.).

all in all crashes coming from a half-update runtime are hard to trace
and also at risk of being worthless. so, instead disable the report and
the install symbols features and inform the user about what
went wrong in both cases.

this is pretty much exclusively working for linux where the kernel will
actually add " (deleted)" hints to all symlinks in procfs and have a
map_files directory where all mmap'd regions are symlinked to their
respective paths... also with that suffix as needed.

the way it works is super easy: iter all map_files, get all deleted paths,
make sure none of the .so or the executable itself are marked deleted.
if anything is marked deleted, the report feature gets disabled

Test Plan: update dolphin -> attach drkonqi -> drkonqi whines about dolphin being updated

Reviewers: Plasma, apol

Reviewed By: apol

Subscribers: apol, plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D25002


sitterNov 5 2019, 11:39 AM
Differential Revision
D25002: disable bug report when there are signs of an update
R871:5599273fd5ad: Add KDEClangFormat cmake support