Closed Bug 357493 Opened 18 years ago Closed 17 years ago

Lightning unable to install if profile is stored on a fat32/vfat partition on Linux

Categories

(Calendar :: Lightning Only, defect)

x86
Linux
defect
Not set
major

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: hermes1983, Unassigned)

References

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.7) Gecko/20060830 Firefox/1.5.0.7 (Debian-1.5.dfsg+1.5.0.7-2)
Build Identifier: IceDove 1.5.0.7 - Lightning 0.3 and nightly

I'm running IceDove 1.5.0.7 provided by Debian unstable. I'm quite sure that Debian is not involved in this bug (but that's not impossible too).
My Thunderbird profile is shared between Windows and Linux, which are run from the same PC. The profile is on a FAT32 partition, and I made some changes to Windows prefs.js file (picked from Ubuntu forums) in order to have TB looking in the correct folder. On Linux, I just made a symlink. This have worked for a long time ago now (more than one year), even when I installed different extensions to TB.
But with Lightning, there is no problem for installing it, and when I restart IceDove (this name sucks... :( ), no agenda is created, and when I displayed the timetable, it's completely broken, displaying only hours. It's not possible to create new agendas (locally or from network), and storage.sdb is not created.
When I copy (with cp) my existing profile on the ext3 partition in the ~/.mozilla-thunderbird, it works perfectly.

Reproducible: Always

Steps to Reproduce:
1.Make a symlink of your ~/.mozilla-thunderbird to a directory in a fat32/vfat partition
2.Launch Thunderbird and install Lightning
3.Restart
4.Click on "My agendas" to see the timaetable or try to create a new one

Actual Results:  
Timetable is broken. Not able to create new agendas

Expected Results:  
Hey : create the default 'My agenda' and let me create new agenda :)

I even try to create a symlink ~/.mozilla-thunderbird -> ~/.mozilla-thunderbird.copy from my 'copied-from-existing' profile to see if the symlink was the issue, but once again, it worked.
I thought that the shared profile was the cause, but since it works perfectly with the copied profile, I'm quite sure it's caused by fat32/vfat partition. When I strace it, there are several utime and symlink operation (not permitted on fat32/vfat partition), that can make lightning to not initialize correctly.
> I'm running IceDove 1.5.0.7 provided by Debian unstable

Check the JavaScript console for error messages.

Lightning is an extension for Mozilla Thunderbird and contains binary elements. Therefore it must be build with the same compiler version and build settings as Thunderbird.

The problem is probably caused by Debian using different build environment/settings. I see two possible solutions: Use a compatible Thunderbird build [http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/], ask Debian to provide a Lightning version compatible to their custom Thunderbird build or build Lightning yourself [http://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/releases/0.3/source/].
(In reply to comment #1)
> > I'm running IceDove 1.5.0.7 provided by Debian unstable
> 
> Check the JavaScript console for error messages.
> 
> Lightning is an extension for Mozilla Thunderbird and contains binary elements.
> Therefore it must be build with the same compiler version and build settings as
> Thunderbird.
> 
> The problem is probably caused by Debian using different build
> environment/settings. I see two possible solutions: Use a compatible
> Thunderbird build
> [http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/], ask Debian
> to provide a Lightning version compatible to their custom Thunderbird build or
> build Lightning yourself
> [http://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/releases/0.3/source/].
> 

Hi !
I spent more than 20 minutes to write this bug. Please consider read it entirely before writing something unappropriate.
I repeat : it works perfectly with IceDove when the profile is on an ext3 partition, even if there is a symlink ! When the profile is located on a FAT32/VFAT, Lightning does not work no more.
Next time, I'll make it shorter :x
Do you see any errors in the JS console?
Attached file Javascript console on restart —
This is the entire dump of the javascript console when I restart TB after installing Lightning.
(In reply to comment #4)

This errors look like the errors you get in case of binary incompatibility. 

For clarification:
You wrote everything works fine if the profile is stored on ext3 partition. Does that mean you have the win32 Lightning build and the linux Lightning build installed in this profile at the same time? 
Does Lightning works if you create a new profile on FAT32 partition without win32 specific changes or extension installed? (Use -P command line switch to start Profile Manger)
(In reply to comment #5)
> (In reply to comment #4)
> 
> This errors look like the errors you get in case of binary incompatibility. 
> 
> For clarification:
> You wrote everything works fine if the profile is stored on ext3 partition.
> Does that mean you have the win32 Lightning build and the linux Lightning build
> installed in this profile at the same time?

For clarification : no. Due to differences between Linux and Windows, extensions are not stored in the same folder. My Windows extensions are stored in the "normal" folder (in C:\Documents and settings\...\Application Data\etc..) and the prefs.js has been modified in order to look for mail in the correct folder (on the fat32 partition D:\mozilla-thunderbird\profile\Mail, ImapMail and News). It's not a clean tweak, but I made it very carefully, and it has been working fine for one year. My Linux extensions are stored in this D:\mozilla-thunderbird\ directory, and there is a symlink from my home directory to it. Hope it's clearer now :) Moreover, I didn't install Lightning on Windows Thunderbird yet, since I try to avoid Windows :)

> Does Lightning works if you create a new profile on FAT32 partition without
> win32 specific changes or extension installed? (Use -P command line switch to
> start Profile Manger)
> 
First, thank for the idea, because I forgot to do this test. I made two new tests. Both are made from a clean start, with a new ~/.mozilla-thunderbird directory.
1. The ~/.mozilla-thunderbird is a real directory (not a symlink), and I use the profile manager to locate the new profile anywhere in the fat32 partition (in a new directory too)
2. The ~/.mozilla-thunderbird is a symlink to a new directory on the fat32 partition. Since there is no profile, the profile manager starts, but I create a default profile in the default folder (~/.mozilla-thunderbird/xxxxxx.default)

Results are, in a way, surprising :
1. No change, Lightning does not want to work, and there are the same errors in the Javascript console when TB is restarted. (Perhaps not exactly the same, it's difficult to compare to my eyes. Do you want me to dump it ?)

2. At the last step of the profile creation, when I click on the 'Next' button, there is an error popup dialog, telling me that a operation couldn't be done correctly... Click 'OK' and then 'Next' again, the profile seems to be created, as I can start TB, install Lightning and restart it... to see that there is the same issue : no agenda, no timetable nor storage.sdb.

Fat32 partition seems to cause many problem to TB on Linux (well, I agree fat32 is not a good solution...), and maybe I should write a new bug report on it. By the way the partition is mounted that way :
owner : root, group : disk, mask : 007 (so ug+rwx) All the partition get the same owner/group since it's a fat32. I'm in the disk group, and I use the same process to share Gaim and XChat profile without problems.
I've done another test : give the fat32 directory ownership to my user. In that case, I'm the owner (and not root) of the whole fat32 partition. Result is the same : I can't use Lightning.
Ok folks, I made another test on Ubuntu 6.06 (dapper), which has TB 1.5.0.7. I know this is linked to Debian, but well, I hope someone will take the time to test it on another Linux distro (it takes 15' to test...)
This time, the directory ~/.mozilla-thunderbird is on an ext3 partition. I started TB with -P and create a new profile in a clean fat32 directory (owner : me rwx on the whole partition). Install Lightning and TADA : it doesn't work as I unfortunately expected it. No timetable, no agenda, same stack in the JS console.

Hope it will help :)
Ok, since there is no news, I add a little reminder with two other tests :)

Always on Debian/Unstable, I downloaded Sunbird 0.3 package from mozilla site and create a profile on the FAT32 partition : the calendar creation worked fine, for local or remote calendars. Sunbird seems really not to be concerned by this issue.

After that, I downloaded the official Thunderbird 1.5.0.8 from Mozilla.com and the official Lightning 0.3 package from Mozilla.org. I created a profile on the Fat32 partition, and install Lightning on it. That does NOT work; calendars are not created, and timetable only displayed hours.

Maybe I'm gonna make an effort to participate to a QA Test day ;)
Whiteboard: [qa discussion needed]
Daniel,

What do you think in general about installations of this type. We've had several bugs reagrding these installations and no clear defined way to handle this.

Reporter, I think that the best way to handle this would be to figure out a way to make these installations work, fix any other issues that impede progress and publish that as the standard way to do the installation on a dual boot machine.

My thought here is that this might be extension manager specific.  Can you try this with thunderbird and use another extension that has compiled binaries and see if that works?  I'd like to know if this is a lightning issue, or if it is an issue because lightning bundles compiled binaries for the target platform when it installs.
Hi,

For obvious reasons, I'm using far more Debian than Windows, and I decided to convert my FAT32 partition into an ext3 one. The trick is, if I can, to use an ext2/3 Windows driver. I haven't do it yet, but I'm sure it's not difficult to make it work.
For now, I won't be able to verify this bug anymore on my own PC, since I've destroyed all FAT32 partitions on it. I still have a NTFS one, mounted with ntfs-3g with read-write access. If you want to, I'll run a test on it some day.
But my opinion is basically the same as yours : it's definitively not a Lightning bug. I have no proof, but since my profile is on ext3, RSS news are so much faster that I can't understand why I choose fat32 first. Moreover, it solved an odd bug with RSS feed. On FAT32, TB had to regularly rebuild the index of each RSS feed before providing me new articles. On ext3, no problem.
By the way, if you know some TB extension which uses precompiled binaries, I'll be happy to install it in order to close this bug and report it into Thunderbird's bugzilla.
Hi !
I'm happy and desperate... Happy to have found the solution, desperate by the solution :)
I won't tell you how I found it, but it's a very simple thing : the "exec" flag on the mounted device. If the device is mounted with the "noexec" flag, it won't work. My old FAT32 was mounted like that. Just to run "mount -o remount,exec /dev/hdb2" and it works.
You can now close this bug, but I'm sure it will be useful to write it in a FAQ ;)
Adrien, nice to hear you found a solution for the problem. WFM per comment#12.
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
Whiteboard: [qa discussion needed]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: