mutt 1.5.8i: SIGSEGV in imap_sync_mailbox
Hi,
today I managed to make mutt segfault. The failure occurs if mutt wants to
update status flags of a message that was already removed from its IMAP folder
by another IMAP client.
I can reproduce the segfault by doing the following:
1) start mutt (--> client A), send an email to myself.
2) read that mail in client A; do *not* call sync-mailbox.
3) start another mutt instance (--> client B)
4) in client B, (re)move the mail and call sync-mailbox.
5) in client A, call sync-mailbox
==> SIGSEGV
My configuration of mutt and gdb's output follow below.
Regards
Christoph
gdb reports:
Program received signal SIGSEGV, Segmentation fault.
0x080e1b83 in imap_sync_mailbox (ctx=0x81b8410, expunge=1,
index_hint=0xbfffe414) at ../../mutt-CVS/imap/imap.c:1074
/home/cludwig/C++/gcc3.3/mutt-CVS/imap/imap.c:1074:28385:beg:0x80e1b83
(gdb) bt
#0 0x080e1b83 in imap_sync_mailbox (ctx=0x81b8410, expunge=1,
index_hint=0xbfffe414) at ../../mutt-CVS/imap/imap.c:1074
#1 0x0808dcc7 in mx_sync_mailbox (ctx=0x81b8410, index_hint=0xbfffe414) at
../mutt-CVS/mx.c:1177
#2 0x080666b5 in mutt_index_menu () at ../mutt-CVS/curs_main.c:1012
#3 0x08081fa0 in main (argc=1, argv=0xbffff0f4) at ../mutt-CVS/main.c:934
(gdb) print ctx
$1 = (CONTEXT *) 0x81b8410
(gdb) print *ctx
$2 = {
path = 0x81b8480 "imaps://imap.cdc.informatik.tu-darmstadt.de/INBOX",
fp = 0x0,
mtime = 0,
mtime_cur = 0,
size = 0,
vsize = 6644575,
pattern = 0x0,
limit_pattern = 0x0,
hdrs = 0x8244d90,
tree = 0x8388b88,
id_hash = 0x0,
subj_hash = 0x83887e8,
thread_hash = 0x812f6c0,
v2r = 0x8244e78,
hdrmax = 56,
msgcount = 31,
vcount = 31,
tagged = 0,
new = 0,
unread = 0,
deleted = 0,
flagged = 0,
msgnotreadyet = -1,
data = 0x81d76d8,
magic = 5,
locked = 0,
changed = 0,
readonly = 0,
dontwrite = 0,
append = 0,
quiet = 0,
collapsed = 0,
closing = 0
}
(gdb) print n
$3 = 31
(gdb) print ctx->hdrs[n]
$4 = (HEADER *) 0x0
My mutt configuration:
cludwig@lap200:~> LANG=C mutt -v
Mutt 1.5.8i (2005-02-12)
Copyright (C) 1996-2002 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.4.21-291-default (i686) [using ncurses 5.3]
Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL -USE_SETGID +USE_DOTLOCK -DL_STANDALONE
+USE_FCNTL -USE_FLOCK -USE_INODESORT
+USE_POP +USE_IMAP -USE_GSS +USE_SSL -USE_GNUTLS +USE_SASL +USE_SASL2
+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
-BUFFY_SIZE -EXACT_ADDRESS -SUN_ATTACHMENT
+ENABLE_NLS -LOCALES_HACK +HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET
+HAVE_LANGINFO_YESEXPR
+HAVE_ICONV -ICONV_NONTRANS -HAVE_LIBIDN +HAVE_GETSID +HAVE_GETADDRINFO
+USE_HCACHE
ISPELL="/usr/bin/ispell"
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/spool/mail"
PKGDATADIR="/home/cludwig/usr//share/mutt"
SYSCONFDIR="/home/cludwig/usr//etc"
EXECSHELL="/bin/sh"
-MIXMASTER
To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
To report a bug, please use the flea(1) utility.
mutt-cvs-header-cache.24
1.5.6.nr.threadcomplete
patch-1.5.6-ow.smime-encrypt-self.2
--
http://www.informatik.tu-darmstadt.de/TI/Mitarbeiter/cludwig.html
LiDIA: http://www.informatik.tu-darmstadt.de/TI/LiDIA/Welcome.html