Invalid parsed value for keys_zone. Is this a problem?
Igor Sysoev
igor at sysoev.ru
Tue Jan 18 17:20:23 MSK 2011
On Tue, Jan 18, 2011 at 08:35:10AM -0500, caruccio wrote:
> Hi,
>
> driven by a wrong undestand of proxy_cache's keys_zone parameter I have
> set it to a very high value:
>
> [code]
> proxy_cache_path /tmp/cache levels=2:2:2 keys_zone=cache:10000m
> max_size=50g inactive=5m;
> [/code]
>
> What happens is that 10G should be 10485760000, not 1895825408:
>
> [code]
> Breakpoint 3, ngx_http_file_cache_set_slot (cf=0xbfffef58,
> cmd=0x80ee980, conf=0x0) at src/http/ngx_http_file_cache.c:1598
> (gdb) p s
> $1 = {len = 6, data = 0x811e2a3 "10000m"}
> 1598 size = ngx_parse_size(&s);
> (gdb) p size
> $2 = 1895825408
> (gdb) n
> 1599 if (size > 8191) {
> (gdb) n
> 1600 continue;
> (gdb) quit
> [/code]
>
>
> Even being an unreasonable value for in-memory cache, shouldn't this
> unexpected result be avoided?
10485760000 is 0x271000000 in hex. On 32-bit platform it's truncated to
0x71000000, i.e., 1895825408. Yes, it should be checked.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list