D23344: assert slave command finality
Harald Sitter
noreply at phabricator.kde.org
Thu Aug 22 12:19:48 BST 2019
sitter created this revision.
sitter added a reviewer: dfaure.
Herald added a project: Frameworks.
Herald added a subscriber: kde-frameworks-devel.
sitter requested review of this revision.
REVISION SUMMARY
this changes existing qwarnings in state verification logic to be assertive
in order to crash misbehaving slaves so git users can report bugs about
them and we can fix them.
release builds are not affected and will continue to not crash albeit
without warnings. I am not sure it's worth the effort to assert and qwarn.
additionally when no finality was expected we no longer verify this after
the fact but instead at the time finished/error gets called. this, combined
with the assert aborting, has the advantage that we'll see the actual
call chain that resulted in the unexpected finality call. it's still not
ideal since we'd also want to know the previous caller but unfortunately
we have no way to get that reliable (e.g. backtrace() is woefully incapable
of resolving symbols from the slave - probably because it is a module).
lastly, force a misbehaving slave into finished state when it
should have been finished or error'd but didn't. this prevents slaves
getting stuck ad infinitum on account of them not finshing.
TEST PLAN
misehaving ftp slave now crashes
REPOSITORY
R241 KIO
BRANCH
master
REVISION DETAIL
https://phabricator.kde.org/D23344
AFFECTED FILES
src/core/slavebase.cpp
To: sitter, dfaure
Cc: kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20190822/c3118825/attachment.html>
More information about the Kde-frameworks-devel
mailing list