[GSOC] Tiled Rendering, ahunt, Weekly Report 09 / WK29

Andrzej Hunt andrzej at ahunt.org
Mon Jul 21 05:14:13 PDT 2014

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
** 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 mailing list