使用svn post-commit钩子的trac-admin会导致分段错误

时间:2011-04-06 13:45:59

标签: linux svn trac svn-hooks

我只是在我的Fedora盒子上设置了scite的trac 0.12.2,并且trac通过Web浏览器和命令行正常工作。我的问题是实现svn hooks,其中post-commit钩子在运行此命令时死于分段错误:

/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(超过Apache w / mod_wsgi)

2 个答案:

答案 0 :(得分: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打开转储。

答案 1 :(得分:0)

我的第一次尝试是关闭selinux一段时间并测试它是否仍然发生。 如果不是 - 您必须弄清楚如何配置selinux以允许该进程打开/ proc / mount失败并出现分段错误。