My apologies for the delayed response, I thought I had my google email 
forwarded to my main email account but... :-(

My intent was that the processes run in daemon mode.  I had missed the info 
about the WSGIRestrictEmbedded directive when I went through the doc, I'll 
ask the admin there to add that.  The full configuration for wsgi is:

  WSGIDaemonProcess jmwsgi processes=2 threads=10 \
      display-name=apache2-jmwsgi locale=en_US.UTF-8 lang=en_US.UTF-8
  WSGIProcessGroup jmwsgi
  WSGIScriptAlias /jmwsgi 
/usr/local/apache2/jmdictdb/wsgifiles/jmdictdb.wsgi \
      process-group=jmwsgi
    # Serve static files directly without using the app.
  Alias /jmwsgi/web/ /usr/local/apache2/jmdictdb/
  <Directory /usr/local/apache2/jmdictdb>
      DirectoryIndex disabled
      Require all granted
      </Directory>

The server has a number of virtual hosts and there were a few mod_wsgi 
"Loading Python" messages in the error log for one of them (for ssl) but 
nothing looking errorish and only a few, nowhere near the number of 
segfault messages:

  [Sat Oct 01 07:50:12.090697 2022] [wsgi:info] [pid 731154:tid 
140442461062912] [remote *.*.*.*:40566] mod_wsgi (pid=731154, 
process='jmwsgi', application='www.edrdg.org|/jmwsgi'): Loading Python 
script file '/usr/local/apache2/jmdictdb/wsgifiles/jmdictdb.wsgi'.

But the wsgi configuration stuff is outside all the virtutal hosts.

When the server starts, there are a couple messages in the main error log 
file like:

  [Sat Oct 01 06:42:26.499086 2022] [wsgi:info] [pid 731041:tid 
140442622753728] mod_wsgi (pid=731041): Starting process 'jmwsgi' with 
uid=33, gid=33 and threads=10.
  [Sat Oct 01 06:42:26.499518 2022] [wsgi:info] [pid 731039:tid 
140442622753728] mod_wsgi (pid=731039): Starting process 'jmwsgi' with 
uid=33, gid=33 and threads=10.

and these are followed/interleaved with the "Initializing Python" and 
"Attach interpreter" messages but after server startup the messages are 
limited to the sets of three I showed: "Initializing Python" and "Attach 
interpreter" followed sometime later by the Segmentation fault.

Does any of that help?
On Sunday, October 16, 2022 at 4:16:09 PM UTC-6 Graham Dumpleton wrote:

> What other mod_wsgi configuration is there besides the WSGIDaemonProcess 
> directive? That alone only creates a mod_wsgi daemon process group, but 
> does not tell mod_wsgi to use it. Thus cannot tell whether you are using 
> embedded mode or daemon mode. The logs are also odd in that would expect to 
> see other messages in there around when processes are created if using 
> daemon mode, plus an indication of whether a message is being generated 
> from an Apache child process or mod_wsgi daemon process.
>
> So can you supply the other parts of the mod_wsgi configuration so can see 
> if properly using daemon mode or not. Also look for logs from mod_wsgi in 
> any per virtual host specific error log file and not just main Apache error 
> log if you separate them. Finally, if you are only intending to use 
> mod_wsgi daemon mode, ensure you add the directive:
>
>     WSGIRestrictEmbedded On
>
> outside of all VirtualHost definitions so that any attempt to 
> intitialise/use Python in main Apache child processes is disabled.
>
> Graham
>
> On 17 Oct 2022, at 8:07 am, stuart mcgraw <[email protected]> wrote:
>
> I am author of a Flask application running under Linux/Apache mod_wsgi 
> that is experiencing intermittent, random segmentation faults.  
>
> What is unusual is that the mod_wsgi process segfaults are occurring not 
> at startup when mod_wsgi is loaded, or at when an incoming request accesses 
> the app, but when the wsgi processes are just sitting there, quiescent.
>
> From a user's point of view, everything looks fine, the mod_wsgi processes 
> and the app respond with the right results with no sign of trouble at the 
> client's browser.  But looking at the Apache logs shows the wsgi processes 
> periodically segfaulting and getting restarted with no correlated incoming 
> requests.  They die sometimes after running for a few minutes, sometimes 
> after a few hours.  There are no incoming requests to the the wsgi app 
> logged near the time of these crashes.
>
> For example:
> [Mon May 30 22:35:43.040387 2022] [wsgi:info] [pid 2575903:tid 
> 139929303559104] mod_wsgi (pid=2575903): Initializing Python.
> [Mon May 30 22:35:43.099053 2022] [wsgi:info] [pid 2575903:tid 
> 139929303559104] mod_wsgi (pid=2575903): Attach interpreter ''.
> [Tue May 31 01:29:06.434000 2022] [core:notice] [pid 2876203:tid 
> 139929303559104] AH00052: child pid 2511562 exit signal Segmentation fault 
> (11)
> [Tue May 31 01:29:07.466268 2022] [wsgi:info] [pid 2605661:tid 
> 139929303559104] mod_wsgi (pid=2605661): Initializing Python.
> [Tue May 31 01:29:07.517413 2022] [wsgi:info] [pid 2605661:tid 
> 139929303559104] mod_wsgi (pid=2605661): Attach interpreter ''.
> [Tue May 31 04:14:59.405491 2022] [core:notice] [pid 2876203:tid 
> 139929303559104] AH00052: child pid 2575903 exit signal Segmentation fault 
> (11)
>
> My wsgi app is still being tested so other than infrequent requests 
> generated by me and a few other people there is very little traffic to it.  
> However the web server itself is handling some continuous moderate volume 
> of traffic to other apps including to C, Python and PHP CGI apps.
>
> What I know about the environment (if any other info would be useful I'll 
> try and dig it up):
>
> $ cat /etc/*release
> PRETTY_NAME="Debian GNU/Linux 11 (bullseye)
>
> Apache, mod_wsgi, python were all built from source by the site's 
> administrator.
>
> There are (at least) two Python's on the system:
>  /usr/bin/python3 -- 3.9.2
>  /usr/local/bin/python3 -- 3.10.1
>
> Apachche/mod_wsgi is was supposedly built against python-3.10.  From 
> the http server header:
>   Apache/2.4.54 (Unix) OpenSSL/1.1.1n mod_wsgi/4.9.4 Python/3.10 PHP/7.4.23
>
> The Apache .conf file uses:
>   WSGIDaemonProcess myapp processes=2 threads=10 \
>     display-name=apache2-myapp locale=en_US.UTF-8 lang=en_US.UTF-8
>
> $ /usr/local/apache2/bin/httpd -V
> Server version: Apache/2.4.54 (Unix)
> Server built:   Oct 13 2022 00:07:38
> Server's Module Magic Number: 20120211:124
> Server loaded:  APR 1.6.5, APR-UTIL 1.6.1, PCRE 10.36 2020-12-04
> Compiled using: APR 1.6.5, APR-UTIL 1.6.1, PCRE 10.36 2020-12-04
> Architecture:   64-bit
> Server MPM:     event
>   threaded:     yes (fixed thread count)
>     forked:     yes (variable process count)
> Server compiled with....
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_SYSVSEM_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D DYNAMIC_MODULE_LIMIT=256
>  -D HTTPD_ROOT="/usr/local/apache2"
>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_ERRORLOG="logs/error_log"
>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>
> $ bin/httpd -M
> Loaded Modules:
>  core_module (static)
>  so_module (static)
>  http_module (static)
>  mpm_event_module (static)
>  authz_core_module (shared)
>  authz_host_module (shared)
>  unixd_module (shared)
>  dir_module (shared)
>  access_compat_module (shared)
>  env_module (shared)
>  alias_module (shared)
>  log_config_module (shared)
>  ssl_module (shared)
>  mime_module (shared)
>  socache_shmcb_module (shared)
>  setenvif_module (shared)
>  cgid_module (shared)
>  userdir_module (shared)
>  headers_module (shared)
>  rewrite_module (shared)
>  autoindex_module (shared)
>  negotiation_module (shared)
>  dav_module (shared)
>  deflate_module (shared)
>  info_module (shared)
>  status_module (shared)
>  wsgi_module (shared)
>  evasive24_module (shared)
>  php7_module (shared)
>
> -- 
> 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 view this discussion on the web visit 
> https://groups.google.com/d/msgid/modwsgi/e06f789f-6023-417e-8b10-1f570adc069cn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/modwsgi/e06f789f-6023-417e-8b10-1f570adc069cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/093152d7-26a6-4d52-8c7b-0d4cb643fa95n%40googlegroups.com.

Reply via email to