Rätsel: gzip | nc <-> nc | gzcat = gzcat: (stdin): unexpected end of file

From: Till Toenges <tt(at)kyon.de>
Date: Fri, 16 Aug 2013 18:27:44 +0200

Hallo allerseits,

ich habe in FreeBSD 9.1 ein Problem mit gzip und nc. Und zwar kriege ich
unter bestimmten Umständen immer eine defekte Datei.

server1.example (Sender):

# dd if=/dev/urandom of=/tank/r bs=1m count=3072
...
# md5 /tank/r
MD5 (/tank/r) = 980d04f51da3df56b3498d8f047ddfec
# < /tank/r gzip -1 | nc server2.example 1234
# < /tank/r cat | nc server2.example 1234

server2.example (Empfänger):

# nc -l 1234 | gzcat > /dev/null
gzcat: (stdin): unexpected end of file
# nc -l 1234 | md5
980d04f51da3df56b3498d8f047ddfec

Der Fehler tritt zuverlässig auf, und immer (etwa) an der gleichen
Stelle zum Ende hin. Ohne gzip wird die Datei auch korrekt übertragen
(md5 ist gleich). Es ist also kein Leitungsproblem. Mit kleineren
Dateien klappt es auch mit gzip ohne Fehler. Oder auch, wenn statt
/dev/urandom /dev/zero verwendet wird.

Was aber ohne Probleme geht:

# < /tank/r gzip -1 | gzcat > /dev/null
# < /tank/r gzip -1 | cat | gzcat > /dev/null

Es ist also auch kein reines gzip Problem. Sondern irgendwie eine
absonderliche Kombination aus gzip und nc.

Hat da jemand eine Idee, woran das liegen kann?

Schöne Grüße,

Till

-- 
Kyon, Till Toenges, tt@kyon.de, http://kyon.de
Woltersweg 5, 47608 Geldern, +49-2831-1215691
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 16 Aug 2013 - 18:27:50 CEST

search this site