关于python:Subversion与Apache-获取锁定时崩溃

关于python:Subversion与Apache-获取锁定时崩溃

Apache 2.2.16.0

Windows 2008 64位

mod_dav_svn 于 2010-06-30 开始

libapr-1.dll 版本 1.4.2


整个配置已持续数月,运行完美。提交/更新/签出/其他日常使用均运行完美。

今天,一位用户尝试锁定一个文件。Apache 崩溃了。

以下是事件日志中的条目

Error   2010-12-16 11:30:41 Application Error   1000    (100)
Log Name:      Application
Source:        Application Error
Date:          2010-12-16 11:30:41
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <removed for this post>
Description:
Faulting application name: httpd.exe, version: 2.2.16.0, time stamp: 0x4c5340fc
Faulting module name: libapr-1.dll, version: 1.4.2.0, time stamp: 0x4c5340df
Exception code: 0xc0000005
Fault offset: 0x000111e3
Faulting process id: 0x1ef4
Faulting application start time: 0x01cb9d3dfa277b13
Faulting application path: C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\httpd.exe
Faulting module path: C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\libapr-1.dll
Report Id: d206b446-0931-11e0-aaeb-1cc1de258998

这是 apache 的 error.log 文件的一部分

[Thu Dec 16 11:23:41 2010] [info] [client 192.168.1.141] Access granted: '<myusername>' LOCK svn:/<my_locked_file>
[Thu Dec 16 11:23:41 2010] [info] [client 192.168.1.141] Access granted: '<myusername>' GET svn:/<my_locked_file>
[Thu Dec 16 11:23:41 2010] [notice] Parent: child process exited with status 255 -- Restarting.
[Thu Dec 16 11:23:41 2010] [notice] Apache/2.2.16 (Win32) DAV/2 mod_auth_sspi/1.0.4 SVN/1.6.12 configured -- resuming normal operations
[Thu Dec 16 11:23:41 2010] [notice] Server built: Jul 30 2010 16:15:37
[Thu Dec 16 11:23:41 2010] [notice] Parent: Created child process 6744
[Thu Dec 16 11:23:41 2010] [debug] mpm_winnt.c(487): Parent: Sent the scoreboard to the child
[Thu Dec 16 11:23:41 2010] [notice] Child 6744: Child process is running
[Thu Dec 16 11:23:41 2010] [debug] mpm_winnt.c(408): Child 6744: Retrieved our scoreboard from the parent.
[Thu Dec 16 11:23:41 2010] [info] Parent: Duplicating socket 376 and sending it to child process 6744
[Thu Dec 16 11:23:41 2010] [debug] mpm_winnt.c(605): Parent: Sent 1 listeners to child 6744
[Thu Dec 16 11:23:41 2010] [debug] mpm_winnt.c(564): Child 6744: retrieved 1 listeners from parent
[Thu Dec 16 11:23:41 2010] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 6744 for worker proxy:reverse
[Thu Dec 16 11:23:41 2010] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized
[Thu Dec 16 11:23:41 2010] [debug] proxy_util.c(1914): proxy: initialized worker 0 in child 6744 for (*) min=0 max=64 smax=64
[Thu Dec 16 11:23:41 2010] [notice] Child 6744: Acquired the start mutex.
[Thu Dec 16 11:23:41 2010] [notice] Child 6744: Starting 64 worker threads.
[Thu Dec 16 11:23:41 2010] [notice] Child 6744: Starting thread to listen on port 80.

我不知道该做什么来诊断问题或者解决问题。

有什么帮助吗?

谢谢

答案1

好的,我想我现在有足够的信息来得出答案。

目前我们知道的是:SVNServe 可以工作,Apache 不行,假设 local/file 可以工作。使用 Apache 的 TortoiseSVN 远程崩溃,但 SVNServe 不会崩溃。

您是否尝试过通过 Apache 远程使用命令行?也许您甚至在尝试过 TortoiseSVN 并导致 Apache 崩溃的同一台机器上尝试过?

现在,可能只是 TortoiseSVN 版本有问题,或者 TortoiseSVN 中的 SVN 客户端与服务器不匹配,即 1.6.x 到 1.6.x,而不是 1.5.x 客户端到 1.6.x 服务器。但是,如果不是,那么我的下一个怀疑对象就是您使用的 Apache 库。

您表示您的安装来自第三方,但没有说明是哪个。看看他们是否有更新的版本。如果您使用 VisualSVN,那就好了。如果您仍然遇到问题,请尝试更换供应商。我使用CollabNet 的构建Subversion。他们现在有了新的包装,其中包括 ViewVC 和 GUI 管理工具。他们确实为他们的构建提供支持。

相关内容