How to fix crashes on startup/jp

From RawPedia
Jump to: navigation, search

プログラムが起動時にクラッシュする

 RawTherapeeが起動時にクラッシュする場合、最も考えられるのは、問題のある画像ファイル、或いは処理プロファイル(貴方がRawTherapeeで行った全ての調整が記録された、拡張子.pp3のファイルで、画像毎にこのファイルがあります)が、プログラムに転送されたことによるものです。処理プロファイルや画像ファイルに問題があるという意味は、ファイル自体がエラーを含んでいる場合と、ファイル自体は正常でも、そのファイルによってRawTherapeeのバグが誘発されてしまう、或いは何らかの点でRawTherapeeがそのファイルをサポートしてない、例えば、メタデータが符号化されている、画像が多層レイヤーで構成されている、画像が4つ以上のカラーチャンネルを持っている、或いはカラーチャンネルが2つ以下である、などです。

 備考:RawTherapeeがサポートできる画像は3つのカラーチャンネルを持つ画像です‐RGB(或いはCMY)。グレースケールの画像ファイルや、4つのカラーチャンネル(例、CMYK)を持つ画像が入っているディレクトリーを開けようとすると、RawTherapeeはそれをエラーと認識するので、エラーメッセージがポップアップします。以下に説明しているように、RawTherapeeで調整を行う画像の入っているディレクトリーからは、その種の画像を取り除いて下さい。もちろん、正常なRGBファイルや処理プロファイルでも、RawTherapeeをクラッシュさせる可能性はありますが、これが最も一般的な原因なので、真っ先にRGBチャンネルではない画像の有無をチェックしてみて下さい。

 問題のあるファイルを突き止めようと思いますが、最初はプログラムの中身に触らない方法で始めます。それで突き止められなければ徐々に中身に触れるような方法で行います。

  1. RawTherapeeに別なスタートアップフォルダーを使わせます
    1. ファイルパスで説明されている、“options”というファイルを探します。
    2. この“options”ファイルをNotepad++のような外部テキスト編集プログラムを使って開き、次の2行を見て下さい:
      StartupDirectory=last
      StartupPath=C:\\Documents and Settings\\Administrator
    3. 1行目が必ず次であることを確認します。
      StartupDirectory=last
    4. ハードディスクのどこかに、新しく空のディレクトリーを作ります。例えば
      Windowsなら、 C:\\foo
      Linuxなら、 /home/bob/foo
    5. StartupPath=を今新たに作ったディレクトリーの名前に変えます(そのディレクトリーには画像、或いはpp3ファイルがあってはいけません、全てタイプで入力して下さい、絶対パスでショートカットは使いません、Windowsの場合は名前の前にバックスラッシュを2つ入れるのを忘れずに)。
      Windowsなら、 StartupPath=C:\\foo
      Linuxなら、 StartupPath=/home/bob/foo
    6. RawTherapeeを起動します。問題なくプログラムが起動すれば、最初のStartupPathに欠陥のある画像か、pp3ファイルが存在していたことになります。その場合、ステップ2は飛ばして、ステップ3に進んで下さい。まだクラッシュする場合は、次のステップ2に進みます:
  2. ファイルパスで説明されている、“batch”というフォルダーを探し、それを削除します。
    1. RawTherapeeを起動します。問題なくプログラムが起動すれば、キュー処理に転送された画像の処理プロファイルのどれかに欠陥があったことになりますが、どのファイルに欠陥があるのか特定するのはかなり面倒な作業です。普通はやらないと思いますが、どうしても知りたい場合は、最後の“問題の特定”に進みます。また、相変わらずプログラムがクラッシュする場合は、その原因が画像ファイルやpp3ファイルの欠陥ではないということになり、このセクションで説明されている方法では解決出来ないことになります。
  3. cache フォルダーを削除します:
    1. ファイルパスで説明されている、“cache”というフォルダーを探します。
    2. このcacheフォルダーを移動(切り取り)します。RawTherapeeが検索しそうもない場所に移します。移動する代わりに、このcacheフォルダーを削除することも出来ますが、注意して下さい。もし処理プロファイル(pp3)をcacheだけで保存するように設定していた場合、画像に施した調整の記録も消去されてしまいます(画像ファイルを失うことはありません)。処理プロファイルをcacheに保存するように設定したかどうか分らない場合は、恐らく処理プロファイルを失っている可能性はないと思います。何故なら、RawTherapeeはデフォルトの設定で、処理プロファイルをraw画像ファイルと一緒に保存するようになっており、cacheには保存しないからです。
  4. 問題の特定
    クラッシュの原因が処理プロファイル(pp3)、或いは画像ファイルにあることが分り、更にそれがどのファイルであるか特定できれば、私達にとってそれは非常に助かります。私達がそのファイルを分析し、問題解決のテクニックを開発することが出来るからです。スタックバックトレースのページを参照して下さい。そこに書いてあるインストラクションを読んで頂ければ、たとえバックトレースで問題のファイルをまだ突き止めていなくとも、非常に有意義なことだと思います。さて、ここまでで、欠陥のあるファイル(複数の場合も含めて)がどのディレクトリーに潜んでいるかまでは特定したので、クラッシュを回避するために、起動時に新しいディレクトリーを参照する、或いはキャッシュフォルダーを別な場所に移動、という設定・作業は終わっているはずです。明確にするため、以下3点を前提として話を進めます。
    • RawTherapeeをクラッシュさせるファイルを含んだディレクトリーはC:\photos\bugs で、“options”ファイルは StartupPath=C:\\photos\\bugsであった
    • そこで、“options”ファイルの中のStartupPath=C:\\photos\\bugsStartupPath=C:\\fooに変更した
    • 問題のディレクトリーには画像ファイルが100枚(001.raw100.raw)入っている
    それでは、欠陥のあるファイルを探しましょう:
    1. 作業自体は面白くないものです。ここではraw画像ファイルを例にしていますが、それがrawファイルではなく、処理プロファイル(pp3)かもしれません。或いは、それが、JPEGファイル、PNGファイル、或いはその他のファイルの可能性もあるでしょう。兎に角、問題ファイルを見つけるまで、ファイルを絞り込んでいきます、それが最も速い方法です。
    2. RawTherapeeが開いていれば、一旦閉じてください。
    3. ファイルの半分(ここでは001.raw050.raw)を、この問題を含んだディレクトリーC:\photos\bugsから、RawTherapeeに読ませるように変更したディレクトリー(C:\foo)に移動します。
    4. RawTherapeeを起動させます。
    5. クラッシュした場合は、ステップ6に行きます。クラッシュしなかったら、3,4に戻りますが、今度は残り半分のファイル(051.raw - 100.raw)を移動します。
    6. 今度は移動したファイルの半分だけ(001.raw - 025.raw、或いは051.raw - 075.raw)をC:\fooから、RawTherapeeが読まないようにしてあるディレクトリー(C:\photos\bugs)に移動します。
    7. ステップ4に戻ります。この作業を欠陥ファイルが特定できるまで続けます。

 こうして、特定したファイルをZip形式にします。たとえ、それがpp3のようなテキストであってもZip形式にして下さい。そうすることでウェブサイトがそのファイルに干渉(まだ、未確認である、クラッシュの原因を取り除いてしまう可能性)することを避けるためです。そして、それをFileBinにアップロードし、私達のフォーラムやGoogle Codeにリンクして下さい。