Apache OpenOffice (AOO) Bugzilla – Issue 102237
Extension update fails [registry database corruption?]
Last modified: 2013-01-29 21:43:22 UTC
If you check for updates using the Extension Manager dialog box, a new version will be downloaded and unpacked into uno_packages under your home directory, but installing is impossible. First, a dialog window displays a message that Addons.xcu was not found in a directory (and this directory really doesn't exist in the first place), then a message about file opening, and then, ironically, a message that there were no errors. Note that the same sequence of dialog boxes is displayed when you update the extension manually, only this time the new version is installed anyway. I haven't found any error when installing for all users. To replicate: 1. Download LanguageTool 0.9.8 from http://www.languagetool.org/download/LanguageTool-0.9.8.oxt 2. Install it into OOo 3.0.1 or 3.1. 3. In the Extension Manager, check the updates, agree to update LT. The above-mentioned sequence appears. Note: it doesn't show on some systems, and I cannot actually see the pattern here. Usernames don't include non-ASCII chars, and otherwise all extension installing goes fine. But the bug does show on some systems (I've got reports from our users).
Created attachment 62515 [details] Error message
What do I need to reproduce? What OS? I've tested on my Vista box: no problem.
I also could not update LanguageTool 0.9.8 to 0.9.9. OOo 3.1 on Vista Sp1. Maybe a problem with the extension?
That's been my first thought too.
If it's a problem with our extension, then why would it work correctly in the first place? If something's wrong with it, OOo should consistently reject the attempt to update, so it's still a bug in OOo, as the behavior should be consistent. Anyway, do you have any ideas what could create such inconsistent behavior in our extension? And why installing for all users creates no problems?
@os: The cases where the problem appears are Windows XP Sp3 and kubuntu. Add Vista Sp1. On the other hand, I had no problems under Ubuntu and Suse.
Could this be caused by other extensions that are installed parallel?
@of: I've got four default dictionary extensions, a template extension pack, and Anaphraseus. I added the same ones to my Ubuntu install and still no problem with updating LT from 0.9.8 to 0.9.9. Note: the error shows a non-existing directory after the new version is downloaded. It seems as if OOo was trying looking for the new version to install it, but cannot find it. Maybe something garbles the name of the internal directory under uno_packages?
I think I found something that might help: in registered_packages.db I already have info about previously installed versions of LanguageTool and they include 0.9.9 (I installed it for testing). Now, the list starts with 0.9.8 and a proper path, but there's also 0.9.9 on the list with a long-dead directory (I removed 0.9.9, and that caused the directory to be deleted). The error message I see points to the non-existing directory of LanguageTool 0.9.9. This suggests that: either (a) registered_packages.db is not properly updated; or (b) the info from registered_packages.db should not be queried for 0.9.9 (the version to be installed) but for 0.9.8 (the currently installed version, which is the first one on the list). I compared registered_packages.db (manually, as berkeley db refused to open it) with the one I got under Ubuntu and I found out that probably (a) is true under some conditions. It's not enough to uninstall 0.9.9 and install 0.9.8, and then try to update to get an error - this doesn't happen, so it's not universally occurring.
does it work now?
@mechtilde: no, it doesn't. I think that the problem is that registered_packages.db gets garbled after some time (or on installation errors). I couldn't yet replicate the conditions that trigger the garbling :( It's definitely not related to LanguageTool at all, as LT has no control over installation mechanisms in OOo. Removing the misleading keyword from the bug summary.
*** Issue 106299 has been marked as a duplicate of this issue. ***