lanshun zhou
July 11, 2011 09:02AM
1) Large cache key cause core dump as reported here:
http://forum.nginx.org/read.php?2,182995,209970#msg-209970
When the length of cache key is bigger than buffer_size, receiving of
backend response will cause memory overflow and core dump

2) When servers in backup state are more than in not-backup state, the
buffer rrp->tried points to may be not enough for backup group.
When all normal servers are fail, rrp->tried is reset to 0, according to the
number of servers in backup group.
See ngx_http_upstream_init_round_robin_peer, line 531 and line 552,

3) In ngx_http_upstream_get_peer, when all servers are marked as “down”,
while we have backups alive, this function will never return,
because weight is set to zero for down servers, and current_weight has no
chance to be bigger than 0.
Although all servers marked as down is not a good idea, infinite loop should
not happen 


Thanks!
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[BUG] Memory overflow and infinite loop

lanshun zhou 2726 July 11, 2011 09:02AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 245
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready