Apologies for following up my own reply, but the discussion of this issue is happening in two forums, the other being the Subversion users mailing list.
Of interest to mog_wsgi is the most recent message from Philip Martin: Philip Martin <[email protected]> writes: ... It appears to be caused by r1514941 which added the translate_name and map_to_storage hooks to mod_dav_svn. Subversion's translate_name hook is setting r->filename to NULL and it appears that mod_wsgi does not check for NULL. On Wednesday, October 30, 2013 11:45:31 AM UTC-5, [email protected] wrote: > > Thanks for responding Graham. Unfortunately, the Apache segfaults > continue with mod_wsgi 3.4. > > [Wed Oct 30 16:22:58 2013] [notice] Apache/2.2.22 (Ubuntu) DAV/2 > SVN/1.7.13 mod_wsgi/3.4 Python/2.7.3 configured -- resuming normal > operations > [Wed Oct 30 16:22:58 2013] [info] Server built: Jul 12 2013 13:37:15 > [Wed Oct 30 16:22:58 2013] [debug] worker.c(1757): AcceptMutex: sysvsem > (default: sysvsem) > [Wed Oct 30 16:22:58 2013] [info] mod_wsgi (pid=25136): Initializing > Python. > [Wed Oct 30 16:22:58 2013] [info] mod_wsgi (pid=25135): Initializing > Python. > [Wed Oct 30 16:22:58 2013] [info] mod_wsgi (pid=25135): Attach interpreter > ''. > [Wed Oct 30 16:22:58 2013] [info] mod_wsgi (pid=25136): Attach interpreter > ''. > [Wed Oct 30 16:23:12 2013] [debug] mod_deflate.c(615): [client <elided>] > Zlib: Compressed 481 to 328 : URL /projects/firetracks > [Wed Oct 30 16:23:14 2013] [info] [client <elided>] mod_wsgi (pid=25135, > process='', application=''): Loading WSGI script > '/var/lib/wsgi/access.wsgi'. > [Wed Oct 30 16:23:14 2013] [info] [client <elided>] mod_wsgi (pid=25136, > process='', application=''): Loading WSGI script > '/var/lib/wsgi/access.wsgi'. > [Wed Oct 30 16:23:14 2013] [notice] child pid 25135 exit signal > Segmentation fault (11), possible coredump in /tmp/apache2-gdb-dump > [Wed Oct 30 16:23:14 2013] [notice] child pid 25136 exit signal > Segmentation fault (11), possible coredump in /tmp/apache2-gdb-dump > [Wed Oct 30 16:23:15 2013] [info] mod_wsgi (pid=25194): Initializing > Python. > [Wed Oct 30 16:23:15 2013] [info] mod_wsgi (pid=25194): Attach interpreter > ''. > > What we know is that mod_dav_svn works as expected without mod_wsgi auth > directives (per the original report.) > Based on feedback on the Subversion users list, I confirmed that mod_wsgi > 3.3 functions as expected without mod_dav_svn, > using the Apache configuration: > > CoreDumpDirectory /tmp/apache2-gdb-dump > > LogLevel debug > > listen 8080 > > <VirtualHost *:8080> > > ServerName svn.mydomain.org > > DocumentRoot /var/www > > <Location /index.html> > > WSGIAccessScript /var/lib/wsgi/access.wsgi > > </Location> > > </VirtualHost> > > <VirtualHost *:80> > > ServerName svn.mydomain.org > > DocumentRoot /var/www > > <Location /index.html> > > 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> > > > (This has been reconfirmed with mod_wsgi 3.4.) And we know that the > intended configuration > works as expected with mod_dav_svn from Subversion 1.7.9 and mod_wsgi 3.3. > > Is there something more I can do to help clarify this? > > > On Tuesday, October 29, 2013 7:33:41 PM UTC-5, Graham Dumpleton wrote: >> >> Upgrade mod_wsgi. >> >> From memory, the subversion crashes was addressed in mod_wsgi 3.4 by: >> >> 7. Response Content-Type header could be corrupted when being sent in >> >> multithreaded configuration and embedded mode being used. Problem thus >> >> affected Windows and worker MPM on UNIX. >> >> >> Graham >> >> On 29/10/2013, at 11:58 PM, [email protected] wrote: >> >> *[Cross-posted to [email protected]]* >> >> 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<http://svn.mydomain.org/>> >> 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<http://svn.mydomain.org/projects/somerepo> >> Authentication realm: <http://svn.mydomain.org:80<http://svn.mydomain.org/>> >> WSGIAuth >> Password for 'somebody': >> svn: E120108: Unable to connect to a repository at URL ' >> http:///svn.mydomain.org/projects/somerepo'<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. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "modwsgi" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/modwsgi. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/groups/opt_out.
