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 管理工具。他们确实为他们的构建提供支持。