Issue 102237 - Extension update fails [registry database corruption?]
Summary: Extension update fails [registry database corruption?]
Status: CONFIRMED
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: OOo 3.0.1
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords: needmoreinfo, oooqa
: 106299 (view as issue list)
Depends on:
Blocks:
 
Reported: 2009-05-25 21:28 UTC by milek_pl
Modified: 2013-01-29 21:43 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Error message (139.13 KB, image/png)
2009-05-25 21:28 UTC, milek_pl
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description milek_pl 2009-05-25 21:28:06 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).
Comment 1 milek_pl 2009-05-25 21:28:53 UTC
Created attachment 62515 [details]
Error message
Comment 2 Olaf Felka 2009-05-26 07:11:56 UTC
What do I need to reproduce? What OS? I've tested on my Vista box: no problem. 
Comment 3 hennerdrewes 2009-05-26 07:32:26 UTC
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?
Comment 4 Olaf Felka 2009-05-26 07:57:08 UTC
That's been my first thought too.
Comment 5 milek_pl 2009-05-26 11:02:16 UTC
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?
Comment 6 milek_pl 2009-05-26 11:05:29 UTC
@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.
Comment 7 Olaf Felka 2009-05-26 12:08:53 UTC
Could this be caused by other extensions that are installed parallel?
Comment 8 milek_pl 2009-05-26 13:27:52 UTC
@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?
Comment 9 milek_pl 2009-05-26 14:22:54 UTC
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.
Comment 10 Mechtilde 2009-07-12 17:37:26 UTC
does it work now?
Comment 11 milek_pl 2009-07-13 21:57:13 UTC
@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.
Comment 12 michael.ruess 2009-10-27 13:55:09 UTC
*** Issue 106299 has been marked as a duplicate of this issue. ***