web-dev-qa-db-fra.com

apt & aptitude segfault à chaque fois

Soudain, aptitude et apt bombardent tous deux de segfaults; il semble être lié au cache, comme dans aptitude, je vois le message "chargement du cache" avant sa mort:

Ouch!  Got SIGSEGV, dying..

Depuis apt-get update:

Ign http://archive.ubuntu.com trusty/universe Translation-en_US                
Fetched 3,438 kB in 27s (125 kB/s)                                             
Segmentation fault
E: Problem executing scripts APT::Update::Post-Invoke-Success 'test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i'
E: Sub-process returned an error code

Depuis syslog après aptitude, lancez:

Oct  8 10:28:22 etown kernel: [ 4807.432466] aptitude[5868]: segfault at 7f13ee640fc4 ip 00007f13f21180d7 sp 00007fff1d7ce6a0 error 6 in libapt-pkg.so.4.12.0[7f13f2029000+144000]

Depuis syslog après la mise à jour d'apt-get:

Oct  8 11:01:48 etown kernel: [ 6814.538186] apt-show-versio[6794]: segfault at 7f56ef3cdfc4 ip 00007f56f04310d7 sp 00007ffd2bb5e060 error 6 in libapt-pkg.so.4.12.0[7f56f0342000+144000]

J'ai essayé d'augmenter la limite de cache dans les fichiers de configuration en vain:

APT::Cache-Limit "10000000000";

Y a-t-il des idées que je pourrais essayer dans le pays des gourous?

4
Logos

Pour contourner le problème trouvé dans un rapport de bogue ubunt , vous devez ajouter une nouvelle ligne à /etc/apt/apt.conf.d/70debconf:

APT::Cache-start 200000000;

Cela fonctionne autour du problème. Je ne comprends pas pourquoi je dois dire à APT d'allouer plus que la quantité de mémoire par défaut pour l'empêcher de commettre une erreur de segmentation, mais c'est ce que je fais! Il y a un bug ici quelque part.

Un grand merci à @ LittleByBlue et @Sagar pour m'avoir orienté dans la bonne direction en attirant l'attention sur libapt-pkg.so.4.12.0.

2
Logos

Le commentaire ci-dessus a fait le tour pour moi:

rm -rf /var/cache/apt/*.bin

Si cela ne suffit pas, vous pouvez aussi essayer

rm -rf /var/cache/apt/*

Notez que ces segfaults sont très spécifiques, donc cela ne fonctionnera probablement pas dans votre cas.

0
guaka