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 <mutt-...@mutt.org>.
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 debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to