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] <javascript:> wrote:
>
> *[Cross-posted to [email protected] <javascript:>]*
>
> 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] <javascript:>.
> To post to this group, send email to [email protected] <javascript:>
> .
> 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.