FRiCKLE/ngx_cache_purge

fastcgi_cache_purge line in config causes segmentation fault since 1.7.8 in nginx-extras

talkingnews opened this issue · 5 comments

for many months I've been running the config shown here: https://rtcamp.com/wordpress-nginx/tutorials/single-site/fastcgi-cache-with-purging/

This morning, I apt-get upgraded and got nginx 1.7.8 and a load of dead sites. running nginx -t gave me a segmentation fault (core dumped) error.

After a whole load of panicking and commenting one line out at a time, I finally tracked it down to this section:

location ~ /purge(/.*) {
fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
}

If I comment that out, I can start up wordpress and nginx -t doesn't core dump.

I posted on the nginx forum at http://forum.nginx.org/read.php?2,255522, and they are suggesting it's definitely a third party module causing it, and linked here.

However, As far as I can see, the nginx-extras package was built 15 hours ago.
Also, from this repo:

2014-12-02    VERSION 2.2
    * Fix compatibility with nginx-1.7.8+.

From nginx -V

 --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-cache-purge

I can't see anything obvious in the release notes that would cause this, server details are below:

Linux 3.16.0-28-generic #37-Ubuntu SMP Mon Dec 8 17:22:00 UTC 2014 i686 i686 i686 GNU/Linux


nginx version: nginx/1.7.8
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_mp4_module --with-http_perl_module --with-http_random_index_module --with-http_secure_link_module --with-http_spdy_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --add-module=/build/buildd/nginx-1.7.8/debian/modules/headers-more-nginx-module --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-auth-pam --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-cache-purge --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-dav-ext-module --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-development-kit --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-echo --add-module=/build/buildd/nginx-1.7.8/debian/modules/ngx-fancyindex --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-http-push --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-lua --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-upload-progress --add-module=/build/buildd/nginx-1.7.8/debian/modules/nginx-upstream-fair --add-module=/build/buildd/nginx-1.7.8/debian/modules/ngx_http_substitutions_filter_module

I just downloaded nginx_1.7.8-1+utopic1.debian.tar.gz sources from PPA and it looks that unfortunately it doesn't use the latest version of the module.

Please contact PPA package maintainer (teward) and ask him to update it.

Thanks @PiotrSikora - done!

@talkingnews @PiotrSikora Thanks for the heads up, however, it helps to use the actual Nginx bugtracker on Launchpad rather than emailing me directly, because I get literally a hundred emails a day and I get inundated by emails and things get lost.

Filed as https://bugs.launchpad.net/nginx/+bug/1403054 on Launchpad against the PPA.

Note: This github bug can now be closed, as it is not an issue with the module itself. A fix has been committed to the staging PPA with an updated version of the module.

OK, closing this - looks like the fix has already been applied - thanks for the rapid response, @teward.
Not sure how long it takes to filter through the whole repo apt-get update process though...