Mac で LockDown Browser がクラッシュする - 原因とステップ別の解決策
症状
- LockDown Browser が Dock で 1-3 回跳ねた後に消える。
- 「LockDown Browser が予期せず終了しました」という macOS のダイアログ (これは別途予期せず終了で扱っています)。
- アプリが正常に起動してロード画面を表示するが、その後消える。
- 再起動を繰り返してもクラッシュが続き、試験を起動できない。
~/Library/Logs/DiagnosticReports/にLockDown Browser-*.ipsまたは.crashという名前のクラッシュレポートが現れる。
macOS が LDB のクラッシュを記録する場所
Apple はすべてのアプリケーションクラッシュを次の 2 つのいずれかに .ips (または古い形式の .crash) ファイルとして記録します。
~/Library/Logs/DiagnosticReports/- ユーザースコープのクラッシュレポート。/Library/Logs/DiagnosticReports/- システムスコープ (ユーザーが起動したアプリではまれ)。
日付でソートして最新ファイルをテキストエディットで開きます。最初の 30 行でクラッシュのシグネチャがわかります。最も有用なフィールド:
- 「Exception Type」 - 通常は
EXC_BAD_ACCESS、EXC_CRASH、EXC_BREAKPOINTのいずれか。 - 「Termination Reason」 - 多くの場合人間が読める形 (例:
Namespace CODESIGNING, Code 0x2はコード署名の失敗を意味します)。 - 「Crashed Thread」 - クラッシュ時点のコールスタック。
スタックを解釈する必要はありません。LMS のサポートスタッフや Respondus のサポートがチケット処理に使います。保存しておいてください。
頻度順の根本原因
- Gatekeeper による拒否 (約 31%) - インストール時には .dmg の署名が有効だったが、codesign キャッシュが現在は無効になっています。.ips での症状:
Namespace CODESIGNING。 - .app バンドルの破損 (約 28%) - 中断されたダウンロード、部分的な展開。症状: 起動直後 (200 ms 以内) の
EXC_BREAKPOINT。 - Rosetta なしで Apple Silicon 上の Intel (約 15%) - 所属大学がレガシー LDB 1.x を配布している場合のみ該当。症状: 初回起動時に Rosetta インストールを求める macOS プロンプトが出て、「キャンセル」をクリックすると次の起動で LDB がクラッシュします。
- Hardened runtime / Entitlements の不一致 (約 10%) - 古い macOS が新しい LDB の Entitlements を拒否します。
- WebKit のバージョン不一致 (約 6%) - 起動中に Safari/WebKit が更新されました。
- その他 (10%): ハードウェア、カーネル拡張。
対処 1 - LDB をクリーン再インストールする
クラッシュの約 80% を解決します。手順:
- 完全アンインストールを実行します (アンインストールクラスタ)。
- Mac を再起動します。
- LMS にログインし、評価を開いて LDB を再ダウンロードします。
- .dmg のサイズが LMS の期待値 (通常はダウンロードページに表示) と一致することを確認します。
- インストールします。初回起動時にすべての TCC プロンプトを承認します。
対処 2 - Gatekeeper の署名を確認する
codesign --verify --deep --strict --verbose=2 "/Applications/LockDown Browser.app"
spctl --assess --verbose "/Applications/LockDown Browser.app"
期待される出力: 「satisfies its Designated Requirement」および「accepted source=Notarized Developer ID」。いずれかが失敗する場合、署名が壊れているので再インストールしてください。
対処 3 - macOS を更新する
システム設定 → 一般 → ソフトウェアアップデート。新しい LDB ビルドは新しい Entitlements を使うため、古い macOS のマイナーリリースが拒否することがあります。「Hardened runtime」の不一致経路は macOS のアップデートが必要です。
対処 4 - 1.x の LDB を実行している場合は Rosetta 2 をインストールする
所属大学がレガシー LDB 1.x を配布している場合のみ該当します。次を実行してください。
softwareupdate --install-rosetta --agree-to-license
その後 LDB を再起動します。LDB が 2.x の場合 (2026 年時点でほとんどの機関) このステップは不要です。Apple Silicon についてはインストールクラスタを参照してください。
対処 5 - クラッシュレポートを保存してサポートに連絡する
上記の対処で繰り返すクラッシュが解決しない場合は、~/Library/Logs/DiagnosticReports/ の最新の .ips ファイルを保存し、support.respondus.com から Respondus のサポートチケットに添付して、所属大学の IT を CC してください。クラッシュシグネチャによって Respondus 側で再現できます。
Frequently asked questions
なぜ LDB が自分の Mac でだけクラッシュし、同級生の Mac ではクラッシュしないのですか?
一般的な理由は 3 つあります。(1) macOS バージョンの違い - マイナーリリースで Entitlements の適用が異なります。(2) インストールされているアプリの違い - アンチウイルスやセキュリティツールが LDB に注入して codesign を壊すことがあります。(3) ハードウェアの違い - サポート終了が近い古い Mac は、新しい Mac が受け入れる Entitlements でクラッシュすることがあります。
起動時のクラッシュと「予期せず終了」は同じものですか?
「予期せず終了」は、macOS がクラッシュを検出してレポートを Apple に送信するかどうかを尋ねる状態を指します。このダイアログが出ないクラッシュ (起動時のサイレントクラッシュ) は基本的に同じ挙動ですが、UI プロセスが完全に起動する前にアプリがクラッシュした場合は macOS がダイアログを抑制することがあります。どちらも同じ診断フローに属します。
クラッシュレポートには個人情報が含まれますか?
アプリバージョン、macOS バージョン、ハードウェア識別子、クラッシュ時点のコールスタックが含まれます。試験の解答、アカウント認証情報、画面の内容は含まれません。Respondus のサポートに送信して問題ありません。
現在のバージョンがクラッシュする場合、以前のバージョンの LDB を実行できますか?
いいえ。所属大学の Respondus Dashboard は特定の最小 LDB バージョンを要求します。古い LDB はインストールされていても起動時に拒否されます。対応経路は、ダウングレードではなく、常に現在のバージョンのデバッグです。