Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Apache 2.2.16.0

Windows 2008 64bits

mod_dav_svn dated from 2010-06-30

libapr-1.dll version 1.4.2


The whole is configured for months and working perfectly. Commits/Updates/Checkouts/Other everyday uses are working perfectly.

Today, a user tried to do a Lock on a file. Apache is crashing.

Here's the entries from the Event log

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

Here's a part of apache's error.log file

[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.

I can't see what I should do to diagnose the problem or to solve it.

Any help?

Thanks

share|improve this question
    
What version of Subversion are you using? You can get this from the command line by running svn --version –  jgifford25 Dec 16 '10 at 20:08
    
svn, version 1.6.12 (SlikSvn/1.6.12) X64 –  vIceBerg Dec 17 '10 at 17:42
    
@vlceBerg: Hmmm... that version should be good. Any pre-lock hook scripts on the repositories? –  jgifford25 Dec 17 '10 at 18:39
    
@jgifford25: No, only post-commit and pre-commit hooks –  vIceBerg Dec 17 '10 at 21:42
    
Have you tried checking out a working copy on the same server Subversion is running on using the file:// protocol rather than http:// and https:// protocols? This should let you see if the lock is with Apache only or in Subversion by bypassing the the Apache interface. –  jgifford25 Dec 20 '10 at 14:34

1 Answer 1

up vote 1 down vote accepted

Okay, I think I now have enough information to formulate an answer.

What we know at this point: SVNServe works, Apache does not, assuming local/file works. Crashes occur remotely with TortoiseSVN using Apache, but not SVNServe.

Have you tried the command line remotely through Apache? Maybe even on the same machine where you've tried TortoiseSVN that caused Apache to crash?

Now, it could be just a bad version of TortoiseSVN or the SVN Client in TortoiseSVN does not match the server, i.e. 1.6.x to 1.6.x, not 1.5.x client to 1.6.x server. However, if it's not, then my next suspect would be the Apache libraries you are using.

You indicated that you got your install from a third-party, but didn't say which. See if they have a newer version. If you using VisualSVN, that's good. If you still have the problem, trying switching vendors. I've had great lucking using CollabNet's builds of Subversion. They now have new packaging that includes ViewVC and gui management tool. And they do offer support for their builds.

share|improve this answer
    
Thanks for your answer. As you may understand, it will take some time before I can try what you suggest. I'll keep you in touch. I think I'll have an opportunity to do this next week. –  vIceBerg Dec 21 '10 at 15:37
    
It was a faulty mod_dav_svn.so module. What I did to discover: I installed CollabNet distro. Tried to get a lock. Worked. Compared every file of Collab versus mine with Beyond Compare. I copied all Collab's modules over mine. Get lock, worked. I then revert my modules and tried them one by one. When I copied the mod_dav_svn.so file over mine, it worked. –  vIceBerg Dec 28 '10 at 19:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.