This config doesn't rise segfault, nor does it work.
When you  try to fetch /test url it gives 500 error with the following in 
logs:
[Fri Sep 30 07:18:19.019193 2016] [wsgi:error] [pid 19] [client 192.168.
168.161:53243] No WSGI daemon process called 'example.com' has been 
configured: /wsgi/wsgi-test.wsgi


пятница, 30 сентября 2016 г., 3:27:13 UTC+3 пользователь Graham Dumpleton 
написал:
>
> The very minimal Apache configuration they supply is somehow resulting in 
> Apache not being initialised properly in some way that mod_wsgi expects. Or 
> more likely the changes I made have simply changed the memory layout enough 
> that it works.
>
> If I use:
>
> Listen 8080
> LogLevel warn
> WSGIDaemonProcess example.com processes=2 threads=2
> <VirtualHost *:8080>
>   ServerName localhost
>   WSGIScriptAlias /test /wsgi/wsgi-test.wsgi
>  WSGIProcessGroup example.com
>   <Directory /wsgi>
>   Require all granted
>   </Directory>
> </VirtualHost>
>
> then it works fine.
>
> The two changes were, set LogLevel directive to have a value rather than 
> rely on compiled in default.
>
> Move the WSGIDaemonProcess directive outside of the VirtualHost.
>
> As long as do both, it isn’t crashing.
>
> I have suspected that there is a memory usage issue in mod_wsgi for a very 
> long time and have never been able to find it.
>
> I have seen two different issues and both only occur with Apache from 
> MacOS X on Yosemite.
>
> The first is that if use -DFOREGROUND and -DONE_PROCESS it would crash on 
> startup.
>
> The second is that sometimes on shutdown with mod_wsgi-express, the Python 
> interpreter will crash as it being destroyed within the process.
>
> Whenever I have attempted to stick a debugger on it to try and track down, 
> the issue never occurs.
>
> BTW, with the mod_wsgi-express way of triggering it, can you instead run:
>
>     mod_wsgi-express start-server /wsgi/wsgi-test.wsgi —user 
> apache —group apache —enable-gdb
>
> This will launch httpd under gdb from the outset, in the -DFOREGROUND and 
> -DONE_PROCESS mode. I want to see if in doing that it still crashes.
>
> Graham
>
> On 30 Sep 2016, at 1:57 AM, Konstantin Suvorov <[email protected] 
> <javascript:>> wrote:
>
> I've tried mod_wsgi-express on a clean python:2.7-apline image.
> Just made:
>
> apk --no-cache add build-base bash
> pip install mod_wsgi-httpd
> pip install mod_wsgi
> addgroup -S apache
> adduser -S -G apache apache
> mod_wsgi-express start-server /wsgi/wsgi-test.wsgi --user apache --group 
> apache
>
> Gives segfault with hello world application.
>
> Some GDB stuff:
> (gdb) r
> Starting program: /bin/bash -c mod_wsgi-express\ start-server\ 
> /wsgi/wsgi-test.wsgi\ --user\ apache\ --group\ apache
> process 1667 is executing new program: /usr/local/bin/python2.7
> Server URL         : http://localhost:8000/
> Server Root        : /tmp/mod_wsgi-localhost:8000:0
> Server Conf        : /tmp/mod_wsgi-localhost:8000:0/httpd.conf
> Error Log File     : /tmp/mod_wsgi-localhost:8000:0/error_log (warn)
> Request Capacity   : 5 (1 process * 5 threads)
> Request Timeout    : 60 (seconds)
> Startup Timeout    : 15 (seconds)
> Queue Backlog      : 100 (connections)
> Queue Timeout      : 45 (seconds)
> Server Capacity    : 20 (event/worker), 20 (prefork)
> Server Backlog     : 500 (connections)
> Locale Setting     : en_US.UTF-8
> process 1667 is executing new program: /bin/busybox
> process 1667 is executing new program: /bin/bash
> process 1667 is executing new program: 
> /usr/local/lib/python2.7/site-packages/mod_wsgi_packages/httpd/bin/httpd
>
> Program received signal SIGSEGV, Segmentation fault.
> wsgi_add_daemon_process (cmd=0x7fffffffe800, mconfig=<optimized out>, 
> args=0x55555583eefd "") at src/server/mod_wsgi.c:7569
> 7569 src/server/mod_wsgi.c: No such file or directory.
> (gdb) bt
> #0  wsgi_add_daemon_process (cmd=0x7fffffffe800, mconfig=<optimized out>, 
> args=0x55555583eefd "") at src/server/mod_wsgi.c:7569
> #1  0x00005555555a2776 in invoke_cmd (cmd=0x7ffff567d8d0 
> <wsgi_commands+80>, parms=parms@entry=0x7fffffffe800, 
> mconfig=0x555555839e38,
>     args=0x55555583ecc8 "localhost:8000   
>  display-name='(wsgi:localhost:8000:0)'    home='/'    threads=5   
>  maximum-requests=0    python-path=''   
>  python-eggs='/tmp/mod_wsgi-localhost:8000:0/python-eggs'   
>  lang='en_US.UTF"...) at config.c:879
> #2  0x00005555555a4f1d in ap_walk_config_sub 
> (section_vector=0x55555581e508, parms=0x7fffffffe800, 
> current=0x55555583aa88) at config.c:1309
> #3  ap_walk_config (current=0x55555583aa88, 
> parms=parms@entry=0x7fffffffe800, section_vector=0x55555581e508) at 
> config.c:1342
> #4  0x00005555555a622d in ap_process_config_tree (s=<optimized out>, 
> conftree=<optimized out>, p=0x5555557ec0a8, ptemp=<optimized out>)
>     at config.c:2059
> #5  0x0000555555582d5d in main (argc=10, argv=0x7fffffffe9b8) at main.c:739
>
> This leads me to this 
> <https://github.com/GrahamDumpleton/mod_wsgi/blob/develop/src/server/mod_wsgi.c#L7569>
> :
>         if (!strcmp(entry->name, name))
>             return "Name duplicates previous WSGI daemon definition.";
>
> gdb output from packaged apache and mod_wsgi suggest the same place:
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff7dc1abd in strcmp () from /lib/ld-musl-x86_64.so.1
>
> Any ideas?
>
> -- 
> 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 https://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 https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to