[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Korrupte Files vom Apachen bei Kernel 4.9.0-0.bpo.3-amd64



Hallo,

große Hoffnung habe ich nicht… aber hier mal eine Beschreibung des
Symptoms, vielleicht hat jemand schon was ähnliches gesehen:

Mit wget hole ich von einem Apachen (lokaler Host) eine PNG-Datei.
Diese Datei unterscheidet sich anschließend vom Original. Das ist
reproduzierbar, mit großer Wahrscheinlichkeit. Manchmal funktioniert es
auch.

Testhalber haben wir die Datei durch eine ihrer Größe entsprechende
Anzahl von NULLEN ersetzt, da passiert das selbe, dass ein Teil der
Daten beim Empfänger dann keine NULLEN mehr sind. Die Größe der
Korruption ist unterschiedlich.  Bei Dateien <64k konnten wir den Effekt
noch nicht festellen. Bei Files, die ca 128k sind, einigermaßen
regelmäßig. Der Inhalt der Korruption ist immer anders. Es sieht aus,
wie teilweise die Inhalte anderer Dateien. Die Dateien liegen in einem
CIFS Share (exportiert vom selben Rechner an sich selbst, aus
verschiedenen Gründen).

Im strace des Apachen sehe ich im (meiner Meinung nach) relevanten Teil folgendes:

20948 15:52:17.602662 open("/var/www/hosts/…/_migrated/pics/Zitrone_Detailansicht.png", O_RDONLY|O_CLOEXEC) = 40
20948 15:52:17.603024 mmap(NULL, 169065, PROT_READ, MAP_SHARED, 40, 0) = 0x7fa668a6d000
20948 15:52:17.603104 writev(20, [...], 2) = 169398
20948 15:52:17.603701 munmap(0x7fa668a6d000, 169065) = 0
20948 15:52:17.603770 write(21, ""..., 186) = 186

Es wird also kein sendfile(2) verwendet (das haben wir ausgeschaltet, es
hat schon mal Ärger erzeugt. Unvollständige Bilder...)

Das oben beschriebene Problem taucht auf, seit wir den Kernel auf 4.9.0-0.bpo.3-amd64
aktualisiert haben. Der Rest ist ein „normales“ Jessie (Debian 8).

Wenn statt der statischen Datei ein Script startet und die Daten
liefert, dann funktioniert es.

In einem kleinen primitiven C-Programm, welches open/mmap/writev macht
wie der Apache, gibt es auch (in diesem Fall leider) keine Probleme.


    Best regards from Dresden/Germany
    Viele Grüße aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} -
 gnupg encrypted messages are welcome --------------- key ID: F69376CE -
 ! key id 7CBF764A and 972EAC9F are revoked since 2015-01 ------------ -

Attachment: signature.asc
Description: PGP signature


Reply to: