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

mutt slang segfault on resume from suspend



Okay, this is probably the segfault I've been seeing for a while now and
the one which certainly is related to fg'ing a suspended mutt
process.  It's the second time I've had mutt do this recently, with a
stack backtrace showing the same path, on two different machines (both
Gentoo x86, but mutt built manually from current CVS).

Can someone say if this is a slang-1 problem or a mutt problem?

Core was generated by `mutt'.
Program terminated with signal 11, Segmentation fault.

(gdb) bt
#0  0xb7b9329e in _int_free () from /lib/tls/libc.so.6
#1  0xb7b9214b in free () from /lib/tls/libc.so.6
#2  0xb7f85fb3 in SLfree () from /usr/lib/libslang-utf8.so.1
#3  0xb7f947d4 in SLcurses_delwin () from /usr/lib/libslang-utf8.so.1
#4  0x080b7c5c in mutt_resize_screen () at resize.c:77
#5  0x08065735 in mutt_index_menu () at curs_main.c:596
#6  0x08079a44 in main (argc=1, argv=0xbfffef14) at main.c:960

I'm not sure what the initial trigger is, but I think that both times
the process had been suspended for several minutes.  The TTY has not
been resized.

System: Linux 2.6.11-gentoo-r6 (i686) [using slang 10409] [using libidn
0.5.15 (compiled with 0.5.15)]
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
+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
-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  +USE_HCACHE
-ISPELL

ldd includes: libslang-utf8.so.1 => /usr/lib/libslang-utf8.so.1 (0xb7e53000)
(locale includes LC_CTYPE=en_GB.UTF-8).

Continuing with gdb:
(gdb) frame 4
#4  0x080b7c5c in mutt_resize_screen () at resize.c:77
77        delwin (stdscr);
(gdb) list
72            SLtt_Screen_Cols = atoi (cp);
73          else
74            SLtt_Screen_Cols = 80;
75        }
76      #ifdef USE_SLANG_CURSES
77        delwin (stdscr);
78        SLsmg_reset_smg ();
79        SLsmg_init_smg ();
80        stdscr = newwin (0, 0, 0, 0);
81        keypad (stdscr, TRUE);
(gdb) print stdscr
No symbol "stdscr" in current context.
(gdb) print SLcurses_Stdscr
$1 = (SLcurses_Window_Type *) 0x80f5028
(gdb) print *SLcurses_Stdscr
$2 = {_begy = 0, _begx = 0, _maxy = 41, _maxx = 79, _curx = 79, _cury = 1,
  nrows = 42, ncols = 80, scroll_min = 0, scroll_max = 42, lines = 0x80f5078,
  color = 1, is_subwin = 0, attr = 256, delay_off = -1, scroll_ok = 0,
  modified = 0, has_box = 0, use_keypad = 1}

I've no idea if that's valid or where to go from here.

-- 
I am keeping international relations on a peaceable footing.
You are biding your time before acting.
He is coddling tyrants.
 -- Roger BW on topic of verb conjugation