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

Re: [Mutt] #1220: After telnet session dies, Mutt continues running,



#1220: After telnet session dies, Mutt continues running, gradually consuming 
all
CPU resources.

Changes (by brendan):

  * summary:  mutt-: After telnet session dies, Mutt continues running,
              gradually consuming all CPU resources. => After
              telnet session dies, Mutt continues running,
              gradually consuming all CPU resources.

Old description:

> {{{
> Package: mutt
> Version:
> Severity: normal
>
> -- Please type your report below this line
>
> I run Mutt on my ISP via telnet. My end if the telnet session is behind
> a firewall. I think there's some kind of keep-alive signalling that goes
> on and my firewall doesn't cooperate.
>
> Sometimes I'll leave mutt running this way and forget to disconnect, and
> eventually something times out (the keep-alive ?) and my telnet session
> dies. I typically am reading an IMAP mailbox on mail.spamcop.net when
> I do this.
>
> What I never knew before is that when this happens, Mutt keeps running
> over on the ISP, and evenutally consumes 100% of the CPU.
>
> My ISP doesn't like this, so they removed permissions from
> /usr/bin/mutt - only root can read it.
>
> Luckily, I "borrowed" a copy of the executable before they did this,
> (I renamed the file to "experiment"), and was able to get Mutt back
> into this state.
>
> I noticed that the CPU percentage reported by ps doesn't jump to 100%
> right away - it sort of gradually grows.
>
> To create the core file, I ran "kill -SIGBUS" to the wayward process.
>

> My ISP will probably get real mad and cut me off if they found out I was
> still running my "borrowed" copy of Mutt this way, so please don't tell
> them unless you have to.
>

> -- Mutt Version Information
>

> Mutt 1.2.5.1i (2000-07-28)
> Copyright (C) 1996-2000 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.7-10 [using slang 10404]
> Compile options:
> -DOMAIN
> -DEBUG
> -HOMESPOOL  -USE_SETGID  -USE_DOTLOCK  +USE_FCNTL  -USE_FLOCK
> +USE_IMAP  +USE_GSS  +USE_SSL  +USE_POP  +HAVE_REGCOMP  -USE_GNU_REGEX
> +HAVE_COLOR  +HAVE_PGP  -BUFFY_SIZE -EXACT_ADDRESS  +ENABLE_NLS
> SENDMAIL="/usr/sbin/sendmail"
> MAILPATH="/var/mail"
> SHAREDIR="/etc"
> SYSCONFDIR="/etc"
> ISPELL="/usr/bin/ispell"
> To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
> To report a bug, please use the muttbug utility.
>

> -- Core Dump Analysis Output
>

> GNU gdb Red Hat Linux (5.1-1)
> Copyright 2001 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
> This GDB was configured as "i386-redhat-linux"...
> (no debugging symbols found)...
> Core was generated by `experiment'.
> Program terminated with signal 7, Bus error.
> Reading symbols from /usr/lib/libslang.so.1...done.
> Loaded symbols for /usr/lib/libslang.so.1
> Reading symbols from /lib/i686/libm.so.6...done.
> Loaded symbols for /lib/i686/libm.so.6
> Reading symbols from /usr/kerberos/lib/libgssapi_krb5.so.2...done.
> Loaded symbols for /usr/kerberos/lib/libgssapi_krb5.so.2
> Reading symbols from /usr/kerberos/lib/libkrb5.so.3...done.
> Loaded symbols for /usr/kerberos/lib/libkrb5.so.3
> Reading symbols from /usr/kerberos/lib/libk5crypto.so.3...done.
> Loaded symbols for /usr/kerberos/lib/libk5crypto.so.3
> Reading symbols from /usr/kerberos/lib/libcom_err.so.3...done.
> Loaded symbols for /usr/kerberos/lib/libcom_err.so.3
> Reading symbols from /lib/libssl.so.2...done.
> Loaded symbols for /lib/libssl.so.2
> Reading symbols from /lib/libcrypto.so.2...done.
> Loaded symbols for /lib/libcrypto.so.2
> Reading symbols from /lib/i686/libc.so.6...done.
> Loaded symbols for /lib/i686/libc.so.6
> Reading symbols from /lib/libdl.so.2...done.
> Loaded symbols for /lib/libdl.so.2
> Reading symbols from /lib/ld-linux.so.2...done.
> Loaded symbols for /lib/ld-linux.so.2
> #0  0x4005fa3a in SLsmg_write_color_chars () from /usr/lib/libslang.so.1
> (gdb) where
> #0  0x4005fa3a in SLsmg_write_color_chars () from /usr/lib/libslang.so.1
> #1  0x400657e3 in SLcurses_wnoutrefresh () from /usr/lib/libslang.so.1
> #2  0x40065870 in SLcurses_wrefresh () from /usr/lib/libslang.so.1
> #3  0x08058400 in strcpy ()
> #4  0x08058a2d in strcpy ()
> #5  0x0806b45f in strcpy ()
> #6  0x0805d5d6 in strcpy ()
> #7  0x0806c9fc in strcpy ()
> #8  0x40246647 in __libc_start_main (main=0x806be30 <strcpy+132008>,
> argc=1,
>     ubp_av=0xbffff974, init=0x804acc0 <_init>, fini=0x80a27a0 <_fini>,
>     rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbffff96c)
>     at ../sysdeps/generic/libc-start.c:129
> (gdb) list
> 1       rtld.c: No such file or directory.
>         in rtld.c
> (gdb) quit
>
> --- Begin /home/t/l/tlhall/.muttrc
> ignore *
> unignore from date subject to cc organization x-mailer
> unignore From
> unset mime_fwd
> my_hdr From: tlhall@xxxxxxxxx
> my_hdr Reply-To: tlhall@xxxxxxxxx
> my_hdr Operating-System: `uname -nsr`
> set delete=yes
> set move=no
> set beep_new
> set recall=ask-yes
> set pop_delete
> set pop_host=mail.keepandbeararms.com
> set pop_user=tlhall
> set realname="Tom Hall"      # Who am I?
> set alias_file="~/.aliases_mutt" # File to use for saving new aliases
> set folder=~/Mail       # Directory where my mail lives
> set postponed=~/Mail/postponed  # Folder in which to keep postponed
> messages
> set force_name          # Save outbound mail by username
> set save_name           # Save outbound mail to =username if it exists
> set include             # Include mail as quoted text in replies
> set edit_hdrs           # Let me edit all headers :-)
> set editor="vim '+/^$'" # Use vim and start after first empty line
> set read_inc=25         # Update counter 25 at a time on reads
> set write_inc=25        # Update counter 25 at a time on writes
> set timeout=30         # How often to check for new mail
> folder-hook . set sort=reverse-date-sent
> folder-hook tmiv set sort=threads
> folder-hook current set sort=threads
> folder-hook skeptic set sort=threads
> folder-hook mu set sort=threads
> folder-hook freehdl set sort=threads
> folder-hook thelema93-l set sort=threads
> folder-hook objectivism-l set sort=threads
> set noresolve
> set pager=less
> set noprompt_after
> set print_cmd=mutt_pr
> set noconfirmappend
> set nomark_old
> bind index \ct tag-pattern
> bind index \cd delete-pattern
> bind index B bounce-message
> bind postpone ' ' next-page
> bind index ' ' next-page
> bind index 'b' previous-page
> set noautoedit
> macro compose \eF \
>    ":set sendmail=\"/usr/lib/sendmail -C
> /nyx/1/t/l/tlhall/eGroupsHack/eGroupsHack.cf -t -f tlhall@xxxxxxxxx"
> macro compose \ef ":set sendmail=\"/usr/lib/sendmail -oem -oi\"
> macro index \ef ":set sendmail=\"/usr/lib/sendmail -oem -oi\"
> set print_cmd="ONAME=message ; sz -b -"
> set spoolfile={mail.spamcop.net}INBOX
> set imap_user=tlhall@xxxxxxxxxxx
> --- End /home/t/l/tlhall/.muttrc
>

> --- Begin /etc/Muttrc
> ignore "from " received content- mime-version status x-status message-id
> ignore sender references return-path lines
> macro index \eb '/~b ' 'search in message bodies'
> macro index \cb |urlview\n 'call urlview to extract URLs out of a
> message'
> macro pager \cb |urlview\n 'call urlview to extract URLs out of a
> message'
> macro generic <f1> "!less /usr/share/doc/mutt-1.2.5.1/manual.txt\n" "Show
> Mutt documentation"
> macro index   <f1> "!less /usr/share/doc/mutt-1.2.5.1/manual.txt\n" "Show
> Mutt documentation"
> macro pager   <f1> "!less /usr/share/doc/mutt-1.2.5.1/manual.txt\n" "Show
> Mutt documentation"
> set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch
> --output - %f"
> set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s
> %f"
> set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch
> --output - %f"
> set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd
> 0 --armor --detach-sign --textmode %?a?-u %a? %f"
> set pgp_clearsign_command="gpg --no-verbose --batch --output -
> --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
> set pgp_encrypt_only_command="pgpewrap gpg -v --batch --output -
> --encrypt --textmode --armor --always-trust -- -r %r -- %f"
> set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 -v --batch
> --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r --
> %f"
> set pgp_import_command="gpg --no-verbose --import -v %f"
> set pgp_export_command="gpg --no-verbose --export --armor %r"
> set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint
> --check-sigs %r"
> set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons
> --list-keys %r"
> set pgp_list_secring_command="gpg --no-verbose --batch --with-colons
> --list-secret-keys %r"
> set pgp_getkeys_command=""
> color hdrdefault red default
> color quoted brightblue default
> color signature red default
> color indicator brightyellow red
> color error brightred default
> color status yellow blue
> color tree magenta default      # the thread tree in the index menu
> color tilde magenta default
> color message brightcyan default
> color markers brightcyan default
> color attachment brightmagenta default
> color search default green      # how to hilite search patterns in the
> pager
> color header brightred default ^(From|Subject):
> color body magenta default "(ftp|http)://[^ ]+" # point out URLs
> color body magenta default [-a-z_0-9.]+@[-a-z_0-9.]+    # e-mail
> addresses
> color underline brightgreen default
> mono quoted bold
> set ispell="/usr/bin/aspell --mode=email check"
> --- End /etc/Muttrc
>

>
> >How-To-Repeat:
> >Fix:
> }}}

New description:

 I run Mutt on my ISP via telnet. My end if the telnet session is behind
 a firewall. I think there's some kind of keep-alive signalling that goes
 on and my firewall doesn't cooperate.

 Sometimes I'll leave mutt running this way and forget to disconnect, and
 eventually something times out (the keep-alive ?) and my telnet session
 dies. I typically am reading an IMAP mailbox on mail.spamcop.net when
 I do this.

 What I never knew before is that when this happens, Mutt keeps running
 over on the ISP, and evenutally consumes 100% of the CPU.

 My ISP doesn't like this, so they removed permissions from
 /usr/bin/mutt - only root can read it.

 Luckily, I "borrowed" a copy of the executable before they did this,
 (I renamed the file to "experiment"), and was able to get Mutt back
 into this state.

 I noticed that the CPU percentage reported by ps doesn't jump to 100%
 right away - it sort of gradually grows.

 To create the core file, I ran "kill -SIGBUS" to the wayward process.


 My ISP will probably get real mad and cut me off if they found out I was
 still running my "borrowed" copy of Mutt this way, so please don't tell
 them unless you have to.
 {{{
 -- Mutt Version Information


 Mutt 1.2.5.1i (2000-07-28)
 Copyright (C) 1996-2000 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.7-10 [using slang 10404]
 Compile options:
 -DOMAIN
 -DEBUG
 -HOMESPOOL  -USE_SETGID  -USE_DOTLOCK  +USE_FCNTL  -USE_FLOCK
 +USE_IMAP  +USE_GSS  +USE_SSL  +USE_POP  +HAVE_REGCOMP  -USE_GNU_REGEX
 +HAVE_COLOR  +HAVE_PGP  -BUFFY_SIZE -EXACT_ADDRESS  +ENABLE_NLS
 SENDMAIL="/usr/sbin/sendmail"
 MAILPATH="/var/mail"
 SHAREDIR="/etc"
 SYSCONFDIR="/etc"
 ISPELL="/usr/bin/ispell"
 To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
 To report a bug, please use the muttbug utility.
 }}}
 {{{
 -- Core Dump Analysis Output


 GNU gdb Red Hat Linux (5.1-1)
 Copyright 2001 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you
 are
 welcome to change it and/or distribute copies of it under certain
 conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for
 details.
 This GDB was configured as "i386-redhat-linux"...
 (no debugging symbols found)...
 Core was generated by `experiment'.
 Program terminated with signal 7, Bus error.
 Reading symbols from /usr/lib/libslang.so.1...done.
 Loaded symbols for /usr/lib/libslang.so.1
 Reading symbols from /lib/i686/libm.so.6...done.
 Loaded symbols for /lib/i686/libm.so.6
 Reading symbols from /usr/kerberos/lib/libgssapi_krb5.so.2...done.
 Loaded symbols for /usr/kerberos/lib/libgssapi_krb5.so.2
 Reading symbols from /usr/kerberos/lib/libkrb5.so.3...done.
 Loaded symbols for /usr/kerberos/lib/libkrb5.so.3
 Reading symbols from /usr/kerberos/lib/libk5crypto.so.3...done.
 Loaded symbols for /usr/kerberos/lib/libk5crypto.so.3
 Reading symbols from /usr/kerberos/lib/libcom_err.so.3...done.
 Loaded symbols for /usr/kerberos/lib/libcom_err.so.3
 Reading symbols from /lib/libssl.so.2...done.
 Loaded symbols for /lib/libssl.so.2
 Reading symbols from /lib/libcrypto.so.2...done.
 Loaded symbols for /lib/libcrypto.so.2
 Reading symbols from /lib/i686/libc.so.6...done.
 Loaded symbols for /lib/i686/libc.so.6
 Reading symbols from /lib/libdl.so.2...done.
 Loaded symbols for /lib/libdl.so.2
 Reading symbols from /lib/ld-linux.so.2...done.
 Loaded symbols for /lib/ld-linux.so.2
 #0  0x4005fa3a in SLsmg_write_color_chars () from /usr/lib/libslang.so.1
 (gdb) where
 #0  0x4005fa3a in SLsmg_write_color_chars () from /usr/lib/libslang.so.1
 #1  0x400657e3 in SLcurses_wnoutrefresh () from /usr/lib/libslang.so.1
 #2  0x40065870 in SLcurses_wrefresh () from /usr/lib/libslang.so.1
 #3  0x08058400 in strcpy ()
 #4  0x08058a2d in strcpy ()
 #5  0x0806b45f in strcpy ()
 #6  0x0805d5d6 in strcpy ()
 #7  0x0806c9fc in strcpy ()
 #8  0x40246647 in __libc_start_main (main=0x806be30 <strcpy+132008>,
 argc=1,
     ubp_av=0xbffff974, init=0x804acc0 <_init>, fini=0x80a27a0 <_fini>,
     rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbffff96c)
     at ../sysdeps/generic/libc-start.c:129
 (gdb) list
 1       rtld.c: No such file or directory.
         in rtld.c
 (gdb) quit
 }}}

-- 
Ticket URL: <http://dev.mutt.org/trac/ticket/1220#comment:3>