[GSOC] Tiled Rendering, ahunt, Weekly Report 09 / WK29
andrzej at ahunt.org
Mon Jul 21 05:14:13 PDT 2014
* 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
** 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
*** 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
** 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.)
More information about the LibreOffice