Welcome! Log In Create A New Profile

Advanced

Re: A possible bug in ngx_rbtree

Maxim Dounin
October 02, 2012 09:02AM
Hello!

On Fri, Sep 28, 2012 at 11:01:12AM -0400, YongFeng Wu wrote:

> Hi,
>
>
>
> We just found a worker process was stuck in an infinite loop, in function
> ngx_open_file_lookup(). Checking the open file cache RB tree with GDB shows
> the following:
>
>
>
> (gdb) p cache->rbtree.root->right
>
> $3 = (ngx_rbtree_node_t *) 0x80122f900
>
> (gdb) p cache->rbtree.root->right->right
>
> $4 = (ngx_rbtree_node_t *) 0x8040ea400
>
> (gdb) p cache->rbtree.root->right->right->left
>
> $5 = (ngx_rbtree_node_t *) 0x801236980
>
>
>
> (gdb) p cache->rbtree.root->right->right->left->right
>
> $6 = (ngx_rbtree_node_t *) 0x8090ee080
>
> (gdb) p cache->rbtree.root->right->right->left->right->right
>
> $7 = (ngx_rbtree_node_t *) 0x804aab280
>
> (gdb) p cache->rbtree.root->right->right->left->right->right->left
>
> $8 = (ngx_rbtree_node_t *) 0x804aabf00

[...]

> That means the $9 == $9->parent->parent->parent, so the infinite
> loop.
>
> I think there might be a bug in ngx_rbtree.c. I'll really appreciate it if
> somebody can look into it.

I've looked though code again and don't see any obvious problems.

Could you please provide more details? It would be helpful to see
"nginx -V" output, and to make sure there are no 3rd party
modules/patches. It might be also helpful to look at
"cache", "*cache" and "cache->rbtree", in particular at root and
sentinel addresses, as the best guess for now is some memory
corruption. Stack trace might be also helpful.

--
Maxim Dounin
http://nginx.com/support.html

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

A possible bug in ngx_rbtree

YongFeng Wu 1088 September 28, 2012 11:02AM

Re: A possible bug in ngx_rbtree

Maxim Dounin 497 October 02, 2012 09:02AM

RE: A possible bug in ngx_rbtree

YongFeng Wu 485 October 02, 2012 11:10AM

Re: A possible bug in ngx_rbtree

Maxim Dounin 561 October 02, 2012 12:30PM



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

Online Users

Guests: 177
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