質問

mod_rails(passenger)2.0.3およびEnterprise Ruby 1.8.6を使用してApache 2でRedmineを実行しています。ログインしようとすると、Apacheからセグメンテーション違反が発生することがよくあります。誰も私がこの問題をデバッグする方法を知っていますか? Apacheのerror.logに次のようなメッセージが表示されます。

[Mon Jan 19 17:09:48 2009] [notice] child pid 8714 exit signal Segmentation fault(11)

アプリケーションを動作させる唯一の方法は、システム全体を再起動することです(Apacheを再起動しても効果はありません)。

役に立ちましたか?

解決

最初の手順は次のとおりです。

  1. コアファイルがシステムのどこに残っているかを確認します(必要に応じてコアダンプを有効にします)。

  2. 結果のコアファイルに対してfile(1)を実行します。これはおそらく<!> quot; ... httpd <!> quot;によって生成されますが、確認する必要があります。

  3. (2)の実行可能ファイル名と(1)のコアファイルに対してgdbを起動し、掘り始めます。コマンドwhere(またはbt)を開始するのに適しています。これにより、プロセスがコアをダンプした時点でスタックトレースが得られます。

大量のCコーディング経験がないようですね。幸運を祈ります!この種のエラーを追跡することは、本物の犬になり得ます。ここから(3)のスタックトレースを投稿することもできますが、答えを待つ間、息を止めないでください。せいぜい、失敗した関数名はGoogleにフィードするのに適した文字列です。

他のヒント

セグメンテーション違反で同様の問題が発生しました(11)。ソリューションとしてアップグレードを提供する次の ServerFaultの質問が見つかりました。

Ubuntuの古いバージョンを実行していて、segfaultの問題がありました。 do-release-upgradeが私のシステムをUbuntu 11.10にもたらし、問題は魔法のように消えました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top