nginx crash

Dk Jack dnj0496 at gmail.com
Wed Jul 27 02:21:29 UTC 2022


Hi,
I am noticing a crash in my nginx module. The crash is happening after an
internal redirect. It's not always happening but for certain requests.
Besides the trace log I do not have much info about the request. In my
module, I am restoring the my module context in a similar fashion as the `
ngx_http_realip_get_module_ctx`. What I noticed is `r->pool == 0`. Why
would the r->pool be ever zero'ed?

The crash is happening in my get_module_ctx function which was called
immediately after returning from the ngx_http_internal_redirect call. Any
ideas on how to go about resolving this is greatly appreciated. Thanks.

Regards,
Dk.

static ngx_http_realip_ctx_t *
ngx_http_realip_get_module_ctx(ngx_http_request_t *r)
{
    ngx_pool_cleanup_t     *cln;
    ngx_http_realip_ctx_t  *ctx;

    ctx = ngx_http_get_module_ctx(r, ngx_http_realip_module);
    if (ctx == NULL && (r->internal || r->filter_finalize)) {
        /*
         * if module context was reset, the original address
         * can still be found in the cleanup handler
         */
        for (cln = r->pool->cleanup; cln; cln = cln->next) {
            if (cln->handler == ngx_http_realip_cleanup) {
                ctx = cln->data;
                break;
            }
        }
    }

    return ctx;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20220726/09ed9397/attachment.htm>


More information about the nginx-devel mailing list