2017年3月11日土曜日

Bansheeがクラッシュして起動しない

パッケージのアップデートで、Bansheeがクラッシュして起動しない
先日、パッケージのアップデートをしたら、Banshee(2.6.2: [ArchLinux (linux-gnu, x86_64)])がクラッシュして起動しなくなってしまった。以前も、同じ不具合が発生したことがある。その時と同様、今回も原因は、Monoのアップデート。Ubuntuなどの他のディストリビューションでも、同じ不具合が生じている([1] Banshee crash on startup - Ask Ubuntu)。

以前、Bansheeがクラッシュする不具合が発生した時に書いた記事は、「bansheeが起動時にクラッシュする | 普段使いのArch Linux」。




一応、クラッシュした時のログの一部を載せておく。
$ banshee

[Info  17:53:46.887] Running Banshee 2.6.2: [ArchLinux (linux-gnu, x86_64) @ 2016-08-07 18:50:19 UTC]
[Warn  17:53:47.104] Cannot connect to NetworkManager or Wicd - An available, working network connection will be assumed
...
  at Mono.Zeroconf.Providers.AvahiDBus.DBusManager.ConnectToSystemBus () [0x0001f] in <99795eb1250a446f92f3dd659dc2fb1c>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.DBusManager.IterateThread (System.Object o) [0x0000e] in <99795eb1250a446f92f3dd659dc2fb1c>:0 
  at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x0000e] in :0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x0008d] in :0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in :0 
  at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x0002a] in :0 
  at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00096] in :0 
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in :0 

Bansheeのクラッシュの原因は、Monoのアップグレード
Bansheeがクラッシュするようになった原因は、Monoの4.8.0.495へのアップグレードによるもの。Monoのバージョンをひとつ下げることで、Bansheeがクラッシュしなくなる。

以下、Monoのバージョンを下げる方法を記す。強制的に、Monoのバージョンを下げるので、その他のアプリケーションが不具合を起こす可能性があるので、その点は注意して下さい。

まず、AURから、パッケージダウングレードツールのdowngraderをインストールする。
$ packer -S downgrader

Aur Targets    (1): downgrader

Proceed with installation? [Y/n] y
Edit downgrader PKGBUILD with $EDITOR? [Y/n] n
==> Making package: downgrader 2.0.0-3 (2017年  3月 11日 土曜日 17:58:00 JST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
...
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) downgrader-2.0.0-3

