LoginSignup
12
13

More than 5 years have passed since last update.

Yosemiteにアップデート後にずっとCrash Reporterが動いて困っている方へ

Last updated at Posted at 2014-10-19

手っ取り早く治したい方へ

Yosemiteにアップデートして使っていたところ、ずっとCrash ReporterがCPUを30%近く占拠する状況で、もしコンソールでsoagentなどが「Code Signature Invalid」が原因でError Reportされている場合、dyldの共有キャッシュが古いことが原因の可能性があります。その場合、dyldの共有キャッシュを更新するために下記のコマンドを実行します。

sudo update_dyld_shared_cache

これでError Reportがでなくなりました。お困りの方はぜひお試し下さい。

症状の詳細

コンソールで確かめるとsoagent、sharingd、AddressBookSourceSyncなどがほぼ毎秒落ちており、その度にCrash Reportをする状況。

スクリーンショット 2014-10-19 20.21.48.png

Error Reportを見ると

Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)

となっている。この「Code Signature Invalid」をヒントに、その他のコンソールのログを確かめると、下記のようにCode Signatureを調べる際に、dyld_shared_cacheを元に調べているようです。

2014/10/19 19:36:01.000 kernel[0]: CODE SIGNING: process 626[AddressBookSourc]: rejecting invalid page at address 0x7fff9b73c000 from offset 0x162b0000 in file "/private/var/db/dyld/dyld_shared_cache_x86_64" (cs_mtime:1413545821.0 == mtime:1413545821.0) (signed:1 validated:1 tainted:1 wpmapped:0 slid:0)

このdyld_shared_cache_x86_64の最新更新日時を確かめると、どうやらYosemiteにUpdateする前の日付。この時点で古いCacheが原因であると推測。(キャッシュの日付は10月17日。筆者は10月18日にYosemiteに更新)

$ ls -l /private/var/db/dyld/dyld_shared_cache_x86_64
-rw-r--r--  2 root  wheel  381405330 10 17 20:37 /private/var/db/dyld/dyld_shared_cache_x86_64

このdyldのcacheを更新するた方法として、update_dyld_shared_cacheというコマンドがあり、これを実行することでCacheが更新されます。

sudo update_dyld_shared_cache

Cacheが更新されたか確認。

$ ls -l /private/var/db/dyld/dyld_shared_cache_x86_64
-rw-r--r--  2 root  wheel  381524694 10 19 20:17 /private/var/db/dyld/dyld_shared_cache_x86_64 # cacheの日付が10月19日になっている。

以上のようにdyldの共有キャッシュを更新することで、Code Signature Invalidのエラーが解消されますので、お困りの方はお試し下さい。

12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13