Bug 29355 - Lesefehler bei der Paketinstallation
Lesefehler bei der Paketinstallation
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Virtualization - KVM
UCS 3.1
Other Linux
: P5 normal (vote)
: UCS 3.1-0-errata
Assigned To: Philipp Hahn
Erik Damrose
:
: 29646 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-11-22 08:31 CET by Stefan Gohmann
Modified: 2014-03-03 09:34 CET (History)
5 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Details of failed run (5.20 KB, text/plain)
2012-12-18 10:09 CET, Philipp Hahn
Details
GIT bisect script (927 bytes, text/x-sh)
2012-12-18 10:09 CET, Philipp Hahn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2012-11-22 08:31:37 CET
Ich habe auf einem UCS 3.0-2 DC Slave errata135 Probleme bestimmte Pakete zu installieren:

Entpacken von texlive-latex-base-doc (aus .../texlive-latex-base-doc_2009-11.16.201205220901_all.deb) ...
dpkg-deb (Unterprozess): data: interner gzip-Lesefehler: »<fd:0>: invalid stored block lengths«
dpkg-deb: Unterprozess <Dekompression> gab den Fehlerwert 2 zurück
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/texlive-latex-base-doc_2009-11.16.201205220901_all.deb (--unpack):
 defektes Tar-Dateisystem - Paketarchiv ist defekt
configured to not write apport reports
                                      Vormals abgewähltes Paket texlive-pictures wird gewählt.

Das Problem tritt mit unterschiedlichen Paketen auf. Die MD5 Summen stimmen nicht mit den heruntergeladenen Paketen überein.

Im Moment vermute ich die Ursache im Bereich Virtualisierung. Die KVM Instanz läuft derzeit auf odda (3.1 RC).
Comment 1 Stefan Gohmann univentionstaff 2012-11-22 09:06:22 CET
Ich konnte es folgendermaßen auf einem UCS 3.0-2 DC Slave reproduzieren:

ucr set repository/online/unmaintained="yes"
univention-install php-pear php5-ldap php5-xmlrpc python-pexpect liburi-perl libconvert-asn1-perl libhtml-tagset-perl libhtml-parser-perl libhtml-tree-perl libwww-perl libnet-ldap-perl libconvert-binhex-perl libio-stringy-perl libtimedate-perl libmailtools-perl libmime-tools-perl libconvert-tnef-perl libconvert-uulib-perl libcompress-raw-zlib-perl libarchive-zip-perl libunix-syslog-perl libio-multiplex-perl libnet-cidr-perl libnet-server-perl libberkeleydb-perl liberror-perl libdigest-sha1-perl libdigest-hmac-perl libnet-ip-perl libnet-dns-perl libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libmail-dkim-perl pax amavisd-new libsys-hostname-long-perl libnetaddr-ip-perl spamassassin spamc univention-spamassassin libtommath0 libclamav6 clamav-base clamav-freshclam clamav clamav-daemon univention-antivir-mail univention-sasl libffcall1 libsigsegv0 cl-asdf realpath common-lisp-controller clisp gawk libnet-daemon-perl libplrpc-perl libdbi-perl libdbd-mysql-perl mysql-client-5.1 mysql-server-core-5.1 mysql-server-5.1 libdb4.6 db4.6-util db4.7-util libzephyr4 libterm-readkey-perl libterm-readline-perl-perl python-univention-directory-reports tex-common texlive-common texlive-doc-base libpoppler5 luatex libkpathsea5 ed texlive-binaries texlive-base texlive-fonts-recommended texlive-latex-base texlive-latex-recommended texlive preview-latex-style texlive-pictures texlive-latex-extra texlive-lang-german univention-directory-reports univention-management-console-module-udm libt1-5 php5-gd libmcrypt4 php5-mcrypt php-log php-mail-mimedecode php-net-socket php5-pspell php5-mysql mysql-client mysql-server libmldbm-perl doc-base texlive-font-utils texlive-extra-utils feynmf gsfonts-x11 heirloom-mailx wwwconfig-common javascript-common lacheck latex-xcolor pgf latex-beamer libxp6 lesstif2 libfont-afm-perl libfreezethaw-perl libhtml-format-perl libhtml-template-perl libio-socket-inet6-perl liblqr-1-0 libmagickcore3 libmagickwand3 libmagick++3 libmail-spf-perl libplot2c2 libpstoedit0c2a lmodern make poppler-data poppler-utils texlive-generic-recommended texlive-pstricks prosper ps2eps pstoedit texlive-metapost purifyeps re2c texlive-fonts-recommended-doc texlive-latex-base-doc texlive-latex-extra-doc texlive-latex-recommended-doc texlive-luatex texlive-metapost-doc texlive-pictures-doc texlive-pstricks-doc texpower xpdf texpower-manual tipa xindy-rules xindy

