Opened 5 years ago

Closed 5 years ago

#1906 closed defect (invalid)

core dumped with debug timer

Reported by: RekGRpth@… Owned by:
Priority: minor Milestone:
Component: nginx-core Version: 1.17.x
Keywords: Cc:
uname -a: Linux nginx 5.3.0-26-generic #28-Ubuntu SMP Wed Dec 18 05:37:46 UTC 2019 x86_64 Linux
nginx -V: nginx version: nginx/1.17.7
built by gcc 9.2.0 (Alpine 9.2.0)
built with OpenSSL 1.1.1d 10 Sep 2019
TLS SNI support enabled
configure arguments: --add-dynamic-module='../array-var-nginx-module --add-dynamic-module=../echo-nginx-module --add-dynamic-module=../encrypted-session-nginx-module --add-dynamic-module=../form-input-nginx-module --add-dynamic-module=../iconv-nginx-module --add-dynamic-module=../nginx-eval-module --add-dynamic-module=../NginxExecute --add-dynamic-module=../set-misc-nginx-module --add-dynamic-module=../nginx-push-stream-module --add-dynamic-module=../nginx-upload-module --add-dynamic-module=../nginx-http-auth-digest --add-dynamic-module=../nginx-uuid4-module --add-dynamic-module=../nginx_csrf_prevent --add-dynamic-module=../ngx_http_captcha_module --add-dynamic-module=../nginx-client-module --add-dynamic-module=../xss-nginx-module --add-dynamic-module=../nginx-access-plus --add-dynamic-module=../ngx_sqlite --add-dynamic-module=../ngx_http_sign_module --add-dynamic-module=../ngx_http_response_body_module --add-dynamic-module=../ngx_http_json_module --add-dynamic-module=../nginx-jwt-module --add-dynamic-module=../ngx_ctpp2 --add-dynamic-module=../ngx_http_auth_basic_ldap_module --add-dynamic-module=../ngx_http_htmldoc_module --add-dynamic-module=../ngx_postgres --add-dynamic-module=../nginx-backtrace-ng --add-dynamic-module=../ngx_http_substitutions_filter_module --add-dynamic-module=../ngx_http_headers_module --add-dynamic-module=../ngx_http_zip_var_module' --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --group=nginx --http-client-body-temp-path=/var/cache/nginx/client_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --lock-path=/var/run/nginx.lock --modules-path=/usr/local/modules --pid-path=/var/run/nginx.pid --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --user=nginx --with-compat --with-debug --with-file-aio --with-http_addition_module --with-http_auth_request_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_realip_module --with-http_secure_link_module --with-http_ssl_module --with-http_sub_module --with-http_v2_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_realip_module --with-stream_ssl_module --with-threads

Description

in /src/event/ngx_event.h

#define ngx_event_ident(p)  ((ngx_connection_t *) (p))->fd

in src/nginx/src/event/ngx_event_timer.h

    ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0,
                   "event timer del: %d: %M",
                    ngx_event_ident(ev->data), ev->timer.key);

and

    ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0,
                   "event timer add: %d: %M:%M",
                    ngx_event_ident(ev->data), timer, ev->timer.key);

error occures, when type of ev->data is not ngx_connection_t

Change History (2)

comment:1 by vl, 5 years ago

Does it happen with vanilla nginx or you have some 3rd party code?

This is expected, as ev->data is always supposed to contain
connection pointer or compatible* structure.

  • For example, see src/core/ngx_resolver.h:

struct ngx_resolver_s {

/* has to be pointer because of "incomplete type" */
ngx_event_t *event;
void *dummy;
ngx_log_t *log;


/* event ident must be after 3 pointers as in ngx_connection_t */
ngx_int_t ident;
...

Version 0, edited 5 years ago by vl (next)

comment:2 by Maxim Dounin, 5 years ago

Resolution: invalid
Status: newclosed

Feedback timeout. Likely a bug in a 3rd party module.

Note: See TracTickets for help on using tickets.