pcre_exec() failed: -10

Krishna PMV krishna.pmv at gmail.com
Tue Jan 26 16:33:16 UTC 2016


I've a rule below in nginx config to 404 if the argument of search query is
a non printable ascii character. Nginx is compiled with pcre and pcre
seem** (refer 4.d below) to have utf8 support and unicode support enabled
but nginx fails with "pcre_exec() failed: -10" error when it encounters the

Any pointers, please? Please refer below for more details.



*1. from nginx config*

if ($args ~ "(*UTF8)^.*[^\x21-\x7E].*$") {

         return 404;



*2. from access log:* [26/Jan/2016:20:29:10

*3. from error log:*

2016/01/26 20:29:10 [alert] 27700#0: *43933484 on
"userQuery=Taurm+Taurme+Corporate+Casual+Slip+On+Shoe+()" using
"(*UTF8)^.*[^\x00-\x7F].*$", client:, server:
search.paytm.com, request: "GET
/search?userQuery=Taurm+Taurme+Corporate+Casual+Slip+On+Shoe+() HTTP/1.1",
host: "search.paytm.com"

*4. nginx and pcre *

a) nginx -V

nginx version: openresty/

b) ldd /usr/sbin/nginx|grep pcre

        lib*pcre*.so.3 => /lib/x86_64-linux-gnu/lib*pcre*.so.3
c) dpkg -l|grep pcre

ii  lib*pcre*3:amd64                   1:8.31-2ubuntu2.1             amd64
      Perl 5 Compatible Regular Expression Library - runtime files

**d) Since ubuntu no longer ships with pcretest, there was no easy way to
see if utf8 support is enabled but from ubuntu package build logs for our
version, I can see that is how it is built. Also, can confirm the same from
config.log when building the debian package locally on my machine:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20160126/5d06c7e1/attachment.html>

More information about the nginx mailing list