upstream keepalive - call for testing

ビリビリⅤ orz at loli.my
Mon Sep 5 15:42:31 UTC 2011


(gdb) fr 0
#0  ngx_http_upstream_handler (ev=0x7fc45735f8a8)
    at src/http/ngx_http_upstream.c:915
915    ctx->current_request = r;
(gdb) p ngx_cycle->log
$1 = (ngx_log_t *) 0x21f19a8
(gdb) p *r
$2 = {signature = 51686928, connection = 0x23b4160, ctx = 0x0,
  main_conf = 0x0, srv_conf = 0x23e6dc8, loc_conf = 0x2216d58,
  read_event_handler = 0x42d5dd <ngx_http_block_reading>,
  write_event_handler = 0x42d2a6 <ngx_http_request_empty_handler>,
  cache = 0x0, upstream = 0x0, upstream_states = 0x0, pool = 0x23e92d0,
  header_in = 0x2309ea0, headers_in = {headers = {last = 0x22a27f0, part = {
        elts = 0x23e9ae8, nelts = 5, next = 0x0}, size = 48, nalloc = 20,
      pool = 0x23e92d0}, host = 0x23e9b78, connection = 0x0,
    if_modified_since = 0x0, if_unmodified_since = 0x0,
    user_agent = 0x23e9b48, referer = 0x0, content_length = 0x0,
    content_type = 0x0, range = 0x0, if_range = 0x0, transfer_encoding =
0x0,
    expect = 0x0, accept_encoding = 0x0, via = 0x0, authorization = 0x0,
    keep_alive = 0x0, x_forwarded_for = 0x0, user = {len = 0, data = 0x0},
    passwd = {len = 0, data = 0x0}, cookies = {elts = 0x23e9ea8, nelts = 0,
      size = 8, nalloc = 2, pool = 0x23e92d0}, server = {len = 14,
      data = 0x23e9edb "static.loli.myconnectioner-ag\360\324,\002"},
    content_length_n = -1, keep_alive_n = -1, connection_type = 1, msie =
1,
    msie6 = 1, opera = 0, gecko = 0, chrome = 0, safari = 0, konqueror =
0},
  headers_out = {headers = {last = 0x22a2920, part = {elts = 0x23e9320,
        nelts = 4, next = 0x0}, size = 48, nalloc = 20, pool = 0x23e92d0},
    status = 200, status_line = {len = 0, data = 0x0}, server = 0x0,
    date = 0x0, content_length = 0x0, content_encoding = 0x0, location =
0x0,
    refresh = 0x0, last_modified = 0x0, content_range = 0x0,
---Type <return> to continue, or q <return> to quit---
    accept_ranges = 0x23e93b0, www_authenticate = 0x0, expires = 0x23e9320,
    etag = 0x0, override_charset = 0x0, content_type_len = 24, content_type
= {
      len = 24, data = 0x23e5bf0 "application/x-javascript"}, charset = {
      len = 0, data = 0x0},
    content_type_lowcase = 0x23ea1e8 "application/x-javascripts\016>\002",
    content_type_hash = 15285649345721276481, cache_control = {
      elts = 0x23ea188, nelts = 1, size = 8, nalloc = 1, pool = 0x23e92d0},
    content_length_n = 19773, date_time = 0, last_modified_time =
1313998502},
  request_body = 0x0, lingering_time = 1315110106, start_sec = 1315110076,
  start_msec = 683, method = 2, http_version = 1001, request_line = {len =
0,
    data = 0x314ae20 "\360\f>\002"}, uri = {len = 15, data = 0x314ae24 ""},
  args = {len = 0, data = 0x0}, exten = {len = 2, data = 0x314ae31 ""},
  unparsed_uri = {len = 15, data = 0x314ae24 ""}, method_name = {len = 3,
    data = 0x314ae20 "\360\f>\002"}, http_protocol = {len = 8,
    data = 0x314ae34 ""}, out = 0x0, main = 0x22a2780, parent = 0x0,
  postponed = 0x0, post_subrequest = 0x0, posted_requests = 0x0,
  virtual_names = 0x2465c20, phase_handler = 11, content_handler = 0,
  access_code = 0, variables = 0x23e9808, ncaptures = 4, captures =
0x23e9ff0,
  captures_data = 0x314ae24 "", limit_rate = 0, header_size = 339,
  request_length = 183, err_status = 0, http_connection = 0x23b4228,
  log_handler = 0x42da14 <ngx_http_log_error_handler>, cleanup = 0x0,
  subrequests = 51, count = 0, blocked = 0, aio = 0, http_state = 2,
  complex_uri = 0, quoted_uri = 0, plus_in_uri = 0, space_in_uri = 0,
---Type <return> to continue, or q <return> to quit---
  invalid_header = 0, add_uri_to_alias = 0, valid_location = 1,
  valid_unparsed_uri = 1, uri_changed = 0, uri_changes = 11,
  request_body_in_single_buf = 0, request_body_in_file_only = 0,
  request_body_in_persistent_file = 0, request_body_in_clean_file = 0,
  request_body_file_group_access = 0, request_body_file_log_level = 5,
  subrequest_in_memory = 0, waited = 0, cached = 0, gzip_tested = 1,
  gzip_ok = 0, gzip_vary = 1, proxy = 0, bypass_cache = 0, no_cache = 0,
  limit_zone_set = 0, limit_req_set = 0, pipeline = 0, plain_http = 0,
  chunked = 0, header_only = 0, keepalive = 0, lingering_close = 0,
  discard_body = 0, internal = 0, error_page = 0, ignore_content_encoding =
0,
  filter_finalize = 0, post_action = 0, request_complete = 1,
  request_output = 1, header_sent = 1, expect_tested = 0, root_tested = 1,
  done = 1, logged = 0, buffered = 0, main_filter_need_in_memory = 0,
  filter_need_in_memory = 0, filter_need_temporary = 0, allow_ranges = 1,
  stat_reading = 0, stat_writing = 1, state = 0,
  header_hash = 2715320498552542, lowcase_index = 10,
  lowcase_header = "connectionguage", '\000' <repeats 16 times>,
  header_name_start = 0x314aed5 "\r\nible; MSIE 8.0; Windows NT 6.1;
Trident/4.0; GTB7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR
3.0.30729; MALN; InfoPath.1; Media Center PC 6.0; Tablet PC 2.0; .NET4.0C;
.NET4.0E)",
  header_name_end = 0x314aecc "", header_start = 0x314aece "close",
  header_end = 0x314aed5 "\r\nible; MSIE 8.0; Windows NT 6.1; Trident/4.0;
