Bug#637611: mplayer: redirected stdin from /dev/null causes 100% busy loop
Tim Connors
reportbug at rather.puzzling.org
Sat Aug 13 02:50:19 UTC 2011
Package: mplayer
Version: 3:1.0~rc4+svn20110505-0.2
Severity: normal
It seems that relatively recently there has been a regression where
the keyboard reading from /dev/stdin doesn't do appropriate error
checking. If /dev/stdin is redirected from /dev/null (eg, when
mplayer is run from a cronjob), strace shows:
select(1, [0], NULL, NULL, {0, 10000}) = 1 (in [0], left {0, 9997})
read(0, "", 256) = 0
select(1, [0], NULL, NULL, {0, 10000}) = 1 (in [0], left {0, 9997})
read(0, "", 256) = 0
select(1, [0], NULL, NULL, {0, 10000}) = 1 (in [0], left {0, 9997})
read(0, "", 256) = 0
select(1, [0], NULL, NULL, {0, 10000}) = 1 (in [0], left {0, 9996})
read(0, "", 256) = 0
The parent process is stuck read()ing with a return code that should
imply EOF. mplayer appears not to check for EOF, so just reads again
immediately. Fortunately, the worker process is still doing its job,
but my poor dualcore CPU in my laptop is getting a bit warm.
(If I simply redirect /dev/stdin to a named pipe with no writer
connected to it, then mplayer doesn't even start up because it's
blocking on read. So that's not a suitable workaround)
-- System Information:
Debian Release: 6.0.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'oldstable'), (500, 'stable'), (5, 'testing'), (1, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.39-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages mplayer depends on:
ii liba52 0.7.4-14 library for decoding ATSC A/52 str
ii libaa1 1.4p5-38 ascii art library
ii libaso 1.0.23-2.1 shared library for ALSA applicatio
ii libatk 1.30.0-1 The ATK accessibility toolkit
ii libaud 1.9.2-4 Network Audio System - shared libr
ii libbs2 3.1.0-0.2 Bauer stereophonic-to-binaural DSP
ii libbz2 1.0.5-6 high-quality block-sorting file co
ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib
ii libcac 0.99.beta17-1 colour ASCII art library
ii libcai 1.8.10-6 The Cairo 2D vector graphics libra
ii libcdp 3.10.2+debian-9 audio extraction tool for sampling
ii libdca 0.0.5-3 decoding library for DTS Coherent
ii libdir 1.0.2-3 open and royalty free high quality
ii libdir 1.0.2-3 open and royalty free high quality
ii libdir 1.2.10.0-4 direct frame buffer graphics - sha
ii libdv4 1.0.0-2.1 software library for DV format dig
ii libenc 1.13-3 Extremely Naive Charset Analyser -
ii libfaa 1.28-0.3 an AAC audio encoder - library fil
ii libfaa 2.7-6 freeware Advanced Audio Decoder -
ii libfon 2.8.0-2.1 generic font configuration library
ii libfre 2.4.2-2.1 FreeType 2 font engine, shared lib
ii libfri 0.19.2-1 Free Implementation of the Unicode
ii libgcc 1:4.4.5-8 GCC support library
ii libgdk 2.23.5-1 GDK Pixbuf library
ii libggi 1:2.2.2-5 General Graphics Interface runtime
ii libggi 0.3.2-2 GGI Window Manager Hints extension
ii libgif 4.1.6-9 library for GIF images (library)
ii libgl1 7.7.1-4 A free implementation of the OpenG
ii libgli 2.28.6-1 The GLib library of C routines
ii libgtk 2.24.5-2 GTK+ graphical user interface libr
ii libjac 1:0.118+svn3796-7 JACK Audio Connection Kit (librari
ii libjpe 8c-2 Independent JPEG Group's JPEG runt
ii liblir 0.8.3-5 infra-red remote control support -
ii liblzo 2.03-2 data compression library
ii libmad 0.15.1b-5 MPEG audio decoder library
ii libmng 1.0.10-1+b1 Multiple-image Network Graphics li
ii libmp3 1:3.98.4-0.2 LAME Ain't an MP3 Encoder (shared
ii libncu 5.7+20100313-5 shared libraries for terminal hand
ii libogg 1.2.0~dfsg-1 Ogg bitstream library
ii libope 0.1.2-1 Adaptive Multi Rate speech codec -
ii libope 0.1.2-1 Adaptive Multi-Rate - Wideband spe
ii libope 1.3+dfsg-4 JPEG 2000 image compression/decomp
ii libpan 1.28.3-1+squeeze2 Layout and rendering of internatio
ii libpng 1.2.44-1+squeeze1 PNG library - runtime
ii libpul 0.9.21-3+squeeze1 PulseAudio client libraries
ii librtm 2.3-2 toolkit for RTMP streams (shared l
ii libsch 1.0.9-2 library for encoding/decoding of D
ii libsdl 1.2.14-6.1 Simple DirectMedia Layer
ii libsmb 2:3.5.6~dfsg-3squeeze5 shared library for communication w
ii libspe 1.2~rc1-1 The Speex codec runtime library
ii libstd 4.6.0-2 The GNU Standard C++ Library v3
ii libsvg 1:1.4.3-29 console SVGA display libraries
ii libthe 1.1.1+dfsg.1-3 The Theora Video Compression Codec
ii libvdp 0.4.1-2 Video Decode and Presentation API
ii libvor 1.3.1-1 The Vorbis General Audio Compressi
ii libvor 1.3.1-1 The Vorbis General Audio Compressi
ii libvpx 0.9.1-2 VP8 video codec (shared library)
ii libx11 2:1.3.3-4 X11 client-side library
ii libx26 2:0.116.2037+gitf8ebd4a-3~bpo60+1 x264 video coding library
ii libxex 2:1.1.2-1 X11 miscellaneous extension librar
ii libxin 2:1.1-3 X11 Xinerama extension library
ii libxss 1:1.2.0-2 X11 Screen Saver extension library
ii libxt6 1:1.0.7-1 X11 toolkit intrinsics library
ii libxv1 2:1.0.5-1 X11 Video extension library
ii libxvi 2:1.2.2-0.1 High quality ISO MPEG4 codec libra
ii libxvm 2:1.0.5-1 X11 Video extension library
ii libxxf 2:1.1.1-2 X11 Direct Graphics Access extensi
ii libxxf 1:1.1.0-2 X11 XFree86 video mode extension l
ii mplaye 1.6-2 blue skin for mplayer
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
mplayer recommends no packages.
Versions of packages mplayer suggests:
pn jackd <none> (no description available)
ii libdvdcss2 [libdvdcss] 1.2.10-0.3 Simple foundation for reading DVDs
pn mplayer-doc <none> (no description available)
ii nvidia-vdpau-driver 275.09.07-5 NVIDIA vdpau driver
pn pulseaudio <none> (no description available)
-- no debconf information
More information about the pkg-multimedia-maintainers
mailing list