Hi All,
* Dug into LoadEnv exceptions happening on some machines (took 2 or so
days to get to the bottom of, as I was getting different errors
depending on whether this was a first or later run in gdb -- I think
that was just the config generation being problematic too, and
confusing me).
** Turns out this is due to leftover lockfiles:
*** Loading a locked file via LOK fails: LO would usually try to ask
for confirmation of whether you want to ignore the lock-file, or
open it read-only, but the default in headless mode is to cancel any
dialogs -- hence loading fails (but sfx2 seems to catch/pass/hide
exceptions over multiple layers -- there is some additional logging
I could add here to help -- we'll want this anyway for LOK in
general I think).
*** And we're reusing the file from another unit test -- which seems to
commonly result in leftover lockfiles (at least on some dev machines
and TBs).
*** Hence for now: we just force removal of the lockfile until a better
solution is found within LOK.
* Disabled the LOK tiledrendering test since it still seems to fail on
some TBs and we sometimes get only very useless debug output -- even
with the delete-the-lockfile hack above, can probably reenable (even
if only temporarily) once more debugging output available.
(The failures all seem to happen in documentLoad.)
* Reintegrated soffice_main (still on a branch, could probably use some
review at some point):
** This causes images in impress and calc to be rendered (no-rerendering
etc. necessary -- it just happens).
** Added some detection of when Desktop::Main has actually initialised
by using the OfficeIPCThread's conditions (rather than using an ugly
sleep)
** Also some shutdown/restart detection: on the first run, Desktop::Main
will shut down (config preparation/generation/not-quite-sure-what?).
I haven't figured out if there's any way we could just restart it,
but at least LOK fails cleanly now. (Simply restarting soffice_main
in this case doesn't work as there appears to be leftover state etc.
in the config manager)
* For the LOK unit test:
** Unit tests start with completely clean config/user profile.
** Means that the unit test will fail since first run simply fails.
** Hence implemented a lokconf_init binary -- which simply inits
LOK once -- currently working on integrating this into gbuild
to have something along the lines of gb_Cpppunit_pregenerate_config
which will pre-generate the necessary files for such unit tests.
** (Chances are any unit tests using LOK would each need to be
completely independent anyway, then again it would be nice if we
were still able to re-initialise LOK multiple times within the same
process -- will try to investigate this.)
Cheers,
Andrzej
Context
- [GSOC] Tiled Rendering, ahunt, Weekly Report 09 / WK29 · Andrzej Hunt
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.