2010年3月3日水曜日

iDVD起動トラブル

娘の卒園記念DVDを作成していた妻から「iDVDが動かない!」との報告。
「iPhotoで作ったスライドショーから"iDVDに送信"を実行したが、いつまで経ってもiDVDが表示されない」との事。

実際に見てみるとDockにiDVD自体のアイコンはあるし、起動しているマークも付いている。だが何故かウィンドウが描写されていない。
iDVDをアクティブにしてもメニューバーにはアクセスできるのにウィンドウが開かないので、一旦「終了」を選んでみると突然編集ウィンドウが現れ、「閉じる前に、このプロジェクトの変更内容を保存しますか?」のメッセージを表示してフリーズ。orz

たまたまなのかと思いきや、iDVD単体で起動しても同じように再現する。 問題なのは"新規プロジェクトを作成"を選んだ後のウィンドウ描写が出来ないことで、"Magic DVD"や"OneStep DVD"ではちゃんと編集画面が現れる。
状況から判断して"iDVD"自体が破損しているかウィンドウ描写に必要なライブラリが破損しているのかそんなところ。

実は思い当たる節があって、うちのMacBook(Late2007)にプリインストールされていた"iLife"は'08。
すでに上の娘の時に作品を作った事のある妻には"iMove 0'8"が非常に使いにくいらしく、その当時使っていた"iMove HD(6)"に入れ替えてくれとの依頼で"iLife '06"のCDからiMoveをインストールし直していた。

当然"iLife"で共有してるライブラリやフレームワークはあるだろうし、"iMove HD"をインストールしたことで互換の問題が発生したり破損することは当然考えられる。
オンラインで調べてみると、iDVDの起動トラブルはかなり多く報告されていて純正状態でも起動しない事例も多くあるらしい。
iDVD '08:iDVD を開くと予期せず終了する

iDVD '08: iDVD '08 をインストール後、起動する時にアプリケーションが予期せず終了する

それに比べるとうちの"iDVD"は起動自体はちゃんとしているので数多くの報告とは原因が違うと思われたが、取りあえずアップルの公式サポートにも載っているような処置や、ディスクメンテなど定石は一通り試して見るもいっこうに改善の兆しは見えず。

MacBookに付属のリカバリディスクからiLifeの再インストールをしてもダメ、アップルからダウンロードできるアップデータ等を片っ端からインストールし直してみてもダメ。 それでも起動が出来ているならログがあるだろうと"コンソール"を立ち上げて"System.log"を確認してみたところ以下のレポートがあった。
Mar 3 10:53:00 MacBook iDVD[6284]: Error loading /System/Library/PrivateFrameworks/GraphicsAppSupport.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/ExtraPatches.plugin/Contents/MacOS/ExtraPatches: dlopen(/System/Library/PrivateFrameworks/GraphicsAppSupport.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/ExtraPatches.plugin/Contents/MacOS/ExtraPatches, 265): Library not loaded: /System/Library/PrivateFrameworks/Syndication.framework/Versions/A/Syndication\n Referenced from: /System/Library/PrivateFrameworks/GraphicsAppSupport.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/ExtraPatches.plugin/Contents/MacOS/ExtraPatches\n Reason: image not found
Mar 3 10:53:00 MacBook iDVD[6284]: *** : Could not load bundle at path "/System/Library/PrivateFrameworks/GraphicsAppSupport.framework/Versions/A/Frameworks/QuartzComposer.framework/Resources/ExtraPatches.plugin" ((null))
Mar 3 10:53:05 MacBook iDVD[6284]: *** : Patch with name "QCQuickTimePlayer" is missing
Mar 3 10:53:05 MacBook [0x0-0xcd0cd].com.apple.iDVD[6284]: An exception of type NSGenericException occured.
Mar 3 10:53:05 MacBook [0x0-0xcd0cd].com.apple.iDVD[6284]: -[OLQCMediaDecompressor _uniqueKeyFromNode:]: Argument "node" cannot be null
Mar 3 10:53:05 MacBook [0x0-0xcd0cd].com.apple.iDVD[6284]: Stack trace:
Mar 3 10:53:05 MacBook iDVD[6284]: NSExceptionHandler has recorded the following exception:\nNSGenericException -- -[OLQCMediaDecompressor _uniqueKeyFromNode:]: Argument "node" cannot be null\nStack trace: 0x97b19a 0x915dde3b 0x973d1b11 0x16760cb 0x1677d09 0x165daea 0x15e0227 0x165da9c 0x1cc8b649 0x1cc8f4fa 0x15db2f8 0x15db18f 0x1cc8c361 0x1cc8f00f 0x15db2f8 0x15db18f 0x75ff62 0x7604b5 0x762b1e 0x762dbb 0x75ace8 0x769e5 0x76aac 0x79125 0x77f51 0x126211 0x76c84 0x7af69 0x9201734e 0x920762de 0x91ff25d2 0x9201734e 0x1a3ad3 0x1a7153 0x1a3268 0x1a7bed 0x1a6810 0x11d297 0x11d787 0x11d698 0xa539 0xdd334 0x262bb 0xe290f 0x91ff552c 0x9733947a 0x97339753 0x91ff2680 0x91ffbed8 0x96a32df2 0x96a32d01 0x969ac81b 0x969ac014 0x9201aa9f 0x9201a7af 0x9011b648 0x9011b57e 0x9011b425 0x95ab3981 0x969a98e9 0x969a8f88
Mar 3 10:53:05 MacBook iDVD[6284]: Exception raised during posting of notification. Ignored. exception: '-[OLQCMediaDecompressor _uniqueKeyFromNode:]: Argument "node" cannot be null' invoked observer method: '*** -[iDVDApplication applicationDidFinishLaunching:]' observer: 0x1e42700 notification name: 'NSApplicationDidFinishLaunchingNotification'
.
.
.
.

