Possible fix to Windows timeouts in CI - rebase on master recommended
mikekaganski at hotmail.com
Sat Mar 6 16:41:28 UTC 2021
During last several months, I had experienced local 'make check' builds
hangs on Windows, and debugging showed that the problem was a deadlock
between a clipboard COM object being deleted on main thread and waiting
for the clipboard MTA thread, and the clipboard thread waiting for main
thread to process some event (unfortunately, I have no sample stack
trace at hand). That was intermittent, but often enough to be annoying;
however, that was not affecting CI much as far as I could see.
But during last several days, I saw many Windows builds timed out, and I
suspected that this might be the same underlying issue (unfortunately,
CI does not provide the backtrace for timed out Windows builds). I
suppose that this is not prevented by Noel's nice patch
https://gerrit.libreoffice.org/c/core/+/111498, because IIUC it only
prevented writing/reading system clipboard when performing
clipboard-related tests, not listening to clipboard changes.
The problem could get worsened by
https://gerrit.libreoffice.org/c/core/+/111825, which made sure that the
COM object was created each time, when previously many such events could
result in failed clipboard opening, and thus skipped COM object creation.
So I attempted to address the underlying issue with
https://gerrit.libreoffice.org/c/core/+/112044, to not create COM
clipboard objects in response to "clipboard changed" event (and only
create those when actually pasting from system clipboard).
The bottom line is: the said patch is merged now, and you might want to
rebase to see if the timeouts will go.
More information about the LibreOffice