[...]
Entpacken von texlive-latex-base-doc (aus .../texlive-latex-base-doc_2009-11.16.201205220901_all.deb) ...
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/texlive-latex-base-doc_2009-11.16.201205220901_all.deb (--unpack):
 defektes Tar-Dateisystem - Paketarchiv ist defekt
configured to not write apport reports
                                      dpkg-deb: Unterprozess einfügen mit Signal (Datenübergabe unterbrochen (broken pipe)) getötet

stefan@omar:/var/univention/buildsystem2/mirror$ md5sum ./ftp/3.0/unmaintained/3.0-2/all/texlive-latex-base-doc_2009-11.16.201205220901_all.deb
09c72e5c21fd7143f0c670567ae7b1f2  ./ftp/3.0/unmaintained/3.0-2/all/texlive-latex-base-doc_2009-11.16.201205220901_all.deb
stefan@omar:/var/univention/buildsystem2/mirror$ 

root@slave133:~# md5sum /var/cache/apt/archives/texlive-latex-base-doc_2009-11.16.201205220901_all.deb
96ab7d29e458a4e470d459be0555227d  /var/cache/apt/archives/texlive-latex-base-doc_2009-11.16.201205220901_all.deb
root@slave133:~#
Comment 2 Florian Best univentionstaff 2012-11-28 14:21:21 CET
Bei mir auch auf einem 3.0-2 errata93 aufgetreten.

Entpacken von openoffice.org-core (aus .../openoffice.org-core_1%3a3.2.1-11.395.201209281356_amd64.deb) ...
dpkg-deb (Unterprozess): data: interner bzip2-Lesefehler: »DATA_ERROR«
dpkg-deb: Unterprozess <Dekompression> gab den Fehlerwert 2 zurück
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/openoffice.org-core_1%3a3.2.1-11.395.201209281356_amd64.deb (--unpack):
 nicht vollständig gelesen in Pufferkopie für Backend dpkg-deb während »./usr/lib/openoffice/basis3.2/program/libbasctllx.so«
configured to not write apport reports

/var/univention/buildsystem2/apt/ucs_3.1-0/amd64 $ md5sum openoffice.org-core_3.2.1-11.395.201209281356_amd64.deb 
8ff3c9bde89bc1528258056128dcdc3b  openoffice.org-core_3.2.1-11.395.201209281356_amd64.deb

md5sum /var/cache/apt/archives/openoffice.org-core_1%3a3.2.1-11.395.201209281356_amd64.deb
ad2b8231b00350bdbffc442afcff531c  /var/cache/apt/archives/openoffice.org-core_1%3a3.2.1-11.395.201209281356_amd64.deb
Comment 3 Tobias Peters univentionstaff 2012-11-29 16:52:15 CET
Ich bekomme bei einem univention-upgrade von 3.0-2 auf 3.1 die gleichen Meldungen wie in der Description. Aufgetreten ist es bei mir beim Upgraden einer Umgebung bestehend aus Master, Backup sowie Slave und zwar auf allen genannten Rechnern und bei mehrmaligem Testen in circa 75% der Fälle. Betroffen waren dann pro Upgrade eines Rechners ein bis zwei Pakete, allerdings keineswegs immer dieselben.

Die MD5 Summen der Pakete stimmen hier ebenfalls nicht überein.

