On Fri, Jun 27, 2014 at 9:42 AM, Korte, Michael Johannes <michael.ko...@zeiss.com> wrote: > Hello Nico Kadel-Garcia, > > I still could not fix the problem. I did the following checks: > I did a checkout in the server with user "www-data" on file level: > www-data@artifactory:/tmp/Michael/co_www-data/sbox/trunk$ svn co > file:///var/subversion/repos17/sbox/trunk
I'm sorry I don't have a good hint for you. I don't have Ubuntu environments in hand to play with, Can I assume that your httpd is the basic one from Ubuntu for your release? And there's also a point where one might say "I'm suspicious of this server, let me try it on a cleanly built host". I recommend reading "The Cuckoo's Egg" by Clifford Stoll, to show where noticing a small bug can lead you. You know, can you test it with svn+ssh access, or svnserve access, even if it's only from the localhost? That would help verify the issue as tied to HTTPD and mod_dav_svn, possibly even to the "serf" library now used. Can you reproduce the issue with an older, perhaps subversion-1.7, from before the switch to 'serf'? I'm personally a strong supporter of the "use svn+ssh because https clients often store the password in clear text in $HOME/.subversion", If it solves your problem to switch, perhaps you should consider it and get the potential security benefit on the side Also. Can you try a post-commit that is simply a link to /bin/true? No interpretation, no permissions issues, no output, just a link? > Then the checkin can start the hook script (post-commit) wirh any problem. > > But when I do checkout via http Url (usinge Apache WebDav) (of course also on > the server > root@artifactory:/tmp/Michael/co_http/sbox/trunk# svn co > http://172.25.22.94/sbox/trunk/ > > During the checkin no hook scripts can be called: > root@artifactory:/tmp/Michael/co_http/sbox/trunk/trunk# svn ci -m "aaa" > Anmeldebereich: <http://172.25.22.94:80> Subversion Sandbox Repository > Passwort für »michael.korte«: > Sende Test_commit.txt > Ãbertrage Daten . > Revision 308 übertragen. > > Warnung: Failed to start '/var/subversion/repos17/sbox/hooks/post-commit' hook > > It seems that the hook script can not be executed, when it is started via > apache server, if it has execute permission and owner www-data. > > Is there any possibility to specify that apache can execute a script? > > I linked the subversion Repository under /var/www/subversion/repos17/sbox but > also this didn't help (Failed to start > '/var/www/subversion/repos17/sbox/hooks/post-commit' hook). > > I tried also with oder deny, allow in the apache Konfiguration file but also > this didn't help. Is there any possibility to trace/debug how subversion > calls a hook script exactly. > > That's all for today. May be I have on Monday a good idea. > > Best regards > Michael > > > > > > -----Ursprüngliche Nachricht----- > Von: Korte, Michael Johannes > Gesendet: Freitag, 27. Juni 2014 09:40 > An: 'Nico Kadel-Garcia' > Cc: users@subversion.apache.org; Kocsis, Zoltan; Seelaender, Robin; von > Schoenebeck, Florian > Betreff: AW: SELInux disabled !AW: Problem with subversion hooks scripts > under Linux Apache Dav > > Hello Nico Kadel-Gracia, > > thanks a lot for your investigations and tips. > I doing these things in a test environment. Our plan is to switch the > subversion server from a Windows sever to a Ubuntu Linux system. Therefore > I'm doing the test now in a Linux test environment and only after everything > is fine I will switch the Live-System to the Linux-Environment. So I can do > in this test environment any testing/trace which could help to find the real > reason for this curious problem. > Since yesterday afternoon I have put the hook-scripts for the first time into > subversion. > > But the day before yesterday when the hook scripts were working at least > sporadically I noticed the following. As I was wondering that it worked > sometimes and sometimes not, I did the following. When it worked I tried > several commits without any change and I saw the following: > - Once only one commit was successful and all following failed with "failed > to start ... hook" > - Once two or three commits were successful and only then all following > failed with " failed to start ... hook" > > After it failed a couple of times, I changed the hooks script and then I > changed the hook script back and then it worked (sometimes) again for one or > two tries. > > Therefore I first thought it is really a memory problem, but as I told you > restart of apache server and even reboot did not solve the problem. > > I also thought inbetween it may be a problem that the repository was created > by svnsync. But I checked also with a new created empty repository and got > the same problem. > > My biggest hope was that I can switch on some trace/additional logging to get > some more detailed information why "Failed to start > '/var/subversion/repos17/sbox/hooks/post-commit' hook" occurs. > > I also deleted the *.tmp extension of the template hooks (*.tmp) and set the > execute bit, but the result was the same "failed to start..."., when I tried > with these template hooks. If the hook script itself has an error I would get > a more detailed error message. I saw this the day before yesterday when the > scripts worked at least sporadically. But why do I get now permanent failed > to start..... > > Can you please give me any hint which kind of further test I could do/try. > > I tried also to change the entries in apache2.conf for StartServers and > ThreadsPerChild but I had no success. To say the truth I'm here not sure what > are really correct values. Or is it anywhere else possible to define some > additional memory values for Apache WebDAV. > > Thanks in advance. > > Best regards Michael > > > > -----Ursprüngliche Nachricht----- > Von: Nico Kadel-Garcia [mailto:nka...@gmail.com] > Gesendet: Freitag, 27. Juni 2014 03:38 > An: Korte, Michael Johannes > Cc: users@subversion.apache.org; Kocsis, Zoltan; Seelaender, Robin; von > Schoenebeck, Florian > Betreff: Re: SELInux disabled !AW: Problem with subversion hooks scripts > under Linux Apache Dav > > On Thu, Jun 26, 2014 at 8:16 AM, Korte, Michael Johannes > <michael.ko...@zeiss.com> wrote: >> Hello Nico Kadel-Gracia, >> >> thanks for this promising hint. But I fear this is not the reason . >> >> I checked for SELinux and got disabled: >> >> selinuxenabled && echo enabled || echo disabled disabled >> >> Do you have any further idea? >> >> Especially how/where to check get any further log/trace information. >> >> And especially the very curious thing, that yesterday ythe hook scripts were >> working in this environment at least sporadically. >> >> Best regards >> Michael > > > That.... Now that makes me really nervous. Can you, or have you, put your > hook scripts themselves under source control so that you can record changes > between what works and what does not? It can sometimes be very handy to > Subversion repository scripts and configurations, themselves, under RCS or > git source control on the local host while you work this sort of thing out. > > That this worked a little while ago makes me very nervous about underlying > system changes on the server itself, potentially including someone cracking > your server. Can you start over in a test environment? > > >> -----Ursprüngliche Nachricht----- >> Von: Nico Kadel-Garcia [mailto:nka...@gmail.com] >> Gesendet: Donnerstag, 26. Juni 2014 13:47 >> An: Korte, Michael Johannes >> Cc: users@subversion.apache.org; Kocsis, Zoltan; Seelaender, Robin; >> von Schoenebeck, Florian >> Betreff: Re: Problem with subversion hooks scripts under Linux Apache >> Dav >> >> On Thu, Jun 26, 2014 at 4:20 AM, Korte, Michael Johannes >> <michael.ko...@zeiss.com> wrote: >>> Hello all, >>> >>> >>> >>> I have a very strange problem with subVersion Hook scripts under >>> Ubuntu Linux (Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-64-generic >>> x86_64))., when accessing the repository via Apache2 WebDav. I’m using >>> subversion 1.7.9 . >>> >>> >>> >>> The WebDav Configuration is as follows: >>> >>> <Location /sbox> >>> >>> DAV svn >>> >>> SVNPath /var/subversion/repos17/sbox >> >> Hmmm. This might be a hint. Do you have SELinux running? Can you test with >> it turned off? According to the Linux File System Hierarchy, I'd expect this >> material to be in "/var/www". >> >> Nico Kadel-Garcia >> >> >>> AuthType Basic >>> >>> AuthName "Subversion Sandbox Repository" >>> >>> AuthUserFile /etc/subversion/etc/svn-auth-file >>> >>> Require valid-user >>> >>> AuthzSVNAccessFile /etc/subversion/etc/svn-acl >>> >>> </Location> >>> >>> >>> >>> >>> >>> I tried with a post-commit hook (I wanted Trac to be informed about >>> commits >>> : /usr/bin/trac-admin /var/lib/trac/YourProject changeset added "$1" >>> "$2") but the same problem occurs also for all other hook scripts, no >>> difference what I use as content of the script. >>> >>> >>> >>> Let me explain my problem: >>> >>> >>> >>> I used a Tortoise Client on a remote Windows machine and tried there >>> a commit. I always got the error message: >>> >>> Failed to start '/var/subversion/repos17/sbox/hooks/post-commit' hook >>> >>> >>> >>> I tried all possible changes at my hook script and at the end it >>> consists only of the following two lines: >>> >>> #!/bin/sh >>> >>> /bin/echo "Dies ist ein Test fuer Pre-Commit." >>> >>> >>> >>> But I got still the same error message. >>> >>> The execute bit was set for the script and the file owner was www-data . >>> >>> >>> >>> A local call of the script works perfect: >>> >>> sudo -u www-data env - ./post-commit /var/subversion/repos17/sbox/ >>> 175 >>> >>> >>> >>> When I do a direct commit on the subVersion server (without apache >>> Dav >>> access: ) the post-commit script works fine. I could verify this >>> because after such a commit, the Trac shows the new changeset. >>> >>> >>> >>> The very strange thing was, that when I did the tests yesterday the >>> hook script (even called via Apache DAV from Tortoise at a remote >>> client) sporadically was executed but it also failed sporadically >>> without any changes in the script. >>> >>> I checked in google for similar problems and the only helpful hint I >>> found was an entry from 2008 : >>> http://www.wandisco.com/svnforum/threads/31927-Hook-does-not-work-%28 >>> a nd-yes-absolute-paths-are-used-*g*%29; >>> : The reason for this was, that the system only has limited resources >>> available, such as main memory. >>> After reducing the number of server processes and/or threads created >>> by Apache at startup, the SVN post-commit hook worked fine when >>> committing to the repository. ) >>> >>> >>> >>> I restarted apache service but it didn’t help. Also a reboot of the >>> complete machine did not help. htop showed that memory is still available: >>> >>> Mem : 125 /3954 MB >>> >>> Swp : 65 / 3068 >>> >>> >>> >>> I checked also the apache log but I found no relevant error message, >>> even when I used LogLevel debug in the apache2.conf . >>> >>> >>> >>> Can you please give me any hint what is wrong. >>> >>> >>> >>> Can I see in any log /trace why the hook script can not be started? >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> Best regards Michael >>> >>>