Ticket #3108 (new defect) — at Initial Version

Opened 12 years ago

Last modified 15 months ago

Hangs and CPU very high load after exit

Reported by: olegon Owned by:
Priority: critical Milestone:
Component: mc-core Version:
Keywords: hangs Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

Sometimes mc process consumed 100% of CPU core. As I recognized it's only from root account, so by sudo mc or from simple sudo -i. I recompile it' many times with different options without success.

strace -o /tmp/trc -fp PID gave me a very big file with next cyclic content
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 read(0, "", 1) = 0
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])
9740 select(4, [0 3], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
9740 select(4, [0 3], NULL, NULL, NULL) = 1 (in [0])

uname -a
Linux oops 3.10.17-gentoo #1 SMP Mon Nov 4 09:03:59 MSK 2013 x86_64 Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz GenuineIntel? GNU/Linux

but many cores changed after I found this bug. I can't make stable testcase, but very often found CPU load :(

LC_MESSAGES=C mc -V
GNU Midnight Commander 4.8.7
Built with GLib 2.32.4
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, fish
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

LC_MESSAGES=C mc -F
Root directory: /root

[System data]

Config directory: /etc/mc/
Data directory: /usr/share/mc/
File extension handlers: /usr/libexec/mc/ext.d/
VFS plugins and scripts: /usr/libexec/mc/

extfs.d: /usr/libexec/mc/extfs.d/
fish: /usr/libexec/mc/fish/

[User data]

Config directory: /root/.mc/
Data directory: /root/.mc/

skins: /root/.mc/skins/
extfs.d: /root/.mc/extfs.d/
fish: /root/.mc/fish/
mcedit macros: /root/.mc/mc.macros
mcedit external macros: /root/.mc/mcedit/macros.d/macro.*

Cache directory: /root/.mc/

mc --configure-options

'--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--libdir=/usr/lib64' '--disable-silent-rules' '--disable-dependency-tracking' '--enable-nls' '--enable-vfs' '--enable-vfs-undelfs' '--enable-charset' '--without-x' '--disable-vfs-smb' '--disable-vfs-sftp' '--disable-aspell' '--without-gpm-mouse' '--with-screen=ncurses' '--with-edit' '--enable-mclib' '--disable-tests' '--with-homedir=.mc' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-march=native -mtune=native -O2 -pipe -fomit-frame-pointer' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed' 'PKG_CONFIG_PATH=/usr/lib64/pkgconfig'

Note: See TracTickets for help on using tickets.