Date: Sat, 6 Apr 2013 11:32:24 -0900 (AKST) From: Joe Public <root@ai1.alaska.net> To: FreeBSD-gnats-submit@freebsd.org Subject: bin/177674: /bin/sh 'while read X' loop problem Message-ID: <201304062032.r36KWOJk085654@ai1.alaska.net> Resent-Message-ID: <201304062040.r36Ke06L075394@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 177674 >Category: bin >Synopsis: /bin/sh 'while read X' loop problem >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Apr 06 20:40:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Joe Public >Release: FreeBSD 9.1-RELEASE i386 >Organization: none >Environment: System: FreeBSD 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec 4 06:55:39 UTC 2012 root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: There is some kind of problem with 'read' in a sh(1) loop, but it is only demonstrated with some programs (such as mplayer). >How-To-Repeat: First, create a file with some valid MP3 pathanmes inside, then: OK: while read X; do echo $X; done < FILEWITHMP3PATHNAMES OK: while read X; do ls -l $X; done < FILEWITHMP3PATHNAMES FAIL: while read X; do mplayer $X; done < FILEWITHMP3PATHNAMES This last command line will fail in a mess of corruption, and it is difficult to explain what is actually occurring. With only 1 pathname in the file, it works OK, but with 2 or more, it increasingly results in more and more corruption. >Fix: I don't know what the problem is. I tried inserting sleep(1) commands to make the loop slow and other things, but nothing made any difference. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304062032.r36KWOJk085654>