[mod_python] mod_python import failure on FreeBSD AMD64

Surly The Clown surly_the_clown at hotmail.com
Tue May 4 22:53:29 EDT 2010


















> Date: Wed, 5 May 2010 09:30:10 +1000
> Subject: Re: [mod_python] mod_python import failure on FreeBSD AMD64
> From: graham.dumpleton at gmail.com
> To: surly_the_clown at hotmail.com
> CC: mod_python at modpython.org
> 
> On 5 May 2010 09:12, Surly The Clown <surly_the_clown at hotmail.com> wrote:
> > Hello all,
> >
> >
> > I have two FreeBSD machines, both running the latest FreeBSD-8.0 release,
> > apache-2.2.14_6, and mod_python-3.3.1_2. On one of the machines, the i386
> > one, there are no problems. Everything works fine. On the other one, an
> > AMD64 machine, any attempt to access a page handled by mod_python results in
> > a 500 Internal Server Error response and the following error log:
> >
> >
> > [Tue May 04 14:41:34 2010] [notice] mod_python: Creating 8 session mutexes
> > based on 256 max processes and 0 max threads.
> > [Tue May 04 14:41:34 2010] [notice] mod_python: using mutex_directory /tmp
> > [Tue May 04 14:41:34 2010] [notice] Apache/2.2.14 (FreeBSD) mod_python/3.3.1
> > Python/2.6.4 configured -- resuming normal operations
> > sem_init: No space left on device
> 
> The first problem is that you don't have enough SYSV semaphores
> configured for your system.
> 
> You can try setting:
> 
>   PythonOption mod_python.mutex_locks 4
> 
> to reduce number used, but you still may not have enough.
> 
> Try fixing that first using that option, or by increasing number of
> semaphores in kernel configuration.
> 
> Graham



Thank you very much for responding. The lack of activity on this mailing list had me thinking no one used it anymore.

I tried setting PythonOption mod_python.mutex_locks 4, and the problem persisted. I then tried increasing the number of available semaphores in the kernel from the default 10 (!) to 256, verified that that setting had changed, and then tried again. The problem still persists. Furthermore, four files that appear to be the mutexes exist in /tmp, named mpmtx15570 to mpmtx15573. Perhaps mod_python isn't using kernel semaphores? Its documentation says that it doesn't always. And /tmp isn't out of space (no partition is).

Any more ideas?

Error log:

[Tue May 04 19:42:14 2010] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads.
[Tue May 04 19:42:14 2010] [notice] mod_python: using mutex_directory /tmp
[Tue May 04 19:42:14 2010] [notice] Apache/2.2.14 (FreeBSD) mod_python/3.3.1 Python/2.6.4 configured -- resuming normal operations
sem_init: No space left on device
[Tue May 04 19:42:15 2010] [error] make_obcallback: could not import mod_python.apache.\n
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/site-packages/mod_python/apache.py", line 29, in <module>
    import cgi
  File "/usr/local/lib/python2.6/cgi.py", line 40, in <module>
    import urllib
  File "/usr/local/lib/python2.6/urllib.py", line 26, in <module>
    import socket
  File "/usr/local/lib/python2.6/socket.py", line 64, in <module>
    from _ssl import SSLError as sslerror
ImportError: cannot import name SSLError
[Tue May 04 19:42:15 2010] [error] make_obcallback: Python path being used "['/usr/local/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg', '/usr/local/lib/python2.6/site-packages/nose-0.11.1-py2.6.egg', '/usr/local/lib/python26.zip', '/usr/local/lib/python2.6', '/usr/local/lib/python2.6/plat-freebsd8', '/usr/local/lib/python2.6/lib-tk', '/usr/local/lib/python2.6/lib-old', '/usr/local/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/site-packages', '/usr/local/lib/python2.6/site-packages/Numeric', '/usr/local/lib/python2.6/site-packages/gtk-2.0']".
[Tue May 04 19:42:15 2010] [error] get_interpreter: no interpreter callback found.
[Tue May 04 19:42:15 2010] [error] [client 192.168.123.106] python_handler: Can't get/create interpreter.
[Tue May 04 19:42:15 2010] [error] [client 192.168.123.106] File does not exist: /usr/home/chrisa/test/favicon.ico, referer: http://192.168.123.136:8080/fetch.py

httpd.conf:

ServerRoot "/usr/local"

Listen 8080
LoadModule deflate_module libexec/apache22/mod_deflate.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule dir_module libexec/apache22/mod_dir.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule python_module libexec/apache22/mod_python.so
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User www
Group www
</IfModule>
</IfModule>
ServerAdmin you at example.com
ServerName 192.168.123.136:8080
DocumentRoot "/usr/home/chrisa/test"
PythonOption mod_python.mutex_locks 4
<Directory />
    AllowOverride None
    Options None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/usr/home/chrisa/test">
    Options None
    DirectoryIndex index.html
    AddHandler mod_python .py .php .html .swf .pdf .js
    PythonHandler fetch
    PythonDebug On
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "/var/log/httpd-error.log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "/var/log/httpd-access.log" combined
</IfModule>
DefaultType text/plain
<IfModule mime_module>
    TypesConfig etc/apache22/mime.types
    AddEncoding x-compress .Z
    AddEncoding x-gzip .gz .tgz
</IfModule>




 		 	   		  
_________________________________________________________________
Win a $10,000 shopping spree from Hotmail! Enter now.
http://go.microsoft.com/?linkid=9729711
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20100504/330dd653/attachment-0001.html


More information about the Mod_python mailing list