Marc Reichelt: Apache: Download einer 4,2 GB großen Datei schlägt fehl

Hallo an alle,

ich nutze derzeit einen Apache 2.2.3 auf Debian Sarge (32 Bit) und habe in einem Ordner eine Datei liegen (abivideo.iso), die 4.499.505.152 Bytes groß ist.
Wenn ich nun diese Datei mit Firefox 2 oder wget herunterlade (in der ich schon ebenso große Dateien herunterladen konnte), bricht der Download stets bei etwa 521 MB ab.

Das verrückte: Eine von mir über den Befehl "dd if=/dev/urandom of=test.iso bs=1024 count=4394048" erzeugte exakt gleich große Datei, die ich im gleichen Ordner abgelegt habe, kann ordnungsgemäß heruntergeladen werden (bin aktuell bei 1,2 GB, und das ist bereits mehr als ich bei der anderen Datei herunterladen konnte).

Meine Vermutung ist es nun, dass der Dateiinhalt für diesen Fehler verantwortlich ist.

Aber: Wie behebe ich das Problem nun? Generell sollte doch eine Datei _unabhängig von ihrem Inhalt_ ausgeliefert werden können?

Einen Link zur entsprechenden Datei kann ich hier nicht veröffentlichen, aber auf Anfrage kann ich einen geben.

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
  1. Hallo nochmals,

    [...] bricht der Download stets bei etwa 521 MB ab.

    Ich sollte besser sagen: Der Download bleibt stehen und fährt nicht weiter fort, der Download ist also auch noch nicht 'abgeschlossen'.

    Grüße

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
  2. Hallo,

    ich nutze derzeit einen Apache 2.2.3 auf Debian Sarge (32 Bit) und habe in einem Ordner eine Datei liegen (abivideo.iso), die 4.499.505.152 Bytes groß ist.
    Wenn ich nun diese Datei mit Firefox 2 oder wget herunterlade (in der ich schon ebenso große Dateien herunterladen konnte), bricht der Download stets bei etwa 521 MB ab.

    Meine Vermutung ist es nun, dass der Dateiinhalt für diesen Fehler verantwortlich ist.

    ich denke mal eher, dass es die 2GB Grenze ist.

    Overview of new features in Apache 2.2

    Large File Support
      httpd is now built with support for files larger than 2GB on modern 32-bit Unix systems. Support for handling >2GB request bodies has also been added.

    vielleicht muss man das erst aktivieren

    mfg
    Twilo

    1. Hi,

      Meine Vermutung ist es nun, dass der Dateiinhalt für diesen Fehler verantwortlich ist.
      ich denke mal eher, dass es die 2GB Grenze ist.
      Overview of new features in Apache 2.2
      Large File Support

      so ein Gedanke kam mir auch - aber warum sollte der Download dann immer ausgeechnet nach 521MB übertragener Datenmenge hängenbleiben?

      Marc, lässt sich diese große Datei denn lokal lesen/kopieren? Ich weiß, die Frage klingt trivial. Aber ich wollte nur ausschließen, dass es sich um ein Dateisystem- oder Datenträgerproblem handelt.

      So long,
       Martin

      --
      Schildkröten können mehr über den Weg berichten als Hasen.
      1. Hallo Martin,

        Marc, lässt sich diese große Datei denn lokal lesen/kopieren? Ich weiß, die Frage klingt trivial. Aber ich wollte nur ausschließen, dass es sich um ein Dateisystem- oder Datenträgerproblem handelt.

        Die Datei lässt sich auf all meinen Systemen (auch auf dem Server) wunderbar lesen und kopieren - die MD5-Summe ist auf beiden Systemen ürigens identisch.

        Das Herunterladen der Datei 'test.iso', die im gleichen Verzeichnis wie 'abivideo.iso' liegt (und exakt die gleiche Größe hat) klappt wunderbar. Auch die MD5-Summe ist hier korrekt.
        Es scheint also wirklich am Dateiinhalt der Datei abivideo.iso zu liegen.
        Nur: Wie behebe ich dieses Problem? Könnte das ein Bug im Apache Webserver sein?

        Grüße

        Marc Reichelt || http://www.marcreichelt.de/

        --
        Linux is like a wigwam - no windows, no gates and an Apache inside!
        Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
  3. Das verrückte: Eine von mir über den Befehl "dd if=/dev/urandom of=test.iso bs=1024 count=4394048" erzeugte exakt gleich große Datei, die ich im gleichen Ordner abgelegt habe, kann ordnungsgemäß heruntergeladen werden (bin aktuell bei 1,2 GB, und das ist bereits mehr als ich bei der anderen Datei herunterladen konnte).

    wie sehen jeweils die header aus?

    Gruß
    Reiner

    1. Hallo Reiner,

      Das verrückte: Eine von mir über den Befehl "dd if=/dev/urandom of=test.iso bs=1024 count=4394048" erzeugte exakt gleich große Datei, die ich im gleichen Ordner abgelegt habe, kann ordnungsgemäß heruntergeladen werden (bin aktuell bei 1,2 GB, und das ist bereits mehr als ich bei der anderen Datei herunterladen konnte).

      wie sehen jeweils die header aus?

      Bis auf ETag, Date und Last-Modified sehen sie exakt gleich aus:

      abivideo.iso:

      HTTP/1.1 200 OK
      Date: Sun, 27 May 2007 11:27:23 GMT
      Server: Apache/2.2.3
      Last-Modified: Thu, 26 Apr 2007 11:43:41 GMT
      ETag: "2a40ef-c310000-87c33540"
      Accept-Ranges: bytes
      Content-Length: 4499505152
      Content-Type: application/x-iso9660-image

      test.iso:

      HTTP/1.1 200 OK
      Date: Sun, 27 May 2007 11:28:30 GMT
      Server: Apache/2.2.3
      Last-Modified: Thu, 24 May 2007 15:44:42 GMT
      ETag: "35c004-c310000-29430e80"
      Accept-Ranges: bytes
      Content-Length: 4499505152
      Content-Type: application/x-iso9660-image

      Grüße

      Marc Reichelt || http://www.marcreichelt.de/

      --
      Linux is like a wigwam - no windows, no gates and an Apache inside!
      Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)