[Differential] [Commented On] D2545: Cleanup KSharedUiServerProxy before qApp exists
thiago (Thiago Macieira)
noreply at phabricator.kde.org
Fri Dec 16 00:29:30 UTC 2016
thiago added a comment.
In https://phabricator.kde.org/D2545#69083, @kfunk wrote:
> > Here's the other problem: it's possible for threads to simply disappear on Windows. Given that I see "dllmain" in the backtrace (though not DllMain), I can't rule out that this has happened. Qt 5.6 has a workaround to another deadlock caused by Windows. Can you try to cherry-pick 3ec57107cedb154f256e3ad001ea5475cc64fa94 from 5.8?
>
> With 3ec57107cedb154f256e3ad001ea5475cc64fa94 applied: Still dead-locking, same backtrace.
Ok, so I guess this was a different, but similar issue, that got fixed by that commit.
The root cause is that at some point during the process shut down (after ExitProcess is called), the Windows runtime kills all other threads, without giving them a chance to clean up. Because of that, when static destructors run, the other threads are no longer running, even though the objects that managed them (QThread) says they are. The application is in an inconsistent state.
BRANCH
master
REVISION DETAIL
https://phabricator.kde.org/D2545
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: kfunk, vonreth, dfaure
Cc: thiago, albertvaka, mutlaqja, arrowdodger, #frameworks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20161216/26082f7c/attachment.html>
More information about the Kde-frameworks-devel
mailing list