delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/03/01/09:48:09

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <3C7F9428.7020508@scytek.de>
Date: Fri, 01 Mar 2002 15:46:00 +0100
From: Volker Quetschke <quetschke AT scytek DOT de>
User-Agent: Mozilla/5.0 (Windows; U; Win98; de-DE; rv:0.9.4) Gecko/20011019 Netscape6/6.2
X-Accept-Language: de-DE
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Child died with signal 13
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>
X-Sender: 320071185708-0001 AT t-dialin DOT net

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019