Package: libnginx-mod-http-cache-purge Version: 1.11.6 Severity: important Tags: upstream Control: submitter klo...@uber.com
On Fri, Jun 30, 2017 at 10:36:16AM -0600, Mike Klopot wrote:
Hi, It appears that somewhere between nginx versions 1.10.3 and 1.11.9 the module provided by the libnginx-mod-http-cache-purge package has stopped working completely. The worker process gets killed with signal 11. I can reliably reproduce this behavior: syslog: kernel: [28583513.474105] traps: nginx[27377] general protection ip:7fdf652f3b67 sp:7ffcc89b1d58 error:0 in nginx[7fdf65281000+f6000] ___________________________ error.log debug info: [alert] 7056#7056: worker process 27377 exited on signal 11 ___________________________ Command: curl -X PURGE -D - -o /dev/null http://127.0.0.1/ ___________________________ Config: proxy_cache_path /var/www/cache levels=1:2 keys_zone=mapserver_cache:8000m max_size=400g; server { listen 80 default_server; server_name $hostname; location / { proxy_cache mapserver_cache; proxy_pass http://spaz.org; proxy_cache_valid any 1d; proxy_cache_key $uri; proxy_cache_purge PURGE from all; } } upstream spaz.org { server spaz.org; } Is this a known issue, and what is the status?
I was able to reproduce the issue by hand, and by running the module's nginx tests[0] using Debian's nginx packages. This is fixed in an upstream pull request[1], and tests are passing as expected. Unfortunately the upstream repo seams abandoned and nobody has merged it yet. The module copies verbatim the ngx_http_proxy_loc_conf_t struct, but the `method` member has changed in Nginx since 1.11.6. Thanks a lot for your report, we will upload a fix in a few days. [0] https://github.com/FRiCKLE/ngx_cache_purge/tree/master/t [1] https://github.com/FRiCKLE/ngx_cache_purge/pull/51