Package: icedove
Version: 31.0-1
Severity: serious
--- Please enter the report below this line. ---
After migrating my home directory to a 1.8TiB XFS partition, I could not
access my emails anymore. Icedove would open, but all extensions from
the profile folder were missing. The accounts were listed with the name
crossed out in the folder pane - yet the INBOX of my POP3 account (and a
single subfolder) would show up (including the mail contained
therein)... Rsyncing the profile folder from my backup one time after
another and trying various things kept me busy for most of the day...
with an AUFS union set up merging the backup root partition (ro) and
/tmp (rw), the same profile folder did work!
Digging deeper I finally found the right clues to identify the problem
cause: xfs uses 64-bit inodes by default for volumes >1TiB (and I think
BTRFS does now, too).. Icedove chokes on those.
The failing 32bit-getdents() call in strace:
> access("/home/empee584/.icedove/profile/extensions", F_OK) = 0
> stat64("/home/empee584/.icedove/profile/extensions", {st_mode=S_IFDIR|0770,
> st_size=4096, ...}) = 0
> openat(AT_FDCWD, "/home/empee584/.icedove/profile/extensions",
> O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 24
> getdents(24, 0xab44401c, 32768) = -1 EOVERFLOW (Value too large for defined
> data type)
> close(24) = 0
> gettimeofday({1407252551, 784289}, NULL) = 0
> gettimeofday({1407252551, 784852}, NULL) = 0
> write(1, "1407252551784\taddons.xpi\tWARN\tCa"..., 10321407252551784
> addons.xpi WARN Can't iterate directory /home/empe e584/.icedov
> e/profile/extensions: [Exception... "Component returned failure code:
> 0x80004005 (NS_ERROR_FAILURE) [nsIFile.directoryEntries]" nsres ult:
> "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame ::
> resource://gre/modules/addons/XPIProvider.jsm :: getDirectoryEntries :: line
> 1355" d ata: no] Stack trace:
> getDirectoryEntries()@resource://gre/modules/addons/XPIProvider.jsm:1355 <
> DirInstallLocation__readAddons()@resource://gre/m
> odules/addons/XPIProvider.jsm:6889 <
> DirectoryInstallLocation()@resource://gre/modules/addons/XPIProvider.jsm:6828
> < addDirectoryInstallLocation()
> @resource://gre/modules/addons/XPIProvider.jsm:1775 <
> XPI_startup()@resource://gre/modules/addons/XPIProvider.jsm:1856 <
> AMI_callProviders()@resou rce://gre/modules/AddonManager.jsm:869 <
> AMI_startup()@resource://gre/modules/AddonManager.jsm:745 <
> AMP_startup()@resource://gre/modules/AddonMan ager.jsm:2318 <
> AMC_observe()@resource://gre/components/addonManager.js:55 < <file:unknown>
> ) = 1032
> ...
With the very same profile folder bind-mounted into ~/.icedove on an
ext4 (using 32bit-inodes):
> access("/home/empee584/.icedove/profile/extensions", F_OK) = 0
> stat64("/home/empee584/.icedove/profile/extensions", {st_mode=S_IFDIR|0770,
> st_size=4096, ...}) = 0
> openat(AT_FDCWD, "/home/empee584/.icedove/profile/extensions",
> O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 24
> getdents(24, /* 61 entries */, 32768) = 2832
> getdents(24, /* 0 entries */, 32768) = 0
> close(24) = 0
> stat64("/home/empee584/.icedove/profile/extensions/{57068FBE-1506-42ee-AB02-BD183E7999E4}",
> {st_mode=S_IFDIR|0770, st_size=4096, ...}) = 0
> stat64("/home/empee584/.icedove/profile/extensions/{57068FBE-1506-42ee-AB02-BD183E7999E4}",
> {st_mode=S_IFDIR|0770, st_size=4096, ...}) = 0
> stat64("/home/empee584/.icedove/profile/extensions/{4C9FE6FE-2C83-11DC-90B4-DC8456D89593}",
> {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> stat64("/home/empee584/.icedove/profile/extensions/{4C9FE6FE-2C83-11DC-90B4-DC8456D89593}",
> {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> stat64("/home/empee584/.icedove/profile/extensions/{CC3C233D-6668-41bc-AAEB-F3A1D1D594F5}",
> {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> stat64("/home/empee584/.icedove/profile/extensions/{CC3C233D-6668-41bc-AAEB-F3A1D1D594F5}",
> {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> ...
chromium seemingly had the problem:
> https://code.google.com/p/nativeclient/issues/detail?id=1253
64-bit icedove reportedly does work with xfs/inode64..
> http://oss.sgi.com/archives/xfs/2013-07/msg00152.html
Running a 32bit distro with >1TeraByte partitions is probably rather
uncommon so I couldn't find a bug reported for this upstream..
just something similar (?) fixed up 4 years ago..
> https://bugzilla.mozilla.org/show_bug.cgi?id=389087
> Bug 389087: nsILocalFileUnix affected by 32bit stat/statvfs/truncate,
> therefore does not work with large files
> # wget https://raw.githubusercontent.com/gnb/junkcode/master/summarise_stat.pl
> # perl summarise_stat.pl /usr/lib/icedove/
> Summary by status
> -----------------
> 476 97.3% are scripts (shell, perl, whatever)
> 10 2.0% don't use any stat() family calls at all
> 2 0.4% use 32-bit stat() family interfaces only [BROKEN]
> 1 0.2% use both 32-bit and 64-bit stat() family interfaces [BROKEN]
> 3 0.6% BROKEN
> List of broken files
> --------------------
> These use 32-bit stat() family interfaces only
> /usr/lib/icedove//icedove
> /usr/lib/icedove//icedove-bin
> These use both 32-bit and 64-bit stat() family interfaces
> /usr/lib/icedove//libxul.so
Sorry, no idea where exactly the relevant file is, I tried to check out
the source but it was beyond me. For now bind mounting my profile^^
#Best Regards!MPartap
--- System information. ---
Architecture: i386
Kernel: Linux 3.14-2-686-pae
Debian Release: jessie/sid
99 unstable ftp.uni-stuttgart.de
99 stable http.kali.org
500 unstable qgis.org
500 unstable debian.netcologne.de
500 testing debian.yeasoft.net
500 testing debian.netcologne.de
500 stable dl.google.com
500 stable debs.unvanquished.net
500 stable debian.netcologne.de
500 squeeze packages.devstructure.com
500 sid neurodebian.ovgu.de
500 sid linux.dropbox.com
500 olivia packages.linuxmint.com
500 jessie ppa.quickbuild.pearsoncomputing.net
500 data neurodebian.ovgu.de
100 unstable deb-multimedia.org
100 experimental debian.netcologne.de
1 trusty ppa.launchpad.net
1 raring ppa.launchpad.net
1 raring mirror.netcologne.de
1 quantal mirror.netcologne.de
1 precise ppa.launchpad.net
1 precise mirror.netcologne.de
1 oneiric-getdeb mirrors.dotsrc.org
1 oneiric ppa.launchpad.net
1 natty-getdeb mirrors.dotsrc.org
1 karmic ppa.launchpad.net
--- Package information. ---
Depends (Version) | Installed
===============================================-+-===================
fontconfig | 2.11.0-5
psmisc | 22.21-2
debianutils (>= 1.16) | 4.4
libasound2 (>= 1.0.16) | 1.0.28-1
libatk1.0-0 (>= 1.12.4) | 2.12.0-1
libc6 (>= 2.15) | 2.19-7
libcairo2 (>= 1.10.2-2~) | 1.12.16-2
libdbus-1-3 (>= 1.0.2) | 1.8.6-1
libdbus-glib-1-2 (>= 0.78) | 0.102-1
libevent-2.0-5 (>= 2.0.10-stable) | 2.0.21-stable-1
libffi6 (>= 3.0.4) | 3.1-2
libfontconfig1 (>= 2.11) | 2.11.0-5
libfreetype6 (>= 2.2.1) | 2.5.2-1
libgcc1 (>= 1:4.1.1) | 1:4.9.1-4
libgdk-pixbuf2.0-0 (>= 2.22.0) | 2.30.7-1
libglib2.0-0 (>= 2.37.3) | 2.40.0-3
libgtk2.0-0 (>= 2.24.0) | 2.24.24-1
libhunspell-1.3-0 (>= 1.3.3) | 1.3.3-2
libnspr4 (>= 2:4.10.3) | 2:4.10.6-1
libnss3 (>= 2:3.16) | 2:3.16.3-1
libpango-1.0-0 (>= 1.14.0) | 1.36.3-1
libpangocairo-1.0-0 (>= 1.14.0) | 1.36.3-1
libpangoft2-1.0-0 (>= 1.14.0) | 1.36.3-1
libpixman-1-0 (>= 0.25.2) | 0.32.6-1
libsqlite3-0 (>= 3.7.7) | 3.8.5-2
libstartup-notification0 (>= 0.8) | 0.12-3
libstdc++6 (>= 4.9) | 4.9.1-4
libvpx1 (>= 1.3.0) | 1.3.0-2
libx11-6 | 2:1.6.2-2
libxext6 | 2:1.3.2-1
libxrender1 | 1:0.9.8-1
libxt6 | 1:1.1.4-1
zlib1g (>= 1:1.2.0) | 1:1.2.8.dfsg-1
Recommends (Version) | Installed
==================================-+-===========
myspell-en-us | 1:3.3.0-4
OR hunspell-dictionary |
OR myspell-dictionary |
Suggests (Version) | Installed
===============================-+-===========
fonts-lyx | 2.0.6-1
libgssapi-krb5-2 | 1.12.1+dfsg-6
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]