[mod_python] OS X / Apache 2 / mod_python bug

Jamie Kirkpatrick jkp at kirkconsulting.co.uk
Wed Mar 16 16:36:45 EST 2005


>>
>> So, after a normal start error log shows:
>>
>> [Wed Mar 16 11:03:43 2005] [notice] mod_python: Creating 32 session  
>> mutexes based on 150 max processes and 0 max threads.
>> [Wed Mar 16 11:03:43 2005] [error] Performing Initialisation.
>> [Wed Mar 16 11:03:43 2005] [notice] Digest: generating secret for  
>> digest authentication ...
>> [Wed Mar 16 11:03:43 2005] [notice] Digest: done
>> [Wed Mar 16 11:03:44 2005] [notice] Apache/2.0.53 (Unix) DAV/2  
>> mod_python/3.1.3 Python/2.4 configured -- resuming normal operations
>>
>> Then I call the test script:
>>
>> [Wed Mar 16 11:04:52 2005] [error] The name passed was:
>> [Wed Mar 16 11:04:52 2005] [error] thegrove.homeip.net
>> [Wed Mar 16 11:04:53 2005] [notice] mod_python: (Re)importing module  
>> 'test'
>> [Wed Mar 16 11:04:53 2005] [error] start import
>> [Wed Mar 16 11:04:53 2005] [error] end import
>> [Wed Mar 16 11:04:53 2005] [error] start handler
>> [Wed Mar 16 11:04:53 2005] [error] end handler
>> [Wed Mar 16 11:04:53 2005] [error] Name was NULL.
>>
>> Cool - fixed that crash (my fault!), but it still puzzles me why the  
>> handler gets called again here.
>
> Am not sure which part of the logs you are referring to, I only see
> the handler itself being called once.

I dont mean the handler, i mean the initialiser (sorry).  The first  
time name is set to thegrove.homeip.net and the second time to NULL.

>
>> Now a restart - the following is added to the logs:
>>
>> [Wed Mar 16 11:06:01 2005] [error] Name was NULL.
>> [Wed Mar 16 11:06:01 2005] [error] Name was NULL.
>> [Wed Mar 16 11:06:01 2005] [error] Name was NULL.
>> [Wed Mar 16 11:06:01 2005] [error] Name was NULL.
>> [Wed Mar 16 11:06:01 2005] [error] Name was NULL.
>> [Wed Mar 16 11:06:01 2005] [error] Name was NULL.
>> [Wed Mar 16 11:06:07 2005] [notice] SIGHUP received.  Attempting to  
>> restart
>> [Wed Mar 16 11:06:07 2005] [notice] mod_python: Creating 32 session  
>> mutexes based on 150 max processes and 0 max threads.
>> [Wed Mar 16 11:06:07 2005] [notice] Digest: generating secret for  
>> digest authentication ...
>> [Wed Mar 16 11:06:07 2005] [notice] Digest: done
>> [Wed Mar 16 11:06:08 2005] [notice] Apache/2.0.53 (Unix) DAV/2  
>> mod_python/3.1.3 Python/2.4 configured -- resuming normal operations
>>
>> Again I have multiple instances of httpd running now ... is this  
>> normal?
>
> The lookup of interpreters by NULL is something to do with the
> cleanup handlers for the interpreter. Not sure why NULL though.
> Can't tell here whether they are in separate processes or not.
> Are you using "ps" to note there are multiple processes running.
> Because your Apache is running in prefork mode, it is normal for
> it to create multiple processes even if not all may be used in
> your simple test.

I am using ps and there are multiple instances running.  I didnt start  
them so ill assume this is normal apache behaviour.  Is prefork the  
default then?  What is the alternative to this mode?

<snip>

>
> I understand the patch is in the subversion repository for the  
> mod_python
> source code:
>
>    
> https://svn.apache.org/repos/asf/httpd/mod_python/trunk/src/ 
> mod_python.c
>

Good!

> The original person who developed mod_python doesn't really look  
> after it
> anymore and maintenance has been taken over by someone else. He has  
> been
> slowly working through fixing some of the known problems and simply  
> hasn't
> made an updated release yet. The security fix release done recently  
> was a
> rush job based on source of previous version. Because there is this
> transition to a new maintainer, updating of the web site is also in a  
> state
> of flux to a degree.
>

Noted.

> I possibly should point out that although I try and provide help to  
> people
> on the mailing list, I am not involved in the maintenance of  
> mod_python
> itself except as far as I have posted up a lot of bug reports for  
> stuff I've
> found and possible fixes. I have only been using mod_python for about  
> six
> months and wasn't intending to get so involved in it nor develop  
> Vampire.
> I was only after an easier way to construct web pages for my site. I  
> really
> need to be getting back to my main projects which have been  
> stagnating while
> on this diversion. :-(
>
> Anyway, outcome from your problem is that I now know that the Mac OS  
> X fix
> is relevant to the platform generally and not just Apples Python 2.3
> installation. Another bit of useful information to help people out.
>
> Graham
>

So, just to say a big thank you.  Your tips were an interesting insight  
into how this stuff works, but I really ought to read the API for  
Apache to understand this stuff better - as with you though too much to  
do!

But yes, you are right, this has been useful as I can say with  
certainty that this is a general OS X issue - it appears on the stock  
2.3, a custom 2.3 and 2.4.  I have informed dports of the issue and we  
have included a patch in the port now so people installing that way  
should get something that works correctly.  Well done on the patch tho,  
and thanks for all your effort...

Jamie

..../me unsubscribes ;)



More information about the Mod_python mailing list