Folgende Pakete waren betroffen (mit Größenangabe) :
firefox-en_1%3a10.0.9esr-4.15.201210301508_amd64.deb			18M
mysql-server-core-5.1_5.1.63-0.23.201209281413_amd64.deb		4MB
openjdk-6-jre-lib_6b18-1.8.13-0.62.201207030838_all.deb 		5,7MB
libapache2-mod-php5_5.3.3-7.176.201211121028_amd64.deb			2,9 MB

Es fällt dabei auf, dass die Pakete alle zu den vom Datenvolumen her größeren Paketen des Updates zählen.

Auch die in Comment 1 und 2 genannten Pakete passen in dieses Muster:
openoffice.org-core_1%3a3.2.1-11.395.201209281356_amd64.deb		42MB
texlive-latex-base-doc_2009-11.16.201205220901_all.deb 			1MB
Comment 4 Stefan Gohmann univentionstaff 2012-11-30 15:41:15 CET
Ich habe eine Umgebung um das Problem zu reproduzieren:

Auf odda:

sudo virsh snapshot-revert stefan_UCS-3.0-2-13.1-Kolab-Master pre_29355 
sudo virsh snapshot-revert stefan_UCS-3.0-2-13.3-Kolab-Slave pre_29355


ssh root@10.201.13.3
univention-install kolabsys-kolab2

Dann sollte irgendwann dies erscheinen:
Entpacken von texlive-latex-extra-doc (aus .../texlive-latex-extra-doc_2009-10.7.201104231551_all.deb) ...
dpkg-deb (Unterprozess): data: interner gzip-Lesefehler: »<fd:0>: invalid stored block lengths«
dpkg-deb: Unterprozess <Dekompression> gab den Fehlerwert 2 zurück
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/texlive-latex-extra-doc_2009-10.7.201104231551_all.deb (--unpack):
 nicht vollständig gelesen in Pufferkopie für Backend dpkg-deb während »./usr/share/doc/texlive-latex-extra-doc/latex/minitoc/minitoc.pdf«

Das System ist aktuell auch in diesem Zustand.
Comment 5 Stefan Gohmann univentionstaff 2012-12-03 14:52:35 CET
Das Problem trat auch auf, nachdem ich den Festplatten-Cache für die virtuelle Maschine auf writeback umgestellt hatte.
Comment 6 Philipp Hahn univentionstaff 2012-12-12 08:20:29 CET
Nich direkt relevant für diesen Bug, aber dennoch eben aufgefallen:
Mal wieder eine Inkompatibilität zwischen qemu-kvm und qemu, die mit einer nichts-sagenenden Fehlermeldung aufschlägt:
 qemu: warning: error while loading state for instance 0x0 of device 'ram'
 qemu-system-x86_64: Error -22 while loading VM state

Ursache ist eine Änderung in der RAM-Größe:
 qemu-kvm-1.1.1/hw/cirrus_vga.c VGA_RAM_SIZE=16MiB
 qemu-1.2/hw/cirrus_vga.c VGA_RAM_SIZE=8MiB

Erst mit qemu-1.3 gibt es eine Property 'vgamem_mb', mit der man das auch anpassen kann; davor sind alle Saved-States durch diese Inkompatibilität unbrauchbar.
 -global cirrus-vga.vgamem_mb=16


qemu-1.3.0 tut nicht:
 Unknown savevm section type 48
 qemu-system-x86_64: Error -22 while loading VM state
 Patch → <https://patchwork.kernel.org/patch/1658741/mbox/>

qemu-kvm-1.2.0 tut.

qemu-kvm-1.1.0 tut nicht.

git bisect → 770 commits zwischen 1.1 und 1.2
 Saved-State lässt sich nicht überall wiederherstellen, weil u.a. der Saved-State von "kvm-tpr-opt" nicht wiederhergestellt werden kann.

