appstreamcli menggantung dengan penggunaan CPU 100% selama pembaruan

76

appstreamcliterlalu panas laptop saya dengan terus menggunakan 100% dari inti. Satu-satunya solusi saya adalah membunuhnya. Berikut screenshot dari top:

output atas menunjukkan appstreamcli dengan penggunaan CPU 100%

Saya bisa membunuh appstreamclidengan salah satu atau . Tetapi begitu saya lakukan , proses kembali dan menggantung pembaruan. Jika saya kemudian membunuhnya, saya mendapatkan output berikut:sudo kill pidsudo killall appstreamclisudo apt updateappstreamcli

Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success
'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli;
 then appstreamcli refresh > /dev/null;
 fi'
E: Sub-process returned an error code

Apa proses ini dan mengapa menggunakan begitu banyak CPU?

nazar2sfive
sumber
2
Itu bug. Lihat pertanyaan ini: askubuntu.com/questions/774918/…
alwaysask
9
68 derajat adalah suhu yang baik untuk memasak telur, tetapi Anda akan membutuhkan suhu yang lebih tinggi untuk memasak laptop.
Michael Hampton
@MichaelHampton Laptop saya menjadi matang ketika beberapa proses kernel bodoh menghabiskan waktu CPU; itu bisa mencapai 100 derajat celcius dengan mudah. Kemudian dimatikan.
kucing
@cat Right, 100 adalah angka ajaib tempat laptop Anda dimasak. Mungkin perlu membersihkan kipasnya dan mengulangi pasta termal pada CPU-nya.
Michael Hampton
@MichaelHampton 100 adalah angka ajaib di mana CPU berkata, "Saya mematikan atau kalau tidak saya akan Berhenti dan Menangkap Api !!!" . Kipasnya bersih dan pasta termalnya baru, sudah tua.
kucing

Jawaban:

78

Ini disebabkan oleh bug https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712
Solusi yang berfungsi (coba sendiri):

Pembunuhan pertama appstreamcli, baik secara manual atau dengan

sudo kill -KILL $(pgrep appstreamcli)

atau

sudo pkill -KILL appstreamcli

Kemudian:

wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb

Setelah ini, Anda akan dapat melanjutkan dengan pembaruan apt-get seperti biasa

sam50
sumber
12
Persisnya masalah saya, tapi apa itu appstreamcli?
Charles-Antoine Fournel
17
Hati-hati, ini bekerja pada sistem 64-bit; pada 32-bit, Anda harus mengubah amd64ke i386dalam link.
Rmano
1
Yang harus dilakukan setelah sudo kill {pid}melewati " database status dpkg dikunci oleh proses lain " kesalahan.
Andrea
Masalahnya adalah appstreamcli dijalankan sebagai root, jadi untuk mem-bypass kunci basis data, lakukan saja: sudo killall appstreamcli
wasp
2
Karena bug ini memanifestasikan dirinya pada kesempatan yang sangat jarang (sesuai dengan deskripsi), perbaikan harus diuji melalui test case. Berjalan sudo appstreamcli refresh --forcetanpa tergantung akan mengonfirmasi bahwa perbaikan tersebut berhasil. Itu berhasil untuk saya. Terima kasih untuk solusinya!
nolexa
2

Atau untuk alasan apa pun, jika Anda tidak ingin menginstal paket out of repo dan hanya menunggu pembaruan Anda dapat menghapusnya sepenuhnya.

Ini akan menghapus Discover pada KDE: Plasma jadi saya berasumsi itu juga akan menghapus Software Gnome, atau apa pun yang ditambahkan oleh Ubuntu Flavour Anda. Jika demikian, Anda dapat menggunakan Muon di Kubuntu, atau Synaptic on DE berbasis GTK.

Sebelum Anda menjalankan ini pastikan Anda memeriksa paket yang dihapus untuk memastikan tidak apa-apa dengan Anda.

Anda dapat mengetahui apa sesuatu itu dengan berlari

apt show appstream

untuk menghapus instalasi appstream

sudo apt remove appstream
Dewi
sumber