Mail Archives: cygwin/2002/03/01/09:48:09
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 -