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