If your own Apache modules are using atexit() to perform cleanup on process 
exit, rather than Apache's own mechanisms for performing cleanup actions when 
the pool the module uses is cleaned up, then the atexit() callback will have to 
take into consideration that under mod_wsgi when using daemon mode, that the 
Apache module child init handler will not be called in the daemon process for 
your Apache module. Thus the callback should check whether global data pointers 
are in fact non NULL before trying to do things with them.

Can you confirm you are using atexit() callbacks in C code with your Apache 
modules and explain at what point you are registering the callback with 
atexit()?

Is there a specific reason you are using atexit() callbacks rather than doing 
the normal thing of in the Apache module child init handler registering a 
cleanup callback on the memory pool given to the Apache module on child init 
and relying on that being triggered by Apache when shutting things down?

Graham

On 13/05/2014, at 8:23 AM, Alex Wu <[email protected]> wrote:

> some are our own, one is mod_pagespeed. We use python 2.7.3 with apache 2.4.7 
> in MPM mode. The segmentation fault is cleanup routine of each modules other 
> than mod_wsgi after exit call.
> 
> Alex
> 
> 
> On Monday, May 12, 2014 1:50:35 PM UTC-7, Graham Dumpleton wrote:
> On 13/05/2014, at 4:40 AM, Alex Wu <[email protected]> wrote: 
> 
> > We have observed various segmentation fault caused by exit call from 
> > mod_wsgi 3.5: 
> > 
> > #20 0x00007f9490a94d96 in wsgi_start_process (p=<optimized out>, 
> > daemon=<optimized out>) at mod_wsgi.c:11969 
> > 
> > The exit call triggers cleanup from other modules, that cleanup caused 
> > segmentation fault, 
> 
> What version of Apache and Python are you using? 
> 
> What other non standard Apache modules are you using? For example, is PHP 
> being used in the same Apache instance? 
> 
> Graham 
> 
> 
> 
> -- 
> 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/d/optout.

-- 
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/d/optout.

Reply via email to