How to fix crashes on startup/jp

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

 RawTherapeeが起動時にクラッシュしてしまうことがあります。原因は幾つかありますが、一般的なものとしては、画像のように見えるが画像ではないファイルを開こうとした時、破損した、またはサポートしていない形式のファイルを開こうとした時、或いは問題のある処理プロファイル(pp3:このプロファイルは貴方がRawTherapeeを使って行った調整の全てを含んでおり、画像ごとにpp3があります)を読み込もうとした時、にクラッシュすることがあります。通常の画像であっても、そのファイルがRawTherapeeに潜んでいたバグを誘発し、クラッシュさせることもあります。また、メタデータの中に特殊な文字エンコードがある場合や、画像が多層構造である場合、カラーチャンネルが4つ以上ある場合などでもクラッシュすることがあります。

 RawTherapeeがサポートしているのは、カラーチャンネルが1つ(グレースケール)か、3つ(RGB或いはCMY)の画像だけです。4つのカラーチャンネル(例、CMYK)を持つ画像が入っているフォルダーを開こうとすると、RawTherapeeが警告メッセージを表示します。その場合、問題のあるファイルを、以下で説明しているように、起動時のファルダ―から外して、別な場所に移して下さい。もちろん、正しいRGB画像またはpp3処理プロファイルだけが入ったフォルダーを開けようとしてクラッシュするケースもあります。しかし、まず初めにサポートしていないカラーチャンネルを持つ画像の有無をチェックして下さい。以下、その作業を説明します。

 バグ問題を扱う際は、常に最新バージョン(出来れば開発バージョンの中で最も新しいもの)のRawTherapeeに関わるものであることを確認して下さい。何故なら古いバージョンのバグが既に取り除かれているかもしれないからです。最新の安定、或いは開発バージョンは、私たちのウェブサイトフォーラムから入手できます。Linuxユーザーの場合は、パッケージマネジャーから探します。


 問題発生の原因を突き止めるには、最も単純な作業から始め、それで成功しない場合は作業のレベルを上げて行きます:

  1. 最初にRawTherapeeの起動時に空のフォルダーを使わせます:
    1. ディスク上のどこかに新しい空のフォルダーを作成します、
      Windowsの場合は: C:\\test
      Linuxの場合は: /home/you/test
    2. ファイルパスで説明されている、“options”というファイルを探します。
    3. テキストエディターを使って“options”ファイルを開きます、
      StartupDirectoryの行を探し出し、StartupDirectory=lastに設定します。
      StartupPathの行を探し出し、先程貴方が作成した空のフォルダーを指定します(フォルダー自体が存在する、そのフォルダーが空である、パスは全て手でタイプする、絶対パスを使う、ショートカットは使わない、Windowsの場合は名前の前にダブルバックスラッシュを入れる、以上のことに注意して下さい)。例えば、
      Windowsの場合は: StartupPath=C:\\test
      Linuxの場合は: StartupPath=/home/you/test
    4. RawTherapeeを再起動します。正常に起動するのであれば、先程書き換えた元々のStartupPathの中に問題となる画像、pp3ファイルやその他のファイルが入っていることになるので、ステップ2をスキップしてステップ3に進みます。しかし、RawTherapeeが再起動時にまたクラッシュした時は、次のステップ2に進みます。
  2. batchフォルダーを削除します:
    1. ファイルパスで説明されている、“batch”というフォルダーを探し、それを削除します。フォルダーの中に何かあればzipを使って全て圧縮してから、フォルダーを削除します。
    2. 再びRawTherapeeを起動します。正常に起動すれば、貴方がキューに送った画像の処理プロファイルに問題があったことになります。バグ報告にはそのzipアーカイブも入れます。再びクラッシュする場合は次のステップに進みます。
  3. cache フォルダーを削除します:
    1. ファイルパスで説明されている、“cache”というフォルダーを探します。
    2. cacheフォルダーを削除するか、中身を失いたくない場合はフォルダー名を変更します(名前の変更は、”cache”を“cache2”などにするだけで十分です。RawTherapeeは”cache”だけを探すので、他の名前のフォルダーを探し出すことはしません)。ポイント:RawTherapeeはデフォルトで画像に関連付けて処理プロファイルを保存するようになっていますので、cacheを削除しても問題ありません。しかし、貴方がRawTherapeeに処理プロファイルをcache以外の場所に保存しないように設定を変更している場合は、cacheを削除すると貴方が各画像に行った調整記録が全て失われてしまいます。この場合は削除せずに名前の変更を行った方がいいでしょう。pp3の設定に関わらず、画像自体を失うことはありません。
    3. RawTherapeeを再起動します。正常に起動すれば、cacheに入っている処理プロファイルの何れかに問題があるということになります。それがどのプロファイルであるかを突き止めるには忍耐を必要とする作業が必要です。突き止めたい場合は、cacheフォルダーを削除せずに、次のステップ“問題ファイルの特定”に進みます。ここまでの作業を行ってもRawTherapeeが起動時に引き続きクラッシュする場合は、問題が画像やpp3に起因するものではない、と言うことになるので、この項での説明では解決出来ないことを意味します。
  4. 問題ファイルの特定
    1. スタックバックトレースは殆どの場合、問題のあるファイルの名前や問題のあるコードの場所を含め、私たちが必要とする情報の全てを提供してくれます。スタックバックトレースの説明を参照して下さい。インストラクションは一見複雑そうですが、作業は単純なので、非常に役立つこのスタックバックトレースを手に入れて下さい。殆どの場合、このスタックバックトレースがあれば問題が解決します。しかし、非常に稀なケースとして、原因を探るために問題ファイルの特定が必要となる場合があります。その場合は以下の作業が必要です。
    2. ここまでクラッシュの原因と思われる、処理プロファイルや画像、或いはその他のファイルがあることは立証されました。また、そのファイルがどのフォルダーにあるかも分かりました。フォルダー全体をzipで圧縮して、そのアーカイブを私たちに送ることは貴方にしてみれば簡単でしょう。問題ファイル(1つ或いは複数)送ってもらうことは重要です。私たちがそれを分析し、将来的にその問題に対処するテクニックを開発出来るからです。しかし、ファイルが何千枚も入ったzipアーカイブを送ってもらっても、クラッシュの原因はその中の1枚によるものなので、私たちにとって問題ファイルを特定するのは非常に困難です、その場合、貴方にそのファイルを見つけてもらう方が簡単かもしれません。作業を明確にするため、次の3点を前提として話を進めます:
    • RawTherapeeをクラッシュさせるファイルを含んだディレクトリーはC:\photos\paris で、“options”ファイルは StartupPath=C:\\photos\\parisであった
    • そこで、“options”ファイルの中のStartupPath=C:\\photos\\parisStartupPath=C:\\testに変更した
    • 問題のディレクトリーには001.rawから100.rawと名付けられた画像ファイルが(100枚)入っている
    それでは、欠陥のあるファイルを探しましょう:
    1. 作業自体は面白くないものです。ここではraw画像ファイルを例にしていますが、それがrawファイルではなく、処理プロファイル(pp3)かもしれません。或いは、ダウンロードした画像、プリンタのICCプロファイル、その他のファイルの可能性もあるでしょう。兎に角、問題ファイルを見つけるまで、ファイルを半分ずつ絞り込んでいきます、それが最も速い方法です。
    2. RawTherapeeが開いていれば、一旦閉じてください。
    3. ファイルの半分(ここでは001.raw050.raw)を、この問題を含んだディレクトリーC:\photos\parisから、RawTherapeeに読ませるように変更したディレクトリー(C:\test)に移動します。
    4. RawTherapeeを起動させます。
    5. クラッシュした場合は、ステップ6に行きます。クラッシュしなかったら、4.3に戻りますが、今度は残り半分のファイル(051.raw - 100.raw)を移動します。
    6. 今度は移動したファイルの半分だけ(001.raw - 025.raw、或いは051.raw - 075.raw)をC:\testから、RawTherapeeが読まないようにしてあるディレクトリー(C:\photos\paris)に移動します。
    7. ステップ4.4に戻ります。この作業を問題ファイルが特定できるまで続けます。
    8. こうして、特定したファイルをZipで圧縮します。たとえ、それがpp3のようなテキストであってもZipで圧縮して下さい。何故ならよくウェブサイトは貴方には見えない形でそのファイルに干渉するからです。私たちはそのことで問題ファイルの原因部分が移動されたり削除されたりすることを危惧します。その意味でzip形式は安全です。そのzipファイルをFileBinにアップロードし、そのリンクを”有益なバグ報告の書き方"で説明されている他の必要な情報とスタックバックトレースと共に私たちに送って下さい。