GTB7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;
MALN; Info---Type <return> to continue, or q <return> to quit---
Path.1; Media Center PC 6.0; Tablet PC 2.0; .NET4.0C; .NET4.0E)",
  uri_start = 0x314ae24 "", uri_end = 0x314ae33 "", uri_ext = 0x314ae31 "",
  args_start = 0x0, request_start = 0x314ae20 "\360\f>\002",
  request_end = 0x314ae3c "", method_end = 0x314ae22 ">\002",
  schema_start = 0x0, schema_end = 0x0, host_start = 0x0, host_end = 0x0,
  port_start = 0x0, port_end = 0x0, http_minor = 1264, http_major = 0}
(gdb) p *r->connection
$3 = {data = 0x30, read = 0x111, write = 0x22a2770, fd = 36740720,
  recv = 0x2309e80, send = 0, recv_chain = 0xb0, send_chain = 0x23b4170,
  listening = 0x0, sent = 36740848, log = 0x0, pool = 0x23b41d0,
  sockaddr = 0xf088e714b9a0002, socklen = 0, addr_text = {len = 4,
    data = 0x21f1c18 "S"}, ssl = 0x3cc35a0, local_sockaddr = 0x42d957,
  buffer = 0x23b4210, queue = {prev = 0x465bfc, next = 0x2e3234312e333131},
  number = 3256446919138946616, requests = 140481256921360, buffered = 0,
  log_error = 0, single_connection = 0, unexpected_eof = 0, timedout = 0,
  error = 0, destroyed = 0, idle = 0, reusable = 0, close = 0, sendfile =
0,
  sndlowat = 0, tcp_nodelay = 0, tcp_nopush = 0}

2011/9/5 Maxim Dounin <mdounin at mdounin.ru>

