Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: <5.1.0.14.2.20020301071026.00aaf878@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Fri, 01 Mar 2002 07:29:10 -0800 To: Volker Quetschke , cygwin AT cygwin DOT com From: Randall R Schulz Subject: Re: Child died with signal 13 In-Reply-To: <3C7F9428.7020508@scytek.de> References: <3C7B6591 DOT 9040503 AT scytek DOT de> <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20020228072243 DOT 00aae918 AT pop3 DOT cris DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Volker, I don't think there's a problem here, actually. I occasionally get these diagnostics, too, but there's never a problem extracting the files from the archive. Apparently tar knows it's seen the last TOC entry and closes the pipe from the gunzip sub-process. Then it waits for that process to exit. Since gunzip doesn't explicitly handle SIGPIPE and terminate gracefully, its death at the hand of the SIGPIPE is reported to tar and tar then dutifully reports it to you. I retrieved your test file and got the same result as you. Aside from the diagnostic, which I got for this file and get for others sometimes, I've had no trouble with tar. I can't tell for sure if "a/error.txt" was retrieved accurately, so here's the checksum for that file as extracted on my system: % sum a/error.txt 28232 9 However, by using tar's "-i" option: -i, --ignore-zeros ignore zeroed blocks in archive (means EOF) the error was suppressed. I'm guessing it forces tar to read all the data in the uncompressed input file instead of quitting early. My recommendation is that you ignore this error. If you're concerned about the data integrity, you can use the "-t --test" option to gunzip to check the data in your gzip-ed files before submitting them to tar. Randall Schulz Mountain View, CA USA At 06:46 2002-03-01, Volker Quetschke wrote: >Hi, > >>Signal numbers and errno codes (and process status codes) are distinct. >>Process status codes to incorporate the signal number when a signal >>caused the death of the process. >> >>Signal 13 is SIGPIPE: Write to a pipe with no process there to read the >>data. In your context, this means the tar process has closed the pipe >>because it has concluded there is no more data to be retrieved from the >>gunzip sub-process it started in response to the 'z' option. If tar >>didn't do this, it would have to read all the gunzip-ed data. If it >>didn't either close the pipe (leading to the signal) or read the data, >>the child would just block and those processes would stall (at least >>until you or some other external action killed the tar + gunzip process group). > > >I have no idea where the problem is, but I got one ME TOO which confirmed >that not only I have the problem with tar saying: "Child died with signal >13". So, Windows 2000, Windows 2000 Server and Windows NT4 SP6 have the >problem, Windows 98 and any other *nix machine I testet have not. I think >it's cygwin related! > >Because I have no idea where to look in the cygwin sources I decided the >only way to help the developers *YOU* is to build a more simple testcase. >Here it comes: > >-------------------------- >Administrator AT LISI ~/qqq >$ tar -czvf a.tar.gz a/ >a/ >a/error.txt > >Administrator AT LISI ~/qqq >$ tar -tzvf a.tar.gz >drwxrwxrwx Administratoren/Kein 0 2002-03-01 14:22:18 a/ >-rwxrwxrwx Administratoren/Kein 8193 2002-03-01 14:21:15 a/error.txt >tar: Child died with signal 13 >tar: Error exit delayed from previous errors > >Administrator AT LISI ~/qqq >$ tar -cvf a.tar a/ >a/ >a/error.txt > >Administrator AT LISI ~/qqq >$ ll >total 21 >drwxrwxrwx 2 Administ Kein 0 Mar 1 14:22 a >-rw-rw-rw- 1 Administ Kein 20480 Mar 1 14:26 a.tar >-rw-rw-rw- 1 Administ Kein 299 Mar 1 14:23 a.tar.gz >-------------------------- > >You can get a.tar.gz at: http://www.scytek.de/a.tar.gz . The problem is >related to the length of the tar file. If you delete one charakter in >error.txt, and its length drops to 8192 then the length of the tar file >drops to 10240 bytes and you don't get the "tar: Child died with signal >13". I didn't test how many bytes one has to add to let the error vanish. > >Hope this makes it easy to find the problem. > > Volker -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/