<<< Date Index >>>     <<< Thread Index >>>

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