ログの冒頭にあるように"/System/Library/PrivateFrameworks/"以下のファイルでエラーが発生している様子。 特に目立つのが"GraphicsAppSupport"フレームワークのロードエラー。
"Quartz"がらみのライブラリなら"Xcode"入れ直してみれば直るかと思いインストールして見るも効果無し。

こうなったらフレームワーク単体のインストーラーがないか調べまくってみると、MacBookのインストールディスク2の中に
AppleIntermediateCodec.pkg
GarageBand.mpkg
GraphicsAppSupport.pkg
iLifeCookie.pkg
iLifeMediaBrowser.pkg
iLifeSoundEffects_Loops.pkg
ImageKit_Tiger.pkg
iMovie.pkg
iPhoto.mpkg
iWeb.pkg
iDVD.mpkg
QuartzComposerQTComponentAppSupport.pkg
QuartzComposerAppSupport.pkg

を発見。
エラーはいてるフレームワーク群ドンぴしゃだし、これで解決かと思いきや単体でのインストーラーは「すでに新しいバージョンがインストールされています」で止まっちゃう。orz
GraphicsAppSupportのバージョン確認したところ"iLife '06"の入ってるG5も"iLife '08"のMacBookも"1.0"、それ以上に新しいのもなさそうだしいよいよ八方ふさがり。
プラグインなどはUniversalバイナリみたいだし、いっそG5のフレームワークからコピって見ようかとも思ったんだけど、PPCバイナリがあったりしたらそれこそトラブりそうだし...。

MacBook自体のリカバリしかないかとあきらめて、バックアップ取るためのディスクを探していると、外付け用ケースに入れたMacBookオリジナルの2.5インチHDDを発見。
そういえば、換装してから何度か"Time Machine"に使ってみたが、すぐ容量オーバーでバックアップできなくなっていた事を思い出した。

9ヶ月ぶりに接続してみるとやはり容量不足のエラー。
これじゃ到底バックアップには使えないと思いながら、ふと「9ヶ月前のフレームワークを戻してみたらどうなんだろう...?」と考えて取りあえず"GraphicsAppSupport"だけを"Time Machine"の復元で戻してみました。

半信半疑で"iDVD"を起動してみると...。 なんと!! 普通に起動するではないですか!?
結局"iDVD"の起動障害はフレームワーク絡みだったのは確かなのですが、復元時に”上書き”で戻してしまったため新旧のファイルの違いを調査することが出来なくなってしまいました。orz

まあ、電子申告用のデータなども全部MacBookに入ってたしリカバリせずに事なきを得たのは不幸中の幸いでした。

0 件のコメント :

コメントを投稿