<table><tr><td style="">sitter created this revision.<br />sitter added a reviewer: Plasma.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />sitter requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D25002">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>this actually improves UX more than anything. when there was an update it<br />
is fairly impossible to install debug symbols, so drkonqi may get stuck in<br />
a loop between saying this crash is garbage and suggesting the user install<br />
some more symbols. what's more is that the crash can be the result<br />
of incompatibilities in runtime-loaded plugins (a notorious example are<br />
KIO slaves, which get forked from klauncher which I think can lead<br />
to problems when loading the newer libQt5Core.so etc.).</p>
<p>all in all crashes coming from a half-update runtime are hard to trace<br />
and also at risk of being worthless. so, instead disable the report and<br />
the install symbols features and inform the user about what<br />
went wrong in both cases.</p>
<p>this is pretty much exclusively working for linux where the kernel will<br />
actually add " (deleted)" hints to all symlinks in procfs and have a<br />
map_files directory where all mmap'd regions are symlinked to their<br />
respective paths... also with that suffix as needed.</p>
<p>the way it works is super easy: iter all map_files, get all deleted paths,<br />
make sure none of the .so or the executable itself are marked deleted.<br />
if anything is marked deleted, the report feature gets disabled</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>update dolphin -> attach drkonqi -> drkonqi whines about dolphin being updated</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R871 DrKonqi</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D25002">https://phabricator.kde.org/D25002</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/backtracewidget.cpp<br />
src/crashedapplication.cpp<br />
src/crashedapplication.h<br />
src/drkonqibackends.cpp<br />
src/drkonqidialog.cpp</div></div></div><br /><div><strong>To: </strong>sitter, Plasma<br /><strong>Cc: </strong>plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>