[Pkg-nginx-maintainers] Bug#866750: libnginx-mod-http-cache-purge: Nginx worker segfaults

Christos Trochalakis ctrochalakis at debian.org
Sat Jul 1 13:27:51 UTC 2017


Package: libnginx-mod-http-cache-purge
Version: 1.11.6
Severity: important
Tags: upstream
Control: submitter klopot at 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



More information about the Pkg-nginx-maintainers mailing list