← Back to team overview

registry team mailing list archive

Re: [Bug 512096] Re: [MASTER] Exec format error : package failed to install/remove : installation/removal script returned error exit status 2

 

Good Morning

I am trying to follow the work around instructions but not having full
success yet.

I am using libglew1.5 to replace PACKAGE and that works fine
what do I use to replace PACKAGE_VERSION??  I tried 1.5.2.0ubuntu1 but
that doesn't seem to work

Cheers 
chipppy

On Tue, 2010-07-06 at 15:30 +0000, enguerran wrote:
> ** Description changed:
> 
>   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
> +  . Formatfel på körbar fil
> 
> -- 
> [MASTER] Exec format error : package failed to install/remove : installation/removal script returned error exit status 2
> https://bugs.launchpad.net/bugs/512096
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
> 
> Status in “dpkg” package in Ubuntu: Triaged
> Status in “dpkg” source package in Karmic: New
> 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

-- 
[MASTER] Exec format error : package failed to install/remove : installation/removal script returned error exit status 2
https://bugs.launchpad.net/bugs/512096
You received this bug notification because you are a member of Registry
Administrators, which is the registrant for Debian.



Follow ups

References