Total Installed Size:  0.03 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                              [#####################################################] 100%
(1/1) checking package integrity                                                            [#####################################################] 100%
(1/1) loading package files                                                                 [#####################################################] 100%
(1/1) checking for file conflicts                                                           [#####################################################] 100%
(1/1) checking available disk space                                                         [#####################################################] 100%
:: Processing package changes...
(1/1) installing downgrader                                                                 [#####################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

次に、downgraderを使って、Monoのバージョンをmono-4.6.1.3-1へ下げる。
$ downgrader mono

 Downgrade package: mono  
1: mono-4.8.0.495-https://archive.archlinux.org/packages/m/mono/mono-4.8.0.495-1-x86_64.pkg.tar.xz  [installed]
2: mono-4.6.1.3-1  (from cache)
3: mono-4.4.1.0-1  (from cache)
4: mono-4.4.0.40-2/var/cache/pacman/pkg/mono-4.4.0.40-2-x86_64.pkg.tar.xz  (from cache)
5: mono-4.4.0.40-1https://archive.archlinux.org/packages/m/mono/mono-4.4.0.40-1-x86_64.pkg.tar.xz  (from ALA)
6: mono-4.2.2.30-2/var/cache/pacman/pkg/mono-4.2.2.30-2-x86_64.pkg.tar.xz  (from cache)
7: mono-4.2.2.30-1https://archive.archlinux.org/packages/m/mono/mono-4.2.2.30-1-x86_64.pkg.tar.xz  (from ALA)
8: mono-4.2.2.10-1https://archive.archlinux.org/packages/m/mono/mono-4.2.2.10-1-x86_64.pkg.tar.xz  (from ALA)
9: mono-4.2.1.102-https://archive.archlinux.org/packages/m/mono/mono-4.2.1.102-1-x86_64.pkg.tar.xz  (from ALA)
10: mono-4.0.4.1-1  (from ALA)
11: mono-4.0.3.20-1https://archive.archlinux.org/packages/m/mono/mono-4.0.3.20-1-x86_64.pkg.tar.xz  (from ALA)
12: mono-4.0.2.5-1  (from ALA)
13: mono-4.0.1.44-1https://archive.archlinux.org/packages/m/mono/mono-4.0.1.44-1-x86_64.pkg.tar.xz  (from ALA)
14: mono-4.0.1.28-1https://archive.archlinux.org/packages/m/mono/mono-4.0.1.28-1-x86_64.pkg.tar.xz  (from ALA)
15: mono-3.8.0-1  (from ALA)
16: mono-3.4.0-1  (from ALA)
17: mono-3.2.8-1  (from ALA)
18: mono-3.2.3-2  (from ALA)
19: mono-3.2.3-1  (from ALA)
20: mono-3.2.1-1  (from ALA)
21: mono-3.12.1-1  (from ALA)
22: mono-3.12.0-1  (from ALA)
23: mono-3.10.0-1  (from ALA)
24: mono-3.0.7-1  (from ALA)
25: mono-3.0.12-1  (from ALA)
>> Please enter package number, [q] to quit 2
loading packages...
warning: downgrading package mono (4.8.0.495-1 => 4.6.1.3-1)
resolving dependencies...
looking for conflicting packages...

Packages (1) mono-4.6.1.3-1

Total Installed Size:  160.75 MiB
Net Upgrade Size:       -9.76 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                              [#####################################################] 100%
(1/1) checking package integrity                                                            [#####################################################] 100%
(1/1) loading package files                                                                 [#####################################################] 100%
(1/1) checking for file conflicts                                                           [#####################################################] 100%
(1/1) checking available disk space                                                         [#####################################################] 100%
:: Processing package changes...
(1/1) downgrading mono                                                                      [#####################################################] 100%
Linux Cert Store Sync - version 4.6.1.0
Synchronize local certs with certs from local Linux trust store.
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.

I already trust 184, your new list has 160
24 previously trusted certificates were removed.
Certificate removed: E=pki@sk.ee, C=EE, O=AS Sertifitseerimiskeskus, CN=Juur-SK
Certificate removed: O=RSA Security Inc, OU=RSA Security 2048 V3
Certificate removed: C=NO, O=Buypass AS-983163327, CN=Buypass Class 2 CA 1
Certificate removed: C=US, O=Equifax, OU=Equifax Secure Certificate Authority
Certificate removed: C=US, O=Equifax Secure Inc., CN=Equifax Secure eBusiness CA-1
Certificate removed: C=ES, O=Generalitat Valenciana, OU=PKIGVA, CN=Root CA Generalitat Valenciana
Certificate removed: C=SK, L=Bratislava, O=Disig a.s., CN=CA Disig
Certificate removed: C=FR, S=France, L=Paris, O=PM/SGDN, OU=DCSSI, CN=IGC/A, E=igca@sgdn.pm.gouv.fr
Certificate removed: C=NL, O=Staat der Nederlanden, CN=Staat der Nederlanden Root CA
Certificate removed: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1
Certificate removed: CN=EBG Elektronik Sertifika Hizmet Sağlayıcısı, O=EBG Bilişim Teknolojileri ve Hizmetleri A.Ş., C=TR
Certificate removed: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
Certificate removed: L=ValiCert Validation Network, O="ValiCert, Inc.", OU=ValiCert Class 2 Policy Validation Authority, CN=http://www.valicert.com/, E=info@valicert.com
Certificate removed: C=ZA, S=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA, E=server-certs@thawte.com
Certificate removed: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Uzleti (Class B) Tanusitvanykiado
Certificate removed: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Expressz (Class C) Tanusitvanykiado
Certificate removed: L=ValiCert Validation Network, O="ValiCert, Inc.", OU=ValiCert Class 3 Policy Validation Authority, CN=http://www.valicert.com/, E=info@valicert.com
Certificate removed: L=ValiCert Validation Network, O="ValiCert, Inc.", OU=ValiCert Class 1 Policy Validation Authority, CN=http://www.valicert.com/, E=info@valicert.com
Certificate removed: C=ZA, S=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA, E=premium-server@thawte.com
Certificate removed: C=HU, S=Hungary, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado
Certificate removed: C=US, O="VeriSign, Inc.", OU=Class 3 Public Primary Certification Authority
Certificate removed: C=US, O="VeriSign, Inc.", OU=Class 3 Public Primary Certification Authority
Certificate removed: C=US, O="VeriSign, Inc.", OU=Class 3 Public Primary Certification Authority - G2, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network
Certificate removed: C=US, O=GTE Corporation, OU="GTE CyberTrust Solutions, Inc.", CN=GTE CyberTrust Global Root
Import process completed.
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Monoのバージョンが、下げっていることを確認しておく。
$ mono -V

Mono JIT compiler version 4.6.1 (Stable 4.6.1.3/abb06f1 Mon Oct  3 07:51:42 UTC 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
 TLS:           __thread
 SIGSEGV:       altstack
 Notifications: epoll
 Architecture:  amd64
 Disabled:      none
 Misc:          softdebug 
 LLVM:          supported, not enabled.
 GC:            sgen

パッケージのアップグレードの時、Monoのパッケージを除いてアップグレードする時は、--ignoreのオプションで指定する。冒頭にも書いたが、このような部分的なアップグレードは好ましくないので、注意が必要([2]pacman - ArchWiki - 1.3.1 部分的なアップグレードはサポートされていません)。
# pacman -Syu --ignore mono



参考:
[1]Banshee crash on startup - Ask Ubuntu
[2]pacman - ArchWiki - 1.3.1 部分的なアップグレードはサポートされていません

スポンサーリンク

スポンサーリンク

0 件のコメント:

コメントを投稿