> Hello!
>
> On Mon, Sep 05, 2011 at 02:31:54AM +0800, MagicBear wrote:
>
> > (gdb) fr 0
> > #0  ngx_http_upstream_handler (ev=0x7fc45735f8a8)
> >     at src/http/ngx_http_upstream.c:915
> > 915    ctx->current_request = r;
> > (gdb) p *ev
> > $1 = {data = 0x7fc4576aa750, write = 1, accept = 0, instance = 1, active
> =
> > 1,
> >   disabled = 0, ready = 1, oneshot = 0, complete = 0, eof = 0, error = 0,
> >   timedout = 1, timer_set = 0, delayed = 0, read_discarded = 0,
> >   unexpected_eof = 0, deferred_accept = 0, pending_eof = 0, posted_ready
> =
> > 0,
> >   available = 0, handler = 0x43bf9c <ngx_http_upstream_handler>,
> >   index = 3503345872, log = 0x21f1770, timer = {key = 0, left = 0x0,
> >     right = 0x0, parent = 0x0, color = 0 '\000', data = 0 '\000'},
> >   closed = 0, channel = 0, resolver = 0, next = 0x0, prev = 0x0}
> > (gdb) p *((ngx_connection_t *) ev->data)
> > $2 = {data = 0x22a2780, read = 0x7fc4575008a8, write = 0x7fc45735f8a8,
> >   fd = 66, recv = 0x41cc50 <ngx_unix_recv>, send = 0x41cf08
> > <ngx_unix_send>,
> >   recv_chain = 0x41cd00 <ngx_readv_chain>,
> >   send_chain = 0x421050 <ngx_linux_sendfile_chain>, listening = 0x0,
> >   sent = 0, log = 0x21f1770, pool = 0x237ff70, sockaddr = 0x0, socklen =
> 0,
> >   addr_text = {len = 0, data = 0x0}, ssl = 0x0, local_sockaddr = 0x0,
> >   buffer = 0x0, queue = {prev = 0x0, next = 0x0}, number = 63713716,
> >   requests = 0, buffered = 0, log_error = 1, single_connection = 0,
> >   unexpected_eof = 0, timedout = 0, error = 0, destroyed = 0, idle = 0,
> >   reusable = 0, close = 0, sendfile = 1, sndlowat = 0, tcp_nodelay = 0,
> >   tcp_nopush = 0}
>
> Could you please also show the following (in the same frame, i.e.
> after "fr 0"):
>
> p ngx_cycle->log
> p *r
> p *r->connection
>
> Maxim Dounin
>
> >
> >
> > 2011/9/5 Maxim Dounin <mdounin at mdounin.ru>
> >
> > > Hello!
> > >
> > > On Sun, Sep 04, 2011 at 01:33:59PM -0400, magicbear wrote:
> > >
> > > > Hello , when run for 5 days, today have 2 segment failure.
> > > >
> > > > 2011/09/04 12:00:47 [alert] 32147#0: worker process 8496 exited on
> > > > signal 11 (core dumped)
> > > > 2011/09/04 12:17:32 [alert] 8497#0: ignore long locked inactive cache
> > > > entry 57c7c6c612a651727b880a1c9a2c7d2d, count:1
> > > > 2011/09/04 12:21:31 [alert] 32147#0: worker process 19185 exited on
> > > > signal 11 (core dumped)
> > > >
> > > >
> > > >
> > > >
> > > > Core was generated by `nginx:'.
> > > > Program terminated with signal 11, Segmentation fault.
> > > > #0  ngx_http_upstream_handler (ev=0x7fc45735f8a8) at
> > > > src/http/ngx_http_upstream.c:915
> > > > 915       ctx->current_request = r;
> > > > (gdb) bt
> > > > #0  ngx_http_upstream_handler (ev=0x7fc45735f8a8) at
> > > > src/http/ngx_http_upstream.c:915
> > > > #1  0x0000000000419e95 in ngx_event_expire_timers () at
> > > > src/event/ngx_event_timer.c:149
> > > > #2  0x0000000000419ac7 in ngx_process_events_and_timers
> > > > (cycle=0x21f1990) at src/event/ngx_event.c:261
> > >
> > > Hm, this looks identical to one you've reported previously.  Do
> > > you have patch from
> > >
> > > http://mailman.nginx.org/pipermail/nginx/2011-August/028809.html
> > >
> > > applied?
> > >
> > > > #3  0x000000000041f76e in ngx_worker_process_cycle (cycle=0x21f1990,
> > > > data=<value optimized out>) at src/os/unix/ngx_process_cycle.c:800
> > > > #4  0x000000000041e16b in ngx_spawn_process (cycle=0x21f1990,
> > > > proc=0x41f69d <ngx_worker_process_cycle>, data=0x0, name=0x463f3d
> > > > "worker process", respawn=7) at src/os/unix/ngx_process.c:196
> > > > #5  0x000000000042008d in ngx_reap_children (cycle=0x21f1990) at
> > > > src/os/unix/ngx_process_cycle.c:617
> > > > #6  ngx_master_process_cycle (cycle=0x21f1990) at
> > > > src/os/unix/ngx_process_cycle.c:180
> > > > #7  0x0000000000406061 in main (argc=<value optimized out>,
> argv=<value
> > > > optimized out>) at src/core/nginx.c:405
> > > >
> > > >
> > > > (gdb) bt full
> > > > #0  ngx_http_upstream_handler (ev=0x7fc45735f8a8) at
> > > > src/http/ngx_http_upstream.c:915
> > > >         c = 0x23b4160
> > > >         r = 0x22a2780
> > > >         ctx = <error reading variable ctx (Cannot access memory at
> > > > address 0x20)>
> > > >         u = 0x0
> > >
> > > Could you please show results of the following gdb commands:
> > >
> > > fr 0
> > > p *ev
> > > p *((ngx_connection_t *) ev->data)
> > >
> > >
> > > Maxim Dounin
> > >
> > > _______________________________________________
> > > nginx mailing list
> > > nginx at nginx.org
> > > http://mailman.nginx.org/mailman/listinfo/nginx
> > >
>
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20110905/4122706c/attachment-0001.html>


More information about the nginx mailing list