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 _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice