Comment 29 for bug 512096

Revision history for this message
Donald Larimore Bland jr (dlblandjr) wrote : Re: [Bug 512096] Re: [MASTER] Exec format error : package failed to install/remove : installation/removal script returned error exit status 2

Thanx to everyone, ! this is a great group of engineers !

2011/3/9 Raphaël Hertzog <email address hidden>

> Maverick and natty have the sync fixes.
>
> ** Changed in: dpkg (Ubuntu)
> Status: Triaged => Fix Released
>
> ** Changed in: dpkg (Ubuntu Karmic)
> Status: New => Confirmed
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/512096
>
> Title:
> [MASTER] Exec format error : package failed to install/remove :
> installation/removal script returned error exit status 2
>
> Status in “dpkg” package in Ubuntu:
> Fix Released
> Status in “dpkg” source package in Karmic:
> Confirmed
> Status in “dpkg” package in Debian:
> Fix Released
>
> Bug description:
> Under some conditions package installation/upgrade/removal fails with
> the following error:
>
> -- Error during installation --
> Setting up screenlets (0.1.2-7) ...
> dpkg (subprocess): unable to execute installed post-installation script:
> Exec format error
> dpkg: error processing screenlets (--configure):
> subprocess installed post-installation script returned error exit status
> 2
>
> -- Error during removal --
> Removing gnome-do ...
> dpkg (subprocess): unable to execute installed pre-removal script: Exec
> format error
> dpkg: error processing gnome-do (--purge):
> subprocess installed pre-removal script returned error exit status 2
>
> This error occurs when one of the installation or removal scripts
> (/var/lib/dpkg/info/PACKAGE.p*) is empty or corrupted.
>
> == HOW TO REPRODUCE ==
> Install a package and emulates a system crash before 30 seconds:
> # apt-get install hello; sleep 20; echo b > /proc/sysrq-trigger
> [simulates a system crash]
> After reboot both installation and removal scripts are 0 bytes. You will
> notice that hello.list was correctly written to disk because of the fsync
> call in dpkg/src/filesdb.c
> $ ls -l /var/lib/dpkg/info/hello.*
> -rw-r--r-- 1 root root 323 2010-02-09 00:42 /var/lib/dpkg/info/hello.list
> -rwxr-xr-x 1 root root 0 2009-08-15 19:17
> /var/lib/dpkg/info/hello.postinst
> -rwxr-xr-x 1 root root 0 2009-08-15 19:17 /var/lib/dpkg/info/hello.prerm
>
> If you replay the test but adding a sync before the system crash:
> # apt-get install hello; sync; echo b > /proc/sysrq-trigger
> After reboot the files are fine:
> $ ls -l /var/lib/dpkg/info/hello.*
> -rw-r--r-- 1 root root 323 2010-02-09 00:46 /var/lib/dpkg/info/hello.list
> -rwxr-xr-x 1 root root 103 2009-08-15 19:17
> /var/lib/dpkg/info/hello.postinst
> -rwxr-xr-x 1 root root 74 2009-08-15 19:17 /var/lib/dpkg/info/hello.prerm
>
> If I adjust /proc/sys/vm/dirty_expire_centisecs to be below the sleep
> time, ( for exemple 1000 in the test above ) then data are correctly
> written to disk.
>
> == WORKAROUNDS ==
> Execute the following commands in a terminal
> (GNOME: Applications -> Accessories -> Terminal
> KDE: KMenu -> Applications -> System -> Terminal [Konsole] )
>
> Workaround A: Remove the package and reinstall
>
> $ sudo rm /var/lib/dpkg/info/PACKAGE_VERSION.p*
> $ sudo apt-get remove --purge PACKAGE
> $ sudo apt-get clean
> $ sudo apt-get update
>
> Then reinstall the package
>
> Workaround B: Finish the install when the package can't be removed
>
> $ sudo apt-get clean
> $ sudo aptitude download PACKAGE
> $ sudo dpkg --unpack ./PACKAGE_VERSION.deb
> $ sudo dpkg --configure PACKAGE
>
> Replace PACKAGE with the package name which fails to install/remove.
>
> == Localization ==
> The same error in non-english language:
> . Erreur de format pour exec()
> . Error de formato ejecutable
> . Errore di formato di exec
> . Exec format error
> . Formatfel på körbar fil
> . Érvénytelen végrehajtható fájlformátum
> . Exec formátum hiba
> . Verkeerd uitvoerbaar bestand
> . Exec 格式错误
> . Formatfel på körbar fil
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/512096/+subscribe
>

--
Donald L. Bland Jr.