An Apache configuration serving Subversion repositories, with mod_wsgi 3.3 authentication provider, causes per request segfaults in Apache 2.2.22 with mod_dav_svn from Subversion 1.7.13. If mod_wsgi auth directives are removed from the Apache configuration, then repositories are served properly.
The identical configuration with Subversion 1.7.9 (from https://launchpad.net/~svn/+archive/ppa) and the stock Ubuntu 12.04 Subversion 1.6.17 works as expected with mod_wsgi auth directives in place. Environment: Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-55-virtual x86_64) Apache/2.2.22 (Ubuntu) DAV/2 SVN/1.7.13 mod_wsgi/3.3 Python/2.7.3 Subversion 1.7.13 (http://subversion.apache.org/packages.html Ubuntu Linux: WANdisco) Loaded Modules: core_module (static) log_config_module (static) logio_module (static) mpm_worker_module (static) http_module (static) so_module (static) alias_module (shared) auth_basic_module (shared) authn_file_module (shared) authz_default_module (shared) authz_groupfile_module (shared) authz_host_module (shared) authz_user_module (shared) autoindex_module (shared) cgid_module (shared) dav_module (shared) dav_svn_module (shared) authz_svn_module (shared) deflate_module (shared) dir_module (shared) env_module (shared) mime_module (shared) negotiation_module (shared) reqtimeout_module (shared) setenvif_module (shared) status_module (shared) wsgi_module (shared) httpd.conf: CoreDumpDirectory /tmp/apache2-gdb-dump LogLevel debug listen 8080 <VirtualHost *:8080> ServerName svn.mydomain.org <Location /projects> DAV svn SVNParentPath /var/lib/svn SVNListParentPath Off WSGIAccessScript /var/lib/wsgi/access.wsgi </Location> </VirtualHost> <VirtualHost *:80> ServerName svn.mydomain.org <Location /projects> DAV svn SVNParentPath /var/lib//svn SVNListParentPath Off AuthType Basic AuthName "WSGIAuth" AuthBasicProvider wsgi WSGIAuthUserScript /var/lib/wsgi/access.wsgi Require valid-user WSGIAuthGroupScript /var/lib/wsgi/access.wsgi Require group authorized </Location> </VirtualHost> access.wsgi: import logging logging.basicConfig(format='%(asctime)s %(levelname)s:%(message)s', level=logging.DEBUG) LOG = logging.getLogger(__name__) def allow_access(*args, **kwargs): LOG.debug("mod_wsgi allow_access called.") return True def check_password(*args, **kwargs): LOG.debug("mod_wsgi check_password called.") return True def groups_for_user(*args, **kwargs): LOG.debug("mod_wsgi groups_for_user called.") return [“authorized”] Apache error log: [Tue Oct 29 11:12:45 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+. [Tue Oct 29 11:12:45 2013] [warn] mod_wsgi: Runtime using Python/2.7.3. [Tue Oct 29 11:12:45 2013] [notice] Apache/2.2.22 (Ubuntu) DAV/2 SVN/1.7.13 mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations [Tue Oct 29 11:12:45 2013] [info] Server built: Jul 12 2013 13:37:15 [Tue Oct 29 11:12:45 2013] [debug] worker.c(1757): AcceptMutex: sysvsem (default: sysvsem) [Tue Oct 29 11:12:45 2013] [info] mod_wsgi (pid=11326): Initializing Python. [Tue Oct 29 11:12:45 2013] [info] mod_wsgi (pid=11325): Initializing Python. [Tue Oct 29 11:12:45 2013] [info] mod_wsgi (pid=11326): Attach interpreter ''. [Tue Oct 29 11:12:45 2013] [info] mod_wsgi (pid=11325): Attach interpreter ''. [Tue Oct 29 11:12:55 2013] [debug] mod_deflate.c(615): [client 129.59.105.145] Zlib: Compressed 481 to 328 : URL /projects/somerepo [Tue Oct 29 11:12:59 2013] [info] [client <elided>] mod_wsgi (pid=11326, process='', application=''): Loading WSGI script '/var/lib/wsgi/access.wsgi'. [Tue Oct 29 11:12:59 2013] [info] [client <elided>] mod_wsgi (pid=11325, process='', application=''): Loading WSGI script '/var/lib/wsgi/access.wsgi'. [Tue Oct 29 11:13:00 2013] [notice] child pid 11325 exit signal Segmentation fault (11), possible coredump in /tmp/apache2-gdb-dump [Tue Oct 29 11:13:00 2013] [notice] child pid 11326 exit signal Segmentation fault (11), possible coredump in /tmp/apache2-gdb-dump [Tue Oct 29 11:13:01 2013] [info] mod_wsgi (pid=11384): Initializing Python. [Tue Oct 29 11:13:01 2013] [info] mod_wsgi (pid=11384): Attach interpreter ''. [Tue Oct 29 11:13:19 2013] [info] mod_wsgi (pid=11412): Initializing Python. [Tue Oct 29 11:13:19 2013] [info] mod_wsgi (pid=11412): Attach interpreter ''. [Tue Oct 29 11:13:21 2013] [info] [client <elided>] mod_wsgi (pid=11384, process='', application=''): Loading WSGI script '/var/lib/wsgi/access.wsgi'. [Tue Oct 29 11:13:21 2013] [info] [client <elided>] mod_wsgi (pid=11412, process='', application=''): Loading WSGI script '/var/lib/wsgi/access.wsgi'. [Tue Oct 29 11:13:22 2013] [notice] child pid 11384 exit signal Segmentation fault (11), possible coredump in /tmp/apache2-gdb-dump [Tue Oct 29 11:13:22 2013] [notice] child pid 11412 exit signal Segmentation fault (11), possible coredump in /tmp/apache2-gdb-dump [Tue Oct 29 11:13:23 2013] [info] mod_wsgi (pid=11442): Initializing Python. [Tue Oct 29 11:13:23 2013] [info] mod_wsgi (pid=11442): Attach interpreter ''. No core dumps were generated. Apache access log: svn.mydomain.org:80 <elided> - - [29/Oct/2013:11:12:55 +0000] "OPTIONS /projects/somerepo HTTP/1.1" 401 665 "-" "SVN/1.7.13 neon/0.29.6" svn.mydomain.org:80 <elided> - - [29/Oct/2013:11:13:18 +0000] "OPTIONS /projects/somerepo HTTP/1.1" 401 720 "-" "SVN/1.7.13 serf/1.2.1” Subversion client commands: $ svn co --username somebody http://svn.mydomain.org/projects/somerepo Authentication realm: <http://svn.mydomain.org:80> WSGIAuth Password for 'somebody': svn: E175002: Unable to connect to a repository at URL 'http:/svn.mydomain.org/projects/somerepo' svn: E175002: OPTIONS of 'http://svn.mydomain.org/projects/somerepo': Could not read status line: connection was closed by server (http://svn.mydomain.org) $ svn co --config-option servers:global:http-library=serf --username somebody http:///svn.mydomain.org/projects/somerepo Authentication realm: <http://svn.mydomain.org:80> WSGIAuth Password for 'somebody': svn: E120108: Unable to connect to a repository at URL 'http:///svn.mydomain.org/projects/somerepo' svn: E120108: Error running context: APR does not understand this error code I appreciate your help in identifying the cause of Apache segfaults with mod_dav_svn from Subversion 1.7.13. -- Larry Howard, Sr. Research Scientist Institute for Software Integrated Systems, Vanderbilt University
smime.p7s
Description: S/MIME cryptographic signature