httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Ballier <ball...@mail.schule.de>
Subject Re: Fehlerhafte Dateiübertragung
Date Fri, 16 Jul 2010 09:51:15 GMT
Hallo,

ich habe zum besseren Testen eine Modelldatei hergestellt, die aus 1024
Zeilen der Form

012345670123456701234567012345670123456701234567012345670123456

besteht. Dadurch entsteht eine Datei mit genau 65536 Zeichen (die Zeilen
enden jedesmal bei 6 und nicht 7, weil der Zeilenwechsel \n als eigenes
Zeichen zählt).

Rufe ich jetzt

strace -f -s 200000 -o proto ./httpd

auf und lade die genannte Datei herunter, so kann ich in proto einigermaßen
nachvollziehen, was geschieht.

Nach gut 3000 Zeilen beginnt der Download der Datei.
Es werden 8192 Zeichen gelesen: 

read(32, "0123...456\n", 8192) = 8192

und wieder geschrieben: 

write(31, "0123...456\n", 8192) = 8192

Das ganze vollzieht sich in dieser Form siebenmal. Beim achtenmal (dann
wären ja die 65536 Zeichen vollständig übertragen worden) sieht das Ganze
ein wenig anders aus:

read(32, "0123...456\n", 8192) = 8192

write(31, "0123...456\n", 8192) = 1

Hier scheint also nur 1 Zeichen geschrieben worden zu sein. Die nachfolgende
Zeile lautet:

poll([{fd=31, events=POLLOUT, revents=POLLOUT}], 1, 300000) = 1

Dann folgen offenbar die noch fehlenden Zeichen:

write(31, "0123...456\n", 8191) = 8191

Von ASCII-Nullen ist nichts zu sehen. Aber die übertragene Datei ist fast
doppelt so lang, weil an ihr reguläres Ende ASCII-Nullen angehängt worden
sind. wc a65536.pdf liefert

 1024 1025 122879 a65536.pdf

Soll ich noch mehr Inhalte der Protokolldatei posten?

Gruß

Ralph

 
----------------ursprüngliche Nachricht-----------------
Von: "Rainer Sokoll" r.sokoll@intershop.de
An: users-de@httpd.apache.org
Datum: Fri, 16 Jul 2010 08:57:39 +0200
-------------------------------------------------
 
 
> On Thu, Jul 15, 2010 at 09:19:26PM +0200, Ralph Ballier wrote:
> 
>> Mit
>> 
>> strace -s 250 -o proto ./httpd
>> 
>> erreiche ich, dass die Datei proto mit ca. 1000 Zeilen vollgeschrieben 
>> wird.
>> Dann passiert aber nichts mehr und strace läuft auch nicht mehr. Ich
kann
>> also nicht nachvollziehen, welche Auswirkung der Download der Datei hat.
>> Offenbar wird mit strace nur der Start des httpd dokumentiert.
> 
> man strace:
> -f Trace child processes as they are created by cur‐
> rently traced processes as a result of the fork(2)
> system call.
> 
> HTH,
> Rainer
> 
> 
> --------------------------------------------------------------------
> ------
> Apache HTTP Server Mailing List "users-de" 
> unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
> sonstige Anfragen an users-de-help@httpd.apache.org
> 
> --------------------------------------------------------------------
> ------
> 
> 
> 



--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message