Package: mutt
Version: 1.5.18-4
Severity: normal
Hi,
mutt doesn't seem to sort the inode list of a maildir if a header cache file
is found and maildir_header_cache_verify is unset:
#if USE_HCACHE
if (option(OPTHCACHEVERIFY))
{
DO_SORT();
ret = stat(fn, &lastchanged);
}
This leads to insane long time to open a maildir with a lot of mails (like
20000) if the header cache is not in the FS cache (like right after boot).
It reads the header cache with the unsorted inode list, which causes pretty
random seeks in the header cache file.
To reproduce:
1. open a large maildir (> 20000 mails) on ext3 with dir_index enabled
(should be on by default since may years) to make sure that the header
cache is created
2. unset maildir_header_cache_verify in ~/.muttrc
3. echo 7 > /proc/sys/vm/drop_caches
4. open the maildir again
It should now take very long to open the maildir. Without step 2, it is
quick again.
For reference, here are 2 strace excerpts, one taken with ext3, one taken
with XFS. I created them before I discovered the real cause of the
slowness, and only saw that it is slow on ext3, but fast on XFS. Just look
at the timestamps. XFS takes 3 seconds, ext3 takes 18 seconds:
http://tikei.de/mutt_hcache_ext3.txt
http://tikei.de/mutt_hcache_xfs.txt
You can also see that the seek offsets are somewhat linear for XFS, but
pretty random for ext3. The latter is the real cause: the hard disk is
seeking to death.
Regards,
Tino
-- Package-specific info:
Mutt 1.5.18 (2008-05-17)
Copyright (C) 1996-2008 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.
System: Linux 2.6.28-rc8-00043-ga3dd154 (i686)
ncurses: ncurses 5.7.20081213 (compiled with 5.7)
libidn: 1.10 (compiled with 1.10)
hcache backend: GDBM version 1.8.3. 10/15/2002 (built Aug 27 2008 09:23:18)
Compile options:
-DOMAIN
+DEBUG
-HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE
+USE_FCNTL -USE_FLOCK
+USE_POP +USE_IMAP +USE_SMTP +USE_GSS -USE_SSL_OPENSSL +USE_SSL_GNUTLS
+USE_SASL +HAVE_GETADDRINFO
+HAVE_REGCOMP -USE_GNU_REGEX
+HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
+HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
+CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME -CRYPT_BACKEND_GPGME
-EXACT_ADDRESS -SUN_ATTACHMENT
+ENABLE_NLS -LOCALES_HACK +COMPRESSED +HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET
+HAVE_LANGINFO_YESEXPR
+HAVE_ICONV -ICONV_NONTRANS +HAVE_LIBIDN +HAVE_GETSID +USE_HCACHE
ISPELL="/usr/bin/ispell"
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/usr/share/mutt"
SYSCONFDIR="/etc"
EXECSHELL="/bin/sh"
MIXMASTER="mixmaster"
To contact the developers, please mail to <[email protected]>.
To report a bug, please visit http://bugs.mutt.org/.
patch-1.5.13.cd.ifdef.2
patch-1.5.13.cd.purge_message.3.4
patch-1.5.13.nt+ab.xtitles.4
patch-1.5.4.vk.pgp_verbose_mime
patch-1.5.6.dw.maildir-mtime.1
patch-1.5.8.hr.sensible_browser_position.3
-- System Information:
Debian Release: 5.0
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.28-rc8-00043-ga3dd154 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages mutt depends on:
ii libc6 2.7-16 GNU C Library: Shared libraries
ii libcomerr2 1.41.3-1 common error description library
ii libgdbm3 1.8.3-4 GNU dbm database routines (runtime
ii libgnutls11 1.0.16-14+b1 GNU TLS library - runtime library
ii libidn11 1.10-3 GNU libidn library, implementation
ii libkrb53 1.6.dfsg.4~beta1-4 MIT Kerberos runtime libraries
ii libncursesw5 5.7+20081213-1 shared libraries for terminal hand
ii libsasl2-2 2.1.22.dfsg1-23 Cyrus SASL - authentication abstra
Versions of packages mutt recommends:
ii exim4 4.69-9 metapackage to ease Exim MTA (v4)
ii exim4-daemon-light [mail-tran 4.69-9 lightweight Exim MTA (v4) daemon
ii locales 2.7-16 GNU C Library: National Language (
ii mime-support 3.44-1 MIME files 'mime.types' & 'mailcap
Versions of packages mutt suggests:
ii aspell 0.60.6-1 GNU Aspell spell-checker
ii ca-certificates 20080809 Common CA certificates
ii gnupg 1.4.9-3 GNU privacy guard - a free PGP rep
ii ispell 3.1.20.0-4.4 International Ispell (an interacti
pn mixmaster <none> (no description available)
ii openssl 0.9.8g-14 Secure Socket Layer (SSL) binary a
ii urlview 0.9-18 Extracts URLs from text
Versions of packages mutt is related to:
ii mutt 1.5.18-4 text-based mailreader supporting M
pn mutt-dbg <none> (no description available)
pn mutt-patched <none> (no description available)
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]