Closed Bug 596607 Opened 14 years ago Closed 14 years ago

Broken extension registrations in the windows registry causes the extension manager to fail

Categories

(Toolkit :: Add-ons Manager, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla2.0b7
Tracking Status
blocking2.0 --- beta7+

People

(Reporter: martin.herok, Assigned: mossop)

References

Details

(Whiteboard: [AOMTestday][in-litmus-bug-week])

Attachments

(5 files)

User-Agent:       Mozilla/5.0 (Windows NT 5.1; rv:2.0b7pre) Gecko/20100914 Firefox/4.0b7pre
Build Identifier: Mozilla/5.0 (Windows NT 5.1; rv:2.0b7pre) Gecko/20100914 Firefox/4.0b7pre



Reproducible: Always

Steps to Reproduce:
1. Install Firefox with new profile
2. Open a xpi-file from HDD
Actual Results:  
Error pop-up with "This add-on could not be installed because it appears to be corrupt" appears.


Bug appeared betweeen the following changesets:

http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=c59be8574f7a&tochange=fa6c83c1a10e

I´ve attached the extensions.log from my new profile with additional error messages that appear.
Version: unspecified → Trunk
Attached file extensions.log
regression from bug 533038 ?
Component: General → Add-ons Manager
Product: Firefox → Toolkit
QA Contact: general → add-ons.manager
Which extension are you trying to install? Or are multiple or all extensions involved here?
I've installed extensions from my hard drive fine. Does this happen with all extensions? Are extensions installed from the internet fine? Does this happen in a clean profile?
(In reply to comment #4)
> Does this happen
> in a clean profile?
Nevermind looks like you've answered that. It would be good to know what sort of extensions this happens with and if installing from the network matters.
Initally I tried it with noscript 2.0.3.

But I´ve just tested it with 3 random add-ons (flashgot, firebug, greasemonkey) via internet and harddrive and I always get the same error.
I've tested Adblock Plus (latest dev build) and NoScript 2.0.3.1rc2 on Windows 7. There were no apparent problems. Is there anything unusual about your system?
I´m using a lifebook e8420 with xp sp3 and Intel GMA 4500. I don´t think that there is otherwise anything unusual about my system.
But another user reported this in the Win32 20100915 Trunk build post, also using xp sp3.
I can reproduce on my laptop running Windows XP SP2 with Intel GMA 965. Also to note I have layers-all set to false due to performance reasons.
Can confirm here on Win7 x64 Ultimate (german) with both latest x86 and x64 nigthly builds (different profiles). System is an Intel i7-920, 6 GB RAM, nVidia Geforce 260GTX.

With an existing profile from 4.0b6pre previous addons are still listed. installation of new ones looks ok but after restart they aren't listed. The xpi resides in the proper folder. Also updates for addons (ABP dev version) are loaded, request restart but after restart they are still in old state and update check reloads it again and again. Under "Appearance" it still shows "Standard 4.0b6pre" theme, incompatible with 4.0b7pre.

With a new profile addon manager is completely empty. Even "Plugins" is empty but i.e. flash works. Every new addon or language pack installation says corrupt and installation isn't possible, neither from a website nor from hard disk.

Can't tell the day when behaviour changed because there was a large gap of several days without builds in german localised x86 builds and in x64 build (I'm using it with de language pack) at all.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100915 Firefox/4.0b7pre
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b7pre) Gecko/20100915 Firefox/4.0b7pre
When I install the latest hourly with a clean profile and the browser for the first time, I see the following errors in the extension.log in my profile folder.
Attachment #475796 - Attachment mime type: application/octet-stream → text/plain
The logs here seem to suggest a file in the filesystem that doesn't exist. That doesn't make a lot of sense. What is in the extensions directory of your profile and the Firefox installation directory? The output of a dir command in those places might be helpful.
Error: ERROR addons.xpi: Error creating statement getVisibleAddons_2 (SELECT * FROM addon WHERE visible=1 AND type IN (?1,?2))

