# iotop Traceback (most recent call last): File "/usr/sbin/iotop-python2.7", line 16, in <module> main() File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 605, in main main_loop() File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 595, in <lambda> main_loop = lambda: run_iotop(options) File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 493, in run_iotop return curses.wrapper(run_iotop_window, options) File "/usr/lib64/python2.7/curses/wrapper.py", line 43, in wrapper return func(stdscr, *args, **kwds) File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 486, in run_iotop_window ui.run() File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 155, in run self.process_list.duration) File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 431, in refresh_display lines = self.get_data() File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 412, in get_data return list(map(format, processes)) File "/usr/lib64/python2.7/site-packages/iotop/ui.py", line 385, in format cmdline = p.get_cmdline() File "/usr/lib64/python2.7/site-packages/iotop/data.py", line 292, in get_cmdline proc_status = parse_proc_pid_status(self.pid) File "/usr/lib64/python2.7/site-packages/iotop/data.py", line 196, in parse_proc_pid_status key, value = line.split(':\t', 1) Portage 2.2.0_alpha163 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.2, glibc-2.16.0, 3.7.9-vs2.3.5.6 x86_64) ================================================================= System uname: Linux-3.7.9-vs2.3.5.6-x86_64-AMD_Phenom-tm-_II_X4_965_Processor-with-gentoo-2.2 KiB Mem: 7921088 total, 1981116 free KiB Swap: 29360100 total, 29080468 free Timestamp of tree: Unknown ld GNU ld (GNU Binutils) 2.23.1 app-shells/bash: 4.2_p42 dev-java/java-config: 2.1.12-r1 dev-lang/python: 2.7.3-r3 dev-util/cmake: 2.8.10.2-r1 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.9.6-r3, 1.11.6, 1.12.6, 1.13.1 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.7.2 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.7 (virtual/os-headers) sys-libs/glibc: 2.16.0 Repositories: gentoo laurentb ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb" CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe -ggdb" DISTDIR="/chroot/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=n" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://mirrors.sohu.com/gentoo/ http://ftp.kaist.ac.kr/pub/gentoo/ http://gentoo.mirrors.hoobly.com/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j6" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/chroot/build" PORTDIR="/home/pl/code/gentoo-x86" PORTDIR_OVERLAY="/var/lib/layman/laurentb" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acpi alsa amd64 bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cjk cli compat consolekit crypt cups curl cxx dbus declarative dri dts dvd dvdr dvdread emboss encode exif expat fam ffmpeg firefox flac foomaticdb fortran ftp gcj gd gdbm gif gmp gnutls gpm gtk iconv icq idn imagemagick imap imlib innodb ipod ipv6 jabber javascript jingle jpeg jpeg2k kde kdehiddenvisibility kipi lame lcms libnotify lzo mad matroska md5sum midi mmap mmx mng modules mp3 mp4 mpeg mplayer msn mudflap multilib musepack musicbrainz mysql ncurses nls nptl nsplugin offensive ogg openal openexr opengl openmp oscar pam pango pcre pdf perl php plasma png policykit ppds python qt3support qt4 quicktime raw rdesktop readline rss samba sdl semantic-desktop session speex spell sqlite sqlite3 sse sse2 sse3 ssl ssse3 startup-notification subversion svg syslog taglib tcpd threads tidy tiff tk truetype udev udisks unicode upower usb vlc vorbis wifi wmf wxwidgets wxwindows x264 xattr xcb xcomposite xine xinerama xml xmlrpc xpm xscreensaver xulrunner xv xvid zlib" ABI_X86="64" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB de de_DE" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" QEMU_SOFTMMU_TARGETS="x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon r600" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
anything special on this box?
(In reply to comment #1) > anything special on this box? Possibly vserver-sources kernel. Can't reproduce it on a different machine. Any debug output you need to figure out what's happening?
let me point upstream to this. Perhaps we can get some answers there.
Hello, got the same problem here. The box is a vserver as well. It fails with sys-process/iotop-0.5-r1 and sys-process/iotop-0.6. I could swear it once worked on this box, but I couldn't say if that was a previous version(0.4.4 here) or because of a change in kernel/vserver...
The code that fails is about parsing /proc/xx/status. A quick python shows that the lines that fail are : VxID and NxID, which are exactly the lines that appear on my vserver and do not appear on any other box. So it's definitely a vserver-related box, and probably something that upstream should fix.
(In reply to Thomas Capricelli from comment #5) > So it's definitely a vserver-related box, and probably something that vserver-related PROBLEM, of course
(In reply to Thomas Capricelli from comment #5) > The code that fails is about parsing /proc/xx/status. A quick python shows > that the lines that fail are : VxID and NxID, which are exactly the lines > that appear on my vserver and do not appear on any other box. Can you please provide the output of `cat /proc/1/status` as an example, so that we can work on a patch? Thanks (In reply to Justin Lecher from comment #3) > let me point upstream to this. Perhaps we can get some answers there. Is there an upstream bug report to referred to, or did you write an email?
(In reply to Michael Weber from comment #7) > (In reply to Justin Lecher from comment #3) > > let me point upstream to this. Perhaps we can get some answers there. > Is there an upstream bug report to referred to, or did you write an email? I drop him a mail, but never got a reply.
(In reply to Michael Weber from comment #7) > Can you please provide the output of `cat /proc/1/status` as an example, so > that we can work on a patch? Thanks Sure. I thought we would just hope/wait for a fix upstream. ~ # cat /proc/1/status Name: init State: S (sleeping) Tgid: 1 Pid: 1 PPid: 0 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 64 Groups: VmPeak: 4216 kB VmSize: 4212 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 680 kB VmRSS: 652 kB VmData: 172 kB VmStk: 136 kB VmExe: 36 kB VmLib: 1780 kB VmPTE: 28 kB VmSwap: 16 kB Threads: 1 SigQ: 1/61420 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: fffffffe57f0d8fc SigCgt: 00000000280b2603 CapInh: 0000000000000000 CapPrm: 0000001fffffffff CapEff: 0000001fffffffff CapBnd: 0000001fffffffff Seccomp: 0 Cpus_allowed: 3 Cpus_allowed_list: 0-1 VxID: 0 NxID: 0 voluntary_ctxt_switches: 157787 nonvoluntary_ctxt_switches: 32
problem still present with sys-process/iotop-0.6
Dropped long ago
What do you mean "dropped" ???
(In reply to Thomas Capricelli from comment #12) > What do you mean "dropped" ??? Didn't recognised that this issue still exists. We need to update the summary always.
On the other hand, i can't confirm the bug. I've removed (emerge -C) and re-emerged iotop-0.6, and I can't reproduce the bug on the vserver where I had the bug. It might be that vserver was patched since then to produce correct output in /proc/*/status. For reference, the server is running 3.18.7-vs2.3.7.4, and was updated since my last confirmation (december 26th, 2014, almost one year ago).
Debian iotop packager and upstream committer here. The initial bug report didn't mention what exception was thrown, but I am betting it is this: ValueError: need more than 1 value to unpack I am betting iotop is choking on this line: Groups: However, it is hard to tell because it was copy-pasted and that could have modified the content.
Could someone who uses vserver attach a tarball containing their /proc/1/status file? If you can determine which process causes this and copy that one too, that would help fixing this. tar cf iotop-debug.tar /proc/1/status
I've pushed a commit upstream that should fix this if it happens again: http://repo.or.cz/iotop.git/commitdiff/7814f30a5ed65acd07f284bba991ca557788ee80
(In reply to Paul Wise (Debian) from comment #16) > Could someone who uses vserver attach a tarball containing their > /proc/1/status file? If you can determine which process causes this and copy > that one too, that would help fixing this. > > tar cf iotop-debug.tar /proc/1/status You misread, there's an example of /proc/1/status in comment 9 + detailed explanations of what's going on.
(In reply to Paul Wise (Debian) from comment #17) > I've pushed a commit upstream that should fix this if it happens again: > > http://repo.or.cz/iotop.git/commitdiff/ > 7814f30a5ed65acd07f284bba991ca557788ee80 Not sure this is needed anymore. With my kernel 4.1.25-vs2.3.8.4, i can confirm that even the VxID/NxID lines are exactly as others ("VxID:<tab>0"). (and iotop works well, unpatched)
Comment 9 included spaces not tabs, in all of the fields, so it wasn't useful for checking this bug. Glad your kernel got fixed, the patch will be useful in case it ever gets reintroduced in another field though.