Closed Bug 606861 Opened 15 years ago Closed 13 years ago

Can't install extensions or themes from Ubuntu profile located on a mounted Windows file system

Categories

(Toolkit :: Add-ons Manager, defect)

1.9.2 Branch
x86_64
Linux
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bj, Unassigned)

References

()

Details

(Whiteboard: [gs])

Attachments

(2 files)

User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.11) Gecko/20101013 Ubuntu/10.04 (lucid) Firefox/3.6.11 ( .NET CLR 3.5.30729; .NET4.0C) Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.11) Gecko/20101013 Ubuntu/10.04 (lucid) Firefox/3.6.11 ( .NET CLR 3.5.30729; .NET4.0C) I have a laptop dual-booted between Windows 7 and Ubuntu 10.4 with Firefox 3.6.11 installed. The Windows 7 file system is mounted from Ubuntu. When a Firefox profile is created on the mounted Windows 7 file system almost everything works: browsing, bookmarks, saving about:config settings, keeping track of visited links. The only failure: Firefox on Ubuntu can not install extensions. I can't install any extensions or standard themes, but Personas can be installed. This is not a new problem with 3.6.11, this problem has existed for several releases. This was first noticed in a profile shared between Windows 7 and Ubuntu, but the problem still exists when I create a new profile with Ubuntu -- the problem exists with the profile without touching the profile with Windows 7 (it is exhibited even before rebooting). The only new information obtained with the shared profile is that extensions installed in the profile from Windows 7 can be removed from Ubuntu. The extension installation process appears normal, and Firefox says: Install Complete Restart Firefox to complete your changes. At this point files are present in the extensions directory in the profile. That directory contains a new directory for the extension and a "staged-xpis" directory, with an extension subdirectory under that contining tmp.xpi. Click restart and the files go away -- I believe the extension directory first followed by staged-xpis. There are no errors in the Error Console. I enabled extensions.logging.enabled and no messages show up during the installation process. There is an error if I install a theme. I tired to install Oskar and NASA Night Launch and the error was: could not install the file at...because: Unexpected installation error Review the Error Console log for more details. The Error Console had: Error: [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFile.permissions]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)" location: "JS frame :: file:///usr/lib/firefox-3.6.11/components/nsExtensionManager.js :: safeInstallOperation :: line 1608" data: no] Source File: file:///usr/lib/firefox-3.6.11/components/nsExtensionManager.js Line: 1608 The mount command shows the file system as: /dev/sda3 on /windows type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions) The original file specification for the profile contained spaces so I tried using file specifications that don't contain spaces, that had no effect. I also create a profile with spaces on the Windows disk and that worked without problem. Reproducible: Always Steps to Reproduce: 1. Install Windows 7 and Ubuntu dual-boot. Install Firefox 3.6.11. 2. Mount a Windows 7 file system on Ubuntu. 3. Create a new Firefox profile specifying the directory location on the mounted Windows 7 files system. 4. Use the profile, everything works normally. 5. Install an extension or theme. 6. Restart Firefox to complete the installation. Actual Results: No extension or theme is installed. Expected Results: The extension should be installed.
Summary: Can't install extensions or themes from Ubuntu on a mounted Windows file system → Can't install extensions or themes from Ubuntu profile located on a mounted Windows file system
I created a FAT32 partition, placed a Firefox profile on it, and the same situation occurs. Why does Windows 7 Firefox able to install extensions for these file systems, but Ubuntu Firefox can't?
Hi, I have/had the same problem. However, I knew that I didn't have this issue before a clean installation of Ubuntu 10.10 (the upgrade to 10.10 didn't have it). However, this time I let Ubuntu itself add my NTFS-partition to fstab and I compared it to the earlier entry and one of the differences was that "umask=007,gid=xxx" was added. After removing this (I guess mainly the umask) I am able to install and remove extensions again. For some reason Firefox seems to require the "others" permission to be set to allow read,write,execute (or maybe only read or something like this, I didn't do further testing). The gid was the one for plugdev and my user was in it, so the group permissions should have been enough (obviously as everything else in Firefox and other applications I share the profile was stored).
Thanks for the suggestion, but changing umask doesn't seem to solve my problem. I had been using a vfat file system with umask=0 and no gid. Removing the umask (with or without a gid) does not work -- I do not have permission to modify the file system. Using both umask=0 and gid works in the same manner as without a gid. My current /etc/fstab entry is: /dev/sdaNNN DIRECTORY vfat umask=0,iocharset=iso8859-1,codepage=850 0 0
Status: UNCONFIRMED → NEW
Ever confirmed: true
My fstab entry (for ntfs) looks like this: /dev/sdaXX /media/DIR ntfs defaults 0 0 By default Ubuntu uses /dev/sdXXX DIR ntfs defaults,umask=007,gid=XXX 0 0 I also tried without umask only, did also didn't seem to work btw. But, of course, there could also be a difference between ntfs and fat. Maybe the output of the mount-command (without any paramters) helps too, for me it is: /dev/sdXXX on DIR type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096) Maybe the allow_other could be important to use for vfat?
CCing the maintainer in charge of Firefox in Ubuntu, might be good for him to have that bug on his watchlist.
I don't think the problem is mount options, but I tried allow_other and it wasn't accepted. Mount said: mount: wrong fs type, bad option, bad superblock on /dev/sda9, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so and dmesg said: [ 553.648697] FAT: Unrecognized mount option "allow_other" or missing value The reason I don't expect the issue to be related to mount options is because file operations work both through command line operations on that file system and from Firefox: o I can go to the disk and create, edit, and delete files and directories. o Firefox can create files. It creates files when it starts to install (as I described above), and files are created in the cache with every page hit. o Firefox can delete files. I just cleared the cache to verify Firefox can removed files, and files related to new extensions are also removed when Firefox restarts. o Firefox can modify files. Bookmarks can be added and updated, and file history is maintained.
Normally, I would agree with you but I also could create bookmarks etc. everything Except install and uninstall extensions and now after changing this option I can do so too.. But in any case this is still a bug in Firefox as there is no reason why everything else works but installing doesn't. Regarding allow_other it could be a ntfs "only" option.
Just to confirm when you added the umask=0 did you check if the permissions were correct entering the mount directory and check with "ls -la"?
When using umask=0 the permissions are all drwxrwxrwx (directories) or -rwxrwxrwx (files).
OK. Just wanted to make sure - though of course umask=0 should give you this :) Actually, I have no idea what is different between mine and yours except that I use ntfs and you fat. Maybe you could try to place the profile on a small ntfs partition for testing purposes (if you can "free" some space for it)..?
(In reply to comment #10) > Maybe you could try to place the profile on a small ntfs partition for testing > purposes (if you can "free" some space for it)..? I just tested with an ntfs partition. (Still Ubuntu 10.10.) The fstab entry from the original installation has: UUID=XXX /YYY ntfs defaults,nls=utf8,umask=007,gid=46 0 0 Today I tried these two combinations: UUID=XXX /YYY ntfs defaults,nls=utf8,umask=000,gid=46 0 0 UUID=XXX /YYY ntfs defaults,nls=utf8,umask=000,allow_other,gid=46 0 0 In all three cases I was not able to install an extension.
Try also to remove the "gid=46" for some reason I required umask=000 and to remove that one. Or you could also just try it like this: /dev/sdaXX /media/DIR ntfs defaults 0 0 I know this one works.
Just to add: Removing gid=46 should be equivalent to gid=0 (which means that the group is root).
Btw. that reminds me. When you mounted the vfat filesystem which group were the files and the directories? I am asking because - now that I think about this - it appears that to install extensions in Firefox you are not allowed to use the group-rights but have to use other or user rights which is kinda strange...
Component: Extension Compatibility → Add-ons Manager
Product: Firefox → Toolkit
QA Contact: extension.compatibility → add-ons.manager
Version: unspecified → 1.9.2 Branch
(In reply to comment #12) > Try also to remove the "gid=46" for some reason I required umask=000 and to > remove that one. > > Or you could also just try it like this: > /dev/sdaXX /media/DIR ntfs defaults 0 0 > > I know this one works. OK, some more results -- proving with more detail that I have no idea what is going on. To recap: > I just tested with an ntfs partition. (Still Ubuntu 10.10.) The fstab entry > from the original installation has: > > UUID=XXX /YYY ntfs defaults,nls=utf8,umask=007,gid=46 0 0 > > Today I tried these two combinations: > UUID=XXX /YYY ntfs defaults,nls=utf8,umask=000,gid=46 0 0 > UUID=XXX /YYY ntfs defaults,nls=utf8,umask=000,allow_other,gid=46 0 0 > > In all three cases I was not able to install an extension. Today I tried four cases: # with this I could not read the mounted disk: UUID=XXX /YYY ntfs defaults,nls=utf8,umask=007 0 0 # could read disk, but couldn't install: UUID=XXX /YYY ntfs defaults,nls=utf8,umask=000 0 0 # these two allowed installation of extensions: UUID=XXX /YYY ntfs defaults,nls=utf8 0 0 UUID=XXX /YYY ntfs defaults 0 0 Note: gid=46 is the Ubuntu plugdev group, used for mountable drives. I am a member of that group, but I am not a member of the root group, so removing gid=46 should give me less rights. (In reply to comment #14) > Btw. that reminds me. > When you mounted the vfat filesystem which group were the files and the > directories? ls says that owner and group for the files are root on the vfat. (Note that changing the nfs disk to "root root" in the test above allowed me to install extensions, but vfat with "root root" doesn't allow extensions to be installed.) I also tried an experiment with the fvat drive. I have been using: /dev/sdaNNN DIRECTORY vfat umask=0,iocharset=iso8859-1,codepage=850 0 0 I changed this to: /dev/sdaNNN DIRECTORY vfat iocharset=iso8859-1,codepage=850 0 0 (Removed the umask=0) The result is that Firefox won't start with the profile, it says the profile is in use. I tried this several times, adding back in the umask=0 and the profile can be used. So while removing the umask from ntfs helps, removing umask from vfat hurts.
The situation has changed with the latest Minefield. Running Mozilla/5.0 (X11; Linux x86_64; rv:2.0b9pre) Gecko/20110107 Firefox/4.0b9pre the following happened: 1) Using Ubunto 10.10, I installed StumbedUpon and restarted, and the extension was added. However, at least some of the files in PROFILE/extensions/staged were not removed. (With Firefox 3.6.13, the extensions/stage-xpis directory is removed and the extension is not installed.) 2) I requested that StumbedUpon be removed and restarted, and the Add-ons Manager still said "[i] StumbleUpon has been removed. Restart now Undo". An additional restart did not have an effect either. (And the files in extensions/staged were not removed.) 3) I clicked "Undo" and restarted and nothing obvious changed. 4) I installed Read It Later and restarted. The extension was not installed, but the staged files were not removed. Additional restarts did not change the situation. (With Firefox 3.6.13, the extensions/stage-xpis folder is removed and the extension is not installed.) 5) I booted with Windows 7 and started "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b9pre) Gecko/20110106 Firefox/4.0b9pre". Stumble Upon was gone, Read It Later was installed, and the extensions/staged directory was removed. I removed Read It Later and returned to Ubuntu. The profile used for this experiment was created by some recent version of Firefox version 4 Minefield and has not been used with any version of Firefox earlier than Firefox version 4 beta 8. This profile is on a FAT32 file system.
B.J. can you please enable the extension logging and repeat all of your steps? Would be good to see log entries for each of those single points of failures you are pointing out.
OK, things are better for FAT and slightly different with NTFS. Testing with the latest Minefield: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b13pre) Gecko/20110303 Firefox/4.0b13pre I learned about extension logging, created a profile on a FAT file system, turned on extension logging, and I was able to install extensions without problem. Turned off extension logging I could still install extensions. Things were much better. Then I created a profile on NTFS. Some success, some failure -- and it behaved differently on different runs. Details in the attachment.
Given the following log output it kinda looks like we don't have permissions to move/delete folder and files on that mounted drive: [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFile.permissions] Are you running Firefox under your user id and can you delete those staged files?
(In reply to comment #20) > Are you running Firefox under your user id and can you delete those staged > files? Yes, and yes. Anything I've tried on the drive outside of Firefox works as I expected, and I just verified that I can delete the staged extension installation files. Firefox works fine in other ways, creating and modifying history, bookmarks, downloads. (In reply to comment #19) > I learned about extension logging, created a profile on a FAT file system, > turned on extension logging, and I was able to install extensions without > problem. Today I wasn't able to install Greasemonkey on a profile on a FAT file system, so I'm confused about whether it really worked the last time I tried.
(In reply to comment #21) > Yes, and yes. Anything I've tried on the drive outside of Firefox works as I > expected, and I just verified that I can delete the staged extension > installation files. Firefox works fine in other ways, creating and modifying > history, bookmarks, downloads. Can you please post the ls -la output across your profile with extensions staged?
(In reply to comment #22) > Can you please post the ls -la output across your profile with extensions > staged? Here is an annotated transcript of a couple of install attempts. Let me know if there is other useful information I can provide. Thanks for looking in to this issue.
I gave not been able to reproduce this bug with an USB key formatted as NTFS and 2 different laptops using Ubuntu 9.10 and Ubuntu 11.04. I was testing against the development trunk (aka Firefox 7).
Vivien: how about Firefox 5.0b or 6.0a?
(In reply to comment #25) > Vivien: how about Firefox 5.0b or 6.0a? I don't know, I don't have an NTFS USB key anymore. I need to find (or make) one but I will not be able to do it in the next days.
(In reply to comment #24) > I gave not been able to reproduce this bug with an USB key formatted as NTFS > and 2 different laptops using Ubuntu 9.10 and Ubuntu 11.04. I was testing > against the development trunk (aka Firefox 7). I'm sorry you were not able to reproduce the behavior. I cannot attempt to reproduce your experiment as I don't have an NTFS formated USB key (and I don't want to reformat my FAT key). I have never tried to use my FAT USB key to create a profile. If you try again, it would be useful to show the details of how the USB key is mounted. Different mount parameters may make a difference. Did you try to install one add-on or more? This morning I noted different behavior when I installed multiple add-ons which appeared to be dependent on the installation order. Whether the extension requires a Firefox restart is also relevant. The results of experiments from this morning are below. System: a Dell Studio 1745 notebook delivered with Windows 7 installed. The base file system was NTSF, I also created a FAT32 partition using Windows. The system dual-boots with Ubuntu 10.10 (fully updated for 10.10 patches). Mount shows the relevant file systems as: NTFS: /dev/sda3 on /windows type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions) FAT: /dev/sda9 on /mnt/Profiles type vfat (rw,umask=0,iocharset=iso8859-1,codepage=850) All experiments run from Ubuntu 10.10 with no reboots, using the 29 May 7.0a1 Firefox. The extensions chosen were the first two compatible add-ons from the list presented on addons.mozilla.org (Adblock and NoScript). Both extensions require restarts to install. Experiment 1 (NTFS): - Create new NTFS profile. (profile "61n") - Install Adblock Plus 1.3.8. - After Firefox restart Adblock plus is marked as "incompatible with Nightly 7.0a1". - Click "Remove" and restart Firefox, Adblock Plus is still listed as installed and incompatible. - Try to install Adblock Plus from addons.mozilla.org again and restart, no change. - Install NoScript. - After Firefox restart NoScript is not shown in the Add-ons Manager (Adblock still listed as incompatible). - The extensions/staged directory contains four files, text document and Zip archive for the two extensions. Experiment 2 (FAT): - Create new FAT profile. (profile "61f") - Install Adblock Plus 1.3.8. - After Firefox restart Adblock Plus is installed. - Install NoScript. - After Firefox restart, Adblock Plus is still installed, but NoScript does not show up in the Add-ons Manager. - The extension/staged directory contains three files, text document for Adblock Plus and two files for NoScript. Experiment 3 (FAT): (profile "61f2") - New FAT profile. - Install NoScript. - NoScript installed after Firefox restart. - Install Adblock Plus. - After restart, NoScript still installed, but Adblock Plus is not installed. - The extensions/saved directory contains three files, text document for NoScript and two files for Adblock Plus. Experiment 4 (NTFS): (profile "61n2") - Create new NTFS profile. - Install NoScript. - After restart, Add-ons Manager shows no extensions installed. - The extensions/saved directory contains one file, the text document for NoScript. - Install Adblock Plus 1.3.8. - After restart, Add-ons Manager shows NoScript installed but not compatible (disabled), no mention of Adblock Plus. - The extensions/staged directory shows three files, two for AdBlock one for NoScript. Experiment 5 (NTFS): (profile "61n3") - Retry experiment 1. The difference between the three files in extensions/staged in experiment 4 and the four files in experiment 1 is the extra attempt to install AdBlock Plus. Without that step there are only three files in extensions/staged, the forth appears after the second install attempt and sticks around for future restarts. I still have the five profiles if you want me to gather more information.
I suffer from the same pain, but as the OP and others have extensively reported details, won't expand on it; yet I will point, FWIW, that this issue also affects syncing. Set up Sync, either from a ext3-stored profile or from a FAT-stored profile, then add the other one to the Sync account: you always end up with both 'devices' deactivated, after some complaints about incorrect password, unsolvable with the 'Update' link.
This problem appears to have gone away. I tried to reproduce it with Nightly 22 and installation worked.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
I had this problem with an installation where the profile was installed on a FAT32 filesystem. The filesystem was mounted with user ownership by root, but group membership by my username's group, and full access by group. I still had this problem until I changed the mounting so that user ownership went to my username.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: