Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


On 23.01.2018 09:18, Miklos Vajna wrote:
I've added UITest_writerperfect_epubexport a while ago, and while I did
not see it hanging in the recent past, both Noel and Stephan run into
a hang of it from time to time.

The code is here:

writerperfect/qa/uitest/epubexport/epubexport.py

The backtrace always looks like this:
self.ui_test.execute_blocking_action() gets an UNO method where invoking
it opens a dialog and the python method also gets a callback. When the
hang happens, then it seems the problem is that the Python thread waits
for the dialog to be closed, but in fact it's already closed, so it
waits forever joining the python thread.

I don't think there is anything really special in this test, rather I
guess the problem happens here more frequently (than elsewhere) because
normally these dialogs are invoked via UNO commands, where we just
execute the UNO command, wait for the dialog to appear then work with
it. (I did not look at the implementation, perhaps in this case there is
no Python thread involved?)

So I wonder -- do you think it would be possible or would make sense to
have a way similar to self.xUITest.executeCommand (execute a blocking
command async), but for UNO methods that open a dialog? I.e. also
similar to self.ui_test.execute_blocking_action, but without an actual
callback.

Perhaps that would be a fix for these strange hangs.

Is anything blocking this? <https://ci.libreoffice.org/job/lo_gerrit/26790/Config=linux_clang_dbgutil_64/console> is yet another hung Gerrit/Jenkins build that might or might not be caused by this issue.

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.