TBC...
Comment 7 Philipp Hahn univentionstaff 2012-12-12 15:14:46 CET
b7ab0fea37c15ca9e249c42c46f5c48fd1a0943c "qcow2: Fix avail_sectors in cluster allocation code" behebt es für mich und ist für mich auch schlüssig. Ich habe eine Anfrage auf der QEMU-ML dazu gestellt <http://lists.nongnu.org/archive/html/qemu-devel/2012-12/msg01537.html> und stehe noch jetzt mit Kevin Wolf in Verhandlung, ob das Sinn macht.
Comment 8 Philipp Hahn univentionstaff 2012-12-12 15:39:40 CET
#!/bin/sh
# Validate MD5sums of downloaded Debian package files
cd /var/cache/apt/archives
md5sum *.deb |
while read ist p
do
  soll=$(apt-cache show --no-all-versions "${p%%_*}" | sed -ne 's/^MD5sum: //p')
  [ "$ist" = "$soll" ] || echo "$p $ist $soll"
done
Comment 9 Philipp Hahn univentionstaff 2012-12-12 16:01:17 CET
(In reply to comment #8)
Die folgende Variante handhabt auch veraltete .deb-Dateien von vorherigen Updates korrekt:

#!/bin/sh
# Validate MD5sums of downloaded Debian package files
cd /var/cache/apt/archives
md5sum *.deb |
while read ist p
do
  apt-cache show "${p%%_*}" |
  sed -ne 's/^MD5sum: //p' |
  grep -q "$ist" - ||
  echo "$p $soll"
done
Comment 10 Philipp Hahn univentionstaff 2012-12-14 09:44:01 CET
In errata3.1-0 ist eine neuere Version von qemu-kvm-1.1.2 gebaut.
svn11166, 1.1.2+dfsg-2.26.201212140657

In Debian habe ich dazu auch einen Bug angelegt:
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695905>
Comment 11 Philipp Hahn univentionstaff 2012-12-18 10:07:12 CET
Noch ein weiterer Patch aus qemu-kvm_1.1.2+dfsg-3 wurde übernommen, der ein Speicherproblem mit der qcow2-Ref-Count-Table behebt: svn11180
Ein re-Import des neueren qemu-kvm-Pakets aus Debian erfolgt über Bug #29667.

qemu-kvm_1.1.2+dfsg-2.26.201212140657
yaml: svn15896

<https://hutten.knut.univention.de/mediawiki/index.php/Errata-Updates>
1.1 OK
1.2 OK
1.3 OK
1.4 (OK)
Comment 12 Philipp Hahn univentionstaff 2012-12-18 10:09:20 CET
Created attachment 4926 [details]
Details of failed run
Comment 13 Philipp Hahn univentionstaff 2012-12-18 10:09:43 CET
Created attachment 4927 [details]
GIT bisect script
Comment 14 Philipp Hahn univentionstaff 2012-12-18 10:51:11 CET
Yippie, ich glaube den Bug und den Patch dafür verstandne zu haben:

Durch den Patch wird die Anzahl der Sektoren korrekt berechnet, was vorher falsch war. Durch die ungünstige Ausrichtung der Partitionen kam es dann dazu, daß 2 Schreib-Anforderungen den selben 64 KiB-Cluster der Qcow2 betrafen. Wegen der falschen Länge wurden die Requests nicht als überlappend erkannt und parallel ausgeführt, was zur Korruption geführt hat.
Der Patch korigiert die Länge, damit werden die Requests jetzt als überlappend erkannt und nacheinander ausgeführt.

Mail ging an die ML, Kevin Wolf und den Debian-Maintainer; ich hoffe noch auf eine Bestätigung, sobald die wieder Verfügbar sind.
Comment 15 Erik Damrose univentionstaff 2012-12-21 08:50:08 CET
Mit zwei VMs (c't-dvd und 3.1) getestet, dabei an den auffälligen Paketinstallationen in diesem Report orientiert, es traten keine Fehler auf. Kopieren großer Images und anschließender md5-Summenvergleich war ebenfalls Fehlerfrei.
Comment 16 Janek Walkenhorst univentionstaff 2012-12-21 09:26:18 CET
http://errata.univention.de/3.1-errata3.html
Comment 17 Philipp Hahn univentionstaff 2013-02-15 10:11:12 CET
*** Bug 29646 has been marked as a duplicate of this bug. ***