Error: ERROR addons.manager: Exception calling provider.getAddonsByTypes: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: resource://gre/modules/XPIProvider.jsm :: XPIDB_getStatement :: line 3128" data: no]
getting this while try to open add on mangers Extensions.
(In reply to comment #12)
> The logs here seem to suggest a file in the filesystem that doesn't exist. That
> doesn't make a lot of sense. What is in the extensions directory of your
> profile and the Firefox installation directory? The output of a dir command in
> those places might be helpful.

I'm getting the same errors as seen above.

Profile is located at:
C:\Documents and Settings\Peter\Application Data\Mozilla\Firefox\Profiles\BlueFyre\

extensions folder is empty

Firefox is located at:
D:\Programs\Firefox

Hope this helps
Since I tried it with a fresh installation and a clean profile there is no extensions folder in my profile and I attached the content of the firefox and profile folder.

It is possible that the culprit for this behavior is a add-on that isn´t installed in the profile folder like for example mcafee siteadvisor or microsoft framework assistant? I found entries for this two "add-ons" I didn´t install or use in the registry.
(In reply to comment #15)
> It is possible that the culprit for this behavior is a add-on that isn´t
> installed in the profile folder like for example mcafee siteadvisor or
> microsoft framework assistant? I found entries for this two "add-ons" I didn´t
> install or use in the registry.

It's certainly plausible. I haven't been able to reproduce it but I use relatively clean windows VMs without any registry installed addons.
Yeah I think I have just figured out what is going on. You likely have an extension registered in the windows registry that no longer exists on disk, this is a regression from bug 533038.Verifying that this is case for you would help me know that the problem I'm seeing is this one. If you open the windows registry editor and look in HKEY_CURRENT_USER\Software\Mozilla\Firefox\Extensions or HKEY_LOCAL_MACHINE\Software\Mozilla\Firefox\Extensions there should be an extension listed against a directory that doesn't exist.
Blocks: packedxpi
Status: UNCONFIRMED → NEW
Ever confirmed: true
This leaves the extension manager in such a broken state that we need to block b7 on it
blocking2.0: --- → beta7+
As Dave and I suspected it´t the missing registry extension. After I deleted the entries for siteadvisor and restarted the notebook, I don´t find any errors in the extension.log and the installation of new add-on does function without a problem.
Attached patch patch rev 1Splinter Review
There are two problems that this patch addresses. The basic problem is that we aren't ignoring registry entries that point to non-existent files. The fix for that is straightforward and tested.

The other problem is that we currently wrap both the database schema creation and the addition of the initial data to the database in a single overall transaction. This means that if the data import fails the schema creation gets rolled back too leaving us with an empty database and no good way to spot that on the next run. The fix is to pull the schema creation out where it runs in its own transaction. If that goes wrong things are pretty messed up and it is unclear how we would even solve that problem so for now it just deletes the database. If the data import goes wrong though we still have a database with a valid schema so the extension manager is usable to a certain extent and subsequent restarts will attempt to re-import the data. Having done this before would have lessened the impact of the registry bug.
Assignee: nobody → dtownsend
Status: NEW → ASSIGNED
Attachment #476321 - Flags: review?(robert.bugzilla)
Summary: Can´t install an add-on (add-on appears to be corrupt) → Broken extension registrations in the windows registry causes the extension manager to fail
Attachment #476321 - Flags: review?(robert.bugzilla) → review+
Attached patch importable patchSplinter Review
Great catch. Here it really was an old entry in the registry. First I would write it doesn't work but I took a second look: On x64 windows one has to check

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Firefox\Extensions

too in addition to the both mentioned above! And there was the broken extension entry. Deleted and AOM working again, thx!
http://hg.mozilla.org/mozilla-central/rev/bb235f96b9af
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b7
Dave, what about manual tests? I would tend to say we don't need ones...
Flags: in-testsuite+
Flags: in-litmus?
Whiteboard: [AOMTestday]
The automated test should cover this well enough I believe.
Flags: in-litmus? → in-litmus-
Verified fixed with Mozilla/5.0 (Windows NT 5.1; rv:2.0b7pre) Gecko/20100918 Firefox/4.0b7pre
Status: RESOLVED → VERIFIED
Whiteboard: [AOMTestday] → [AOMTestday][in-litmus-bug-week]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: