0

Fedora ボックスで sqlite を介して trac 0.12.2 をセットアップしたところ、trac は Web ブラウザとコマンド ラインを介して正常に動作しています。私の問題は、このコマンドを実行するとポストコミットフックがセグメンテーション違反で死ぬsvnフックを実装することです:

/usr/bin/trac-admin /var/trac/myproject changeset added "$1" "$2"

$1 はローカル ファイル システムの svn リポジトリ パスで、$2 はリビジョンです。

このコマンドの出力は次のとおりです。

/path/to/svn/hooks/post-commit: line 9: 3874 Segmentation fault /usr/bin/trac-admin /var/trac/myproject changeset added "$1" "$2"

これをデバッグするにはどうすればよいですか?これが新規インストールで発生する理由を知っている人はいますか (私はアップグレードしていませんが、クリーンです)。

このコマンドを実行しているユーザーに関して、いくつかの基本的なチェックを行いましたapache。また、このコマンドを実行してapache失敗するかどうかを確認しようとしましたが、これはコマンドラインから見つけるだけで機能します。

sudo -u apache /usr/bin/trac-admin /var/trac/ujaweb changeset added /path/to/svn/repo 750

私はここで少しアイデアがありません。なぜこれが起こっているのか、誰にも考えがありますか?

役立つ場合に備えて、さらに詳しい情報を次に示します。

Linux: Linux hostname.com 2.6.18-028stab069.5 #1 SMP Tue May 18 17:26:16 MSD 2010 x86_64 x86_64 x86_64 GNU/Linux
Apache: 2.2.17 w/ mod_wsgi
Python: 2.6.4
Trac: 0.12.2 (mod_wsgi を使用した Apache 経由)

4

2 に答える 2

1

trac-adminの下で実行してみてstrace、出力を保存できます。

/usr/bin/strace -o /var/trac/myproject/log/trace.log /usr/bin/trac-admin /var/trac/myproject changeset added "$1" "$2"

次に、生成されたログを で確認します/var/trac/myproject/log/trace.log

/etc/limits別のオプションとして、システムでコア ダンプを生成し (および/またはで有効にする必要がある場合があります/etc/security/limits.conf)、 でダンプを開きgdbます。

于 2011-04-06T13:56:45.933 に答える
0

私の最初の試みは、selinux をしばらくオフにして、それでも発生するかどうかをテストすることです。そうでない場合は、セグメンテーション違反で失敗するプロセスによって /proc/mount を開くことができるように selinux を構成する方法を理解する必要があります。

于 2011-04-06T15:33:29.287 に答える