apache / trafficserver

Apache Traffic Server™ is a fast, scalable and extensible HTTP/1.1 and HTTP/2 compliant caching proxy server.
https://trafficserver.apache.org/
Apache License 2.0
1.8k stars 796 forks source link

inactivity timeout on a freed HttpSM #4362

Closed zizhong closed 5 years ago

zizhong commented 5 years ago

Got backtrace and ASAN report as follows. HttpSM is freed and there is still an inactivity timeout invoked on it. Seems some logic path of releasing Http2Stream doesn't clear the timeout events.

Breakpoint 1, __asan_report_error (pc=12869802, bp=140737035957696, sp=140737035957688, addr=106034159124760, is_write=false, access_size=8) at ../../.././libsanitizer/asan/asan_report.cc:628
628 ../../.././libsanitizer/asan/asan_report.cc: No such file or directory.
(gdb) bt
#0  __asan_report_error (pc=12869802, bp=140737035957696, sp=140737035957688, addr=106034159124760, is_write=false, access_size=8) at ../../.././libsanitizer/asan/asan_report.cc:628
#1  0x00007ffff4e60864 in __asan::__asan_report_load8 (addr=<optimized out>) at ../../.././libsanitizer/asan/asan_rtl.cc:229
#2  0x0000000000c460aa in operator== (p=..., this=0x603c002e45d8) at ../../lib/ts/Ptr.h:328
#3  read_signal_and_update (vc=0x603c002e4480, event=105) at UnixNetVConnection.cc:147
#4  UnixNetVConnection::mainEvent (this=0x603c002e4480, event=<optimized out>, e=<optimized out>) at UnixNetVConnection.cc:1203
#5  0x0000000000c26620 in handleEvent (data=0x601200006830, event=1, this=0x603c002e4480) at ../../iocore/eventsystem/I_Continuation.h:153
#6  InactivityCop::check_inactivity (this=<optimized out>, event=<optimized out>, e=<optimized out>) at UnixNet.cc:102
#7  0x0000000000cc126e in handleEvent (data=0x601200006830, event=2, this=<optimized out>) at I_Continuation.h:153
#8  EThread::process_event (this=0x7fffed39a800, e=0x601200006830, calling_code=<optimized out>) at UnixEThread.cc:148
#9  0x0000000000cc37b6 in EThread::execute (this=0x7fffed39a800) at UnixEThread.cc:230
#10 0x0000000000cbfc89 in spawn_thread_internal (a=0x60080000f210) at Thread.cc:86
#11 0x00007ffff4e66c28 in __asan::AsanThread::ThreadStart (this=0x7fffe5092000) at ../../.././libsanitizer/asan/asan_thread.cc:99
#12 0x00007ffff308fdc5 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff203076d in clone () from /lib64/libc.so.6
(gdb) f 3
#3  read_signal_and_update (vc=0x603c002e4480, event=105) at UnixNetVConnection.cc:147
147 UnixNetVConnection.cc: No such file or directory.
(gdb) p vc->read.vio._con
There is no member or method named _con.
(gdb) p vc->read.vio
$1 = {_cont = 0x607000638100, nbytes = 0, ndone = 0, op = 1, buffer = {mbuf = 0x602400dfe980, entry = 0x0}, vc_server = 0x603c002e4480, mutex = {m_ptr = 0x6010080c0920}}
(gdb) p vc->read.vio._cont
$2 = (Continuation *) 0x607000638100
(gdb) p *vc->read.vio._cont
$3 = {<force_VFPT_to_top> = {_vptr.force_VFPT_to_top = 0xd42e90 <vtable for HttpSM+16>}, handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x738000e0, mutex = {m_ptr = 0x0}, link = {<SLink<Continuation>> = {next = 0x0}, prev = 0x0}, control_flags = {raw_flags = 0}}
(gdb) set print pretty on
(gdb) p *vc->read.vio._cont
$4 = {
  <force_VFPT_to_top> = {
    _vptr.force_VFPT_to_top = 0xd42e90 <vtable for HttpSM+16>
  },
  members of Continuation:
  handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x738000e0,
  mutex = {
    m_ptr = 0x0
  },
  link = {
    <SLink<Continuation>> = {
      next = 0x0
    },
    members of Link<Continuation>:
    prev = 0x0
  },
  control_flags = {
    raw_flags = 0
  }
}
(gdb) p (HttpSM*)(vc->read.vio._cont)
$5 = (HttpSM *) 0x607000638100
(gdb) p *(HttpSM*)(vc->read.vio._cont)
$6 = {
  <Continuation> = {
    <force_VFPT_to_top> = {
      _vptr.force_VFPT_to_top = 0xd42e90 <vtable for HttpSM+16>
    },
    members of Continuation:
    handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x738000e0,
    mutex = {
      m_ptr = 0x0
    },
    link = {
      <SLink<Continuation>> = {
        next = 0x0
      },
      members of Link<Continuation>:
      prev = 0x0
    },
    control_flags = {
      raw_flags = 0
    }
  },
  members of HttpSM:
  sm_id = 3387119,
  magic = 3735944941,
  enable_redirection = false,
  redirect_url = 0x0,
  redirect_url_len = 0,
  redirection_tries = 0,
  transfered_bytes = 0,
  post_failed = false,
  debug_on = false,
  post_fully_received = false,
  plugin_tunnel_type = HTTP_NO_PLUGIN_TUNNEL,
  plugin_tunnel = 0x0,
  t_state = {
    m_magic = HttpTransact::HTTP_TRANSACT_MAGIC_DEAD,
    state_machine = 0x607000638100,
    arena = {
      m_blocks = 0x0
    },
    http_config_param = 0x60420001f400,
    cache_info = {
      action = HttpTransact::CACHE_DO_NO_ACTION,
      transform_action = HttpTransact::CACHE_DO_UNDEFINED,
      write_status = HttpTransact::NO_CACHE_WRITE,
      transform_write_status = HttpTransact::NO_CACHE_WRITE,
      lookup_url = 0x0,
      lookup_url_storage = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      original_url = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      object_read = 0x0,
      second_object_read = 0x0,
      object_store = {
        m_alt = 0x0
      },
      transform_store = {
        m_alt = 0x0
      },
      config = {
        cache_global_user_agent_header = false,
        cache_enable_default_vary_headers = false,
        ignore_accept_mismatch = 2,
        ignore_accept_language_mismatch = 2,
        ignore_accept_encoding_mismatch = 2,
        ignore_accept_charset_mismatch = 2,
        cache_vary_default_text = 0x0,
        cache_vary_default_images = 0x0,
        cache_vary_default_other = 0x0
      },
      directives = {
        does_client_permit_lookup = true,
        does_client_permit_storing = true,
        does_client_permit_dns_storing = true,
        does_config_permit_lookup = true,
        does_config_permit_storing = true,
        does_server_permit_lookup = true,
        does_server_permit_storing = false
      },
      open_read_retries = 0,
      open_write_retries = 0,
      write_lock_state = HttpTransact::CACHE_WL_INIT,
      lookup_count = 0,
      hit_miss_code = SQUID_MISS_NONE
    },
    dns_info = {
      attempts = 0,
      os_addr_style = HttpTransact::_DNSLookupInfo::OS_ADDR_TRY_DEFAULT,
      lookup_success = true,
      lookup_name = 0x6042010ecf99 "xx",
      srv_hostname = '\000' <repeats 1024 times>,
      looking_up = HttpTransact::ORIGIN_SERVER,
      srv_lookup_success = false,
      srv_port = 0,
      srv_app = {
        allotment = {
          application1 = 0,
          application2 = 0
        },
        http_data = {
          http_version = 0,
          pipeline_max = 0,
          keepalive_timeout = 0,
          fail_count = 0,
          unused1 = 0,
          last_failure = 0
        },
        rr = {
          offset = 0
        }
      },
      lookup_validated = true
    },
    force_dns = true,
    redirect_info = {
      redirect_in_process = false,
      original_url = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      redirect_url = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      }
    },
    updated_server_version = 0,
    cache_open_write_fail_action = 0,
    is_revalidation_necessary = false,
    request_will_not_selfloop = true,
    client_info = {
      http_version = {
        m_version = 65537
      },
      keep_alive = HTTP_KEEPALIVE,
      receive_chunked_response = false,
      pipeline_possible = true,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x0,
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 10,
          sa_data = "\224\222\000\000\000\000&\000\020\024\260aY+"
        },
        sin = {
          sin_family = 10,
          sin_port = 37524,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "&\000\020\024\260aY+"
        },
        sin6 = {
          sin6_family = 10,
          sin6_port = 37524,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = "&\000\020\024\260aY+A\362\202\370\313\266\217/",
              __u6_addr16 = {38, 5136, 25008, 11097, 62017, 63618, 46795, 12175},
              __u6_addr32 = {336592934, 727278000, 4169331265, 797947595}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 10,
          sa_data = "\273\001\000\000\000\000& \001\t\300\004\001\005"
        },
        sin = {
          sin_family = 10,
          sin_port = 443,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "& \001\t\300\004\001\005"
        },
        sin6 = {
          sin6_family = 10,
          sin6_port = 443,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = "& \001\t\300\004\001\005\000\000\000\000l\256\v\001",
              __u6_addr16 = {8230, 2305, 1216, 1281, 0, 0, 44652, 267},
              __u6_addr32 = {151068710, 83952832, 0, 17542764}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::STATE_UNDEFINED,
      abort = HttpTransact::DIDNOT_ABORT,
      port_attribute = HttpProxyPort::TRANSPORT_SSL,
      is_transparent = false
    },
    icp_info = {
      http_version = {
        m_version = 65536
      },
      keep_alive = HTTP_KEEPALIVE_UNDEFINED,
      receive_chunked_response = false,
      pipeline_possible = false,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x0,
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::STATE_UNDEFINED,
      abort = HttpTransact::ABORT_UNDEFINED,
      port_attribute = HttpProxyPort::TRANSPORT_DEFAULT,
      is_transparent = false
    },
    parent_info = {
      http_version = {
        m_version = 65536
      },
      keep_alive = HTTP_KEEPALIVE_UNDEFINED,
      receive_chunked_response = false,
      pipeline_possible = false,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x0,
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::STATE_UNDEFINED,
      abort = HttpTransact::ABORT_UNDEFINED,
      port_attribute = HttpProxyPort::TRANSPORT_DEFAULT,
      is_transparent = false
    },
    server_info = {
      http_version = {
        m_version = 65537
      },
      keep_alive = HTTP_KEEPALIVE,
      receive_chunked_response = false,
      pipeline_possible = false,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x6042010ecf99 "xx",
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 2,
          sa_data = "/\212\n\225`\"\000\000\000\000\000\000\000"
        },
        sin = {
          sin_family = 2,
          sin_port = 35375,
          sin_addr = {
            s_addr = 576754954
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 2,
          sin6_port = 35375,
          sin6_flowinfo = 576754954,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::TRANSACTION_COMPLETE,
      abort = HttpTransact::DIDNOT_ABORT,
      port_attribute = HttpProxyPort::TRANSPORT_DEFAULT,
      is_transparent = false
    },
    source = HttpTransact::SOURCE_HTTP_ORIGIN_SERVER,
    pre_transform_source = HttpTransact::SOURCE_NONE,
    req_flavor = HttpTransact::REQ_FLAVOR_REVPROXY,
    current = {
      mode = HttpTransact::TUNNELLING_PROXY,
      request_to = HttpTransact::ORIGIN_SERVER,
      server = 0x6070006387e0,
      now = 1538963192,
      state = HttpTransact::CONNECTION_ALIVE,
      attempts = 1,
      simple_retry_attempts = 0,
      unavailable_server_retry_attempts = 0,
      retry_type = PARENT_RETRY_NONE
    },
    hdr_info = {
      client_request = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x6052164d0738
        },
        members of HTTPHdr:
        m_http = 0x6052164d0708,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x6052164d0680
          },
          members of URL:
          m_url_impl = 0x6052164d0988
        },
        m_host_mime = 0x0,
        m_host_length = 41,
        m_port = 12170,
        m_target_cached = true,
        m_target_in_url = true,
        m_port_in_header = true,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      client_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x605218bb5d38
        },
        members of HTTPHdr:
        m_http = 0x605218bb5d08,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      server_request = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x605211999838
        },
        members of HTTPHdr:
        m_http = 0x605211999808,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x605211999780
          },
          members of URL:
          m_url_impl = 0x605211999a88
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      server_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x605217d9a938
        },
        members of HTTPHdr:
        m_http = 0x605217d9a908,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      transform_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x0
        },
        members of HTTPHdr:
        m_http = 0x0,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      cache_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x0
        },
        members of HTTPHdr:
        m_http = 0x0,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      request_content_length = 0,
      response_content_length = 58,
      transform_request_cl = -1,
      transform_response_cl = -1,
      client_req_is_server_style = false,
      trust_response_cl = true,
      response_error = HttpTransact::NO_RESPONSE_HEADER_ERROR,
      extension_method = false
    },
    squid_codes = {
      log_code = SQUID_LOG_TCP_MISS,
      hier_code = SQUID_HIER_DIRECT,
      hit_miss_code = SQUID_MISS_NONE
    },
    api_info = {
      parent_proxy_name = 0x0,
      parent_proxy_port = -1,
      cache_untransformed = false,
      cache_transformed = true,
      logging_enabled = true,
      retry_intercept_failures = false
    },
    pending_work = 0x0,
    cdn_saved_next_action = HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN,
    cdn_saved_transact_return_point = 0x0,
    cdn_remap_complete = false,
    first_dns_lookup = true,
    backdoor_request = false,
    cop_test_page = false,
    request_data = {
      <RequestData> = {
        _vptr.RequestData = 0xcd14b0 <vtable for HttpRequestData+16>
      },
      members of HttpRequestData:
      hdr = 0x607000638888,
      hostname_str = 0x6042010ecfc4 "xx",
      api_info = 0x607000638a48,
      xact_start = 1538963191,
      src_ip = {
        sa = {
          sa_family = 10,
          sa_data = "\224\222\000\000\000\000&\000\020\024\260aY+"
        },
        sin = {
          sin_family = 10,
          sin_port = 37524,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "&\000\020\024\260aY+"
        },
        sin6 = {
          sin6_family = 10,
          sin6_port = 37524,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = "&\000\020\024\260aY+A\362\202\370\313\266\217/",
              __u6_addr16 = {38, 5136, 25008, 11097, 62017, 63618, 46795, 12175},
              __u6_addr32 = {336592934, 727278000, 4169331265, 797947595}
            }
          },
          sin6_scope_id = 0
        }
      },
      dest_ip = {
        sa = {
          sa_family = 2,
          sa_data = "/\212\n\225`\"\000\000\000\000\000\000\000"
        },
        sin = {
          sin_family = 2,
          sin_port = 35375,
          sin_addr = {
            s_addr = 576754954
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 2,
          sin6_port = 35375,
          sin6_flowinfo = 576754954,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      incoming_port = 443,
      tag = 0x0,
      internal_txn = false
    },
    parent_params = 0x0,
    parent_result = {
      result = PARENT_DIRECT,
      hostname = 0x0,
      port = 0,
      retry = false,
      line_number = -1,
      epoch = 0x0,
      rec = 0x0,
      last_parent = 0,
      start_parent = 0,
      wrap_around = false,
      last_lookup = 0,
      chashIter = {<error reading variable>
    },
    cache_control = {
      revalidate_after = -1,
      pin_in_cache_for = -1,
      ttl_in_cache = -1,
      never_cache = false,
      cluster_cache_local = false,
      ignore_client_no_cache = true,
      ignore_server_no_cache = false,
      ignore_client_cc_max_age = false,
      cache_responses_to_cookies = -1,
      reval_line = -1,
      never_line = -1,
      pin_line = -1,
      ttl_line = -1,
      cluster_cache_local_line = -1,
      ignore_client_line = -1,
      ignore_server_line = -1
    },
    cache_lookup_result = HttpTransact::CACHE_LOOKUP_SKIPPED,
    next_action = HttpTransact::SM_ACTION_SERVER_READ,
    api_next_action = HttpTransact::SM_ACTION_API_SM_SHUTDOWN,
    transact_return_point = 0x783550 <HttpTransact::HandleResponse(HttpTransact::State*)>,
    post_remap_upgrade_return_point = 0x0,
    upgrade_token_wks = 0x0,
    is_upgrade_request = false,
    is_websocket = false,
    did_upgrade_succeed = false,
    origin_request_queued = false,
    internal_msg_buffer = 0x0,
    internal_msg_buffer_type = 0x0,
    internal_msg_buffer_size = 0,
    internal_msg_buffer_fast_allocator_size = -1,
    icp_ip_result = {
      sin_family = 0,
      sin_port = 0,
      sin_addr = {
        s_addr = 0
      },
      sin_zero = "\000\000\000\000\000\000\000"
    },
    icp_lookup_success = false,
    scheme = 99,
    next_hop_scheme = 99,
    orig_scheme = 98,
    method = 117,
    cause_of_death_errno = -19999,
    hostdb_entry = {
      m_ptr = 0x0
    },
    host_db_info = {
      <RefCountObj> = {
        <ForceVFPTToTop> = {
          _vptr.ForceVFPTToTop = 0x0
        },
        members of RefCountObj:
        m_refcount = 0
      },
      members of HostDBInfo:
      iobuffer_index = 0,
      key = 0,
      app = {
        allotment = {
          application1 = 0,
          application2 = 0
        },
        http_data = {
          http_version = 0,
          pipeline_max = 0,
          keepalive_timeout = 0,
          fail_count = 0,
          unused1 = 0,
          last_failure = 0
        },
        rr = {
          offset = 0
        }
      },
      data = {
        ip = {
          sa = {
            sa_family = 2,
            sa_data = "\000\000\n\225`\"\000\000\000\000\000\000\000"
          },
          sin = {
            sin_family = 2,
            sin_port = 0,
            sin_addr = {
              s_addr = 576754954
            },
            sin_zero = "\000\000\000\000\000\000\000"
          },
          sin6 = {
            sin6_family = 2,
            sin6_port = 0,
            sin6_flowinfo = 576754954,
            sin6_addr = {
              __in6_u = {
                __u6_addr8 = '\000' <repeats 15 times>,
                __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
                __u6_addr32 = {0, 0, 0, 0}
              }
            },
            sin6_scope_id = 0
          }
        },
        hostname_offset = 2,
        srv = {
          srv_offset = 2,
          srv_weight = 0,
          srv_priority = 38154,
          srv_port = 8800,
          key = 0
        }
      },
      hostname_offset = 0,
      ip_timestamp = 0,
      ip_timeout_interval = 0,
      is_srv = 0,
      reverse_dns = 0,
      round_robin = 0,
      round_robin_elt = 1,
      consistent_hash = 0,
      consistent_hash_node = 0x0
    },
    client_request_time = 1538963191,
    request_sent_time = 1538963191,
    response_received_time = 1538963192,
    plugin_set_expire_time = 0,
    via_string = "uSc sSf pSeN:tOc  i p sS",
    state_machine_id = 3387119,
    client_connection_enabled = true,
    acl_filtering_performed = true,
    negative_caching = false,
    www_auth_content = HttpTransact::CACHE_AUTH_NONE,
    remap_plugin_instance = 0x6024006290c0,
    user_args = {0x0 <repeats 15 times>, 0x600401459390},
    fp_tsremap_os_response = 0x0,
    http_return_code = HTTP_STATUS_NONE,
    api_txn_active_timeout_value = -1,
    api_txn_connect_timeout_value = -1,
    api_txn_dns_timeout_value = -1,
    api_txn_no_activity_timeout_value = -1,
    cache_req_hdr_heap_handle = 0x0,
    cache_resp_hdr_heap_handle = 0x0,
    api_cleanup_cache_read = false,
    api_server_response_no_store = false,
    api_server_response_ignore = false,
    api_http_sm_shutdown = false,
    api_modifiable_cached_resp = false,
    api_server_request_body_set = false,
    api_req_cacheable = false,
    api_resp_cacheable = false,
    api_server_addr_set = false,
    stale_icp_lookup = false,
    api_update_cached_object = HttpTransact::UPDATE_CACHED_OBJECT_NONE,
    api_lock_url = HttpTransact::LOCK_URL_FIRST,
    saved_update_next_action = HttpTransact::SM_ACTION_UNDEFINED,
    saved_update_cache_action = HttpTransact::CACHE_DO_UNDEFINED,
    url_map = {
      _mapping = 0x0,
      _toURLPtr = 0x0,
      _toURL = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      _heap = 0x0
    },
    hh_info = {
      request_host = 0x0,
      host_len = 0,
      request_port = 0
    },
    pCongestionEntry = 0x0,
    congest_saved_next_action = HttpTransact::SM_ACTION_UNDEFINED,
    congestion_control_crat = 0,
    congestion_congested_or_failed = 0,
    congestion_connection_opened = 0,
    filter_mask = 0,
    remap_redirect = 0x0,
    reverse_proxy = true,
    url_remap_success = true,
    api_skip_all_remapping = false,
    already_downgraded = false,
    pristine_url = {
      <HdrHeapSDKHandle> = {
        m_heap = 0x0
      },
      members of URL:
      m_url_impl = 0x0
    },
    range_setup = HttpTransact::RANGE_NONE,
    num_range_fields = 0,
    range_output_cl = 0,
    ranges = 0x0,
    txn_conf = 0x60420001f578,
    my_txn_conf = {
      maintain_pristine_host_hdr = 1 '\001',
      chunking_enabled = 1 '\001',
      negative_caching_enabled = 0 '\000',
      negative_revalidating_enabled = 0 '\000',
      cache_when_to_revalidate = 0 '\000',
      keep_alive_enabled_in = 1 '\001',
      keep_alive_enabled_out = 1 '\001',
      keep_alive_post_out = 1 '\001',
      server_session_sharing_match = 1 '\001',
      auth_server_session_private = 1 '\001',
      fwd_proxy_auth_to_parent = 0 '\000',
      uncacheable_requests_bypass_parent = 1 '\001',
      insert_age_in_response = 1 '\001',
      anonymize_remove_from = 0 '\000',
      anonymize_remove_referer = 0 '\000',
      anonymize_remove_user_agent = 0 '\000',
      anonymize_remove_cookie = 0 '\000',
      anonymize_remove_client_ip = 0 '\000',
      anonymize_insert_client_ip = 1 '\001',
      proxy_response_server_enabled = 1 '\001',
      proxy_response_hsts_max_age = -1,
      proxy_response_hsts_include_subdomains = 0 '\000',
      insert_squid_x_forwarded_for = 1 '\001',
      send_http11_requests = 1 '\001',
      cache_http = 1 '\001',
      cache_cluster_cache_local = 0 '\000',
      cache_ignore_client_no_cache = 1 '\001',
      cache_ignore_client_cc_max_age = 0 '\000',
      cache_ims_on_client_no_cache = 1 '\001',
      cache_ignore_server_no_cache = 0 '\000',
      cache_responses_to_cookies = 1 '\001',
      cache_ignore_auth = 0 '\000',
      cache_urls_that_look_dynamic = 1 '\001',
      cache_required_headers = 2 '\002',
      cache_range_lookup = 1 '\001',
      cache_range_write = 0 '\000',
      insert_request_via_string = 1 '\001',
      insert_response_via_string = 0 '\000',
      doc_in_cache_skip_dns = 1 '\001',
      flow_control_enabled = 0 '\000',
      accept_encoding_filter_enabled = 0 '\000',
      normalize_ae_gzip = 0 '\000',
      negative_caching_lifetime = 1800,
      negative_revalidating_lifetime = 1800,
      sock_recv_buffer_size_out = 0,
      sock_send_buffer_size_out = 0,
      sock_option_flag_out = 0,
      sock_packet_mark_out = 0,
      sock_packet_tos_out = 0,
      server_tcp_init_cwnd = 0,
      request_hdr_max_size = 131072,
      response_hdr_max_size = 131072,
      post_check_content_length_enabled = 1 '\001',
      cache_heuristic_min_lifetime = 3600,
      cache_heuristic_max_lifetime = 86400,
      cache_guaranteed_min_lifetime = 0,
      cache_guaranteed_max_lifetime = 31536000,
      cache_max_stale_age = 604800,
      srv_enabled = 0,
      allow_half_open = 1 '\001',
      keep_alive_no_activity_timeout_in = 115,
      keep_alive_no_activity_timeout_out = 120,
      transaction_no_activity_timeout_in = 30,
      transaction_no_activity_timeout_out = 30,
      transaction_active_timeout_out = 0,
      transaction_active_timeout_in = 900,
      websocket_active_timeout = 3600,
      websocket_inactive_timeout = 600,
      origin_max_connections = 0,
      origin_max_connections_queue = 0,
      attach_server_session_to_client = 0,
      connect_attempts_max_retries = 0,
      connect_attempts_max_retries_dead_server = 3,
      connect_attempts_rr_retries = 3,
      connect_attempts_timeout = 30,
      post_connect_attempts_timeout = 1800,
      parent_connect_attempts = 4,
      down_server_timeout = 300,
      client_abort_threshold = 10,
      freshness_fuzz_time = 240,
      freshness_fuzz_min_time = 0,
      max_cache_open_read_retries = -1,
      cache_open_read_retry_time = 10,
      cache_generation_number = -1,
      max_cache_open_write_retries = 1,
      background_fill_active_timeout = 60,
      http_chunking_size = 4096,
      flow_high_water_mark = 0,
      flow_low_water_mark = 0,
      default_buffer_size_index = 8,
      default_buffer_water_mark = 32768,
      slow_log_threshold = 0,
      hostdb_strict_round_robin = 0,
      hostdb_timed_round_robin = 0,
      hostdb_consistent_hash = 0,
      hostdb_robust_consistent_hash = 0,
      hostdb_consistent_hash_str = 0x0,
      body_factory_template_base = 0x0,
      body_factory_template_base_len = 0,
      proxy_response_server_string = 0x0,
      proxy_response_server_string_len = 0,
      global_user_agent_header = 0x0,
      global_user_agent_header_size = 0,
      cache_heuristic_lm_factor = 0.100000001,
      freshness_fuzz_prob = 0.00499999989,
      background_fill_threshold = 0.5,
      cache_open_write_fail_action = 0,
      redirection_enabled = 0 '\000',
      redirect_use_orig_cache_key = 0 '\000',
      number_of_redirections = 1,
      client_cert_filename = 0x0,
      client_cert_filepath = 0x0
    },
    transparent_passthrough = false,
    range_in_cache = false
  },
  reentrancy_count = 0,
  history = {{
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 8
    }, {
      fileline = 0xd3b3e0 "HttpSM.cc:6761",
      event = 65535,
      reentrancy = 8
    }, {
      fileline = 0xd37700 "HttpSM.cc:3231",
      event = 2302,
      reentrancy = 8
    }, {
      fileline = 0xd37920 "HttpSM.cc:3473",
      event = 103,
      reentrancy = 0
    }, {
      fileline = 0xd36d40 "HttpSM.cc:3171",
      event = 2301,
      reentrancy = 1
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3bbe0 "HttpSM.cc:490",
      event = 0,
      reentrancy = 4
    }, {
      fileline = 0xd3e820 "HttpSM.cc:7053",
      event = 65535,
      reentrancy = 0
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 8
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 8
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 9
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 9
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 10
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 10
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 11
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 11
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 12
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 12
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 13
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 13
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 14
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 14
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 15
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 15
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 16
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 16
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 17
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 17
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 18
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 18
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 19
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 19
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 20
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 20
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 21
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 21
    }, {
      fileline = 0xd3e2a0 "HttpSM.cc:7471",
      event = 65535,
      reentrancy = 21
    }, {
      fileline = 0xd3e3a0 "HttpSM.cc:7497",
      event = 65535,
      reentrancy = 21
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 22
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 22
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 23
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 23
    }, {
      fileline = 0xd3da60 "HttpSM.cc:2152",
      event = 103,
      reentrancy = 1
    }, {
      fileline = 0xd3d880 "HttpSM.cc:1978",
      event = 100,
      reentrancy = 1
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 5
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 5
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 6
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 6
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 8
    }},
  history_pos = 77,
  tunnel = {
    <Continuation> = {
      <force_VFPT_to_top> = {
        _vptr.force_VFPT_to_top = 0xd42e70 <vtable for HttpTunnel+16>
      },
      members of Continuation:
      handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x7bc560 <HttpTunnel::main_handler(int, void*)>,
      mutex = {
        m_ptr = 0x0
      },
      link = {
        <SLink<Continuation>> = {
          next = 0x0
        },
        members of Link<Continuation>:
        prev = 0x0
      },
      control_flags = {
        raw_flags = 0
      }
    },
    members of HttpTunnel:
    num_producers = 0,
    num_consumers = 0,
    consumers = {{
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }, {
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }, {
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }, {
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }},
    producers = {{
        consumer_list = {
          head = 0x0
        },
        self_consumer = 0x0,
        vc = 0x0,
        vc_handler = NULL,
        read_vio = 0x0,
        read_buffer = 0x0,
        buffer_start = 0x0,
        vc_type = HT_HTTP_SERVER,
        chunked_handler = {
          static DEFAULT_MAX_CHUNK_SIZE = 4096,
          action = ChunkedHandler::ACTION_DOCHUNK,
          chunked_reader = 0x0,
          dechunked_buffer = 0x0,
          dechunked_size = 0,
          dechunked_reader = 0x0,
          chunked_buffer = 0x0,
          chunked_size = 0,
          truncation = false,
          skip_bytes = 0,
          state = ChunkedHandler::CHUNK_READ_CHUNK,
          cur_chunk_size = 0,
          bytes_left = 0,
          last_server_event = 0,
          running_sum = 0,
          num_digits = 0,
          max_chunk_size = 0,
          max_chunk_header = '\000' <repeats 15 times>,
          max_chunk_header_len = 0
        },
        chunking_action = TCA_CHUNK_CONTENT,
        do_chunking = false,
        do_dechunking = false,
        do_chunked_passthru = false,
        init_bytes_done = 0,
        nbytes = 0,
        ntodo = 0,
        bytes_read = 0,
        handler_state = 0,
        last_event = 0,
        num_consumers = 0,
        alive = false,
        read_success = false,
        flow_control_source = 0x0,
        name = 0x0
      }, {
        consumer_list = {
          head = 0x0
        },
        self_consumer = 0x0,
        vc = 0x0,
        vc_handler = NULL,
        read_vio = 0x0,
        read_buffer = 0x0,
        buffer_start = 0x0,
        vc_type = HT_HTTP_SERVER,
        chunked_handler = {
          static DEFAULT_MAX_CHUNK_SIZE = 4096,
          action = ChunkedHandler::ACTION_DOCHUNK,
          chunked_reader = 0x0,
          dechunked_buffer = 0x0,
          dechunked_size = 0,
          dechunked_reader = 0x0,
          chunked_buffer = 0x0,
          chunked_size = 0,
          truncation = false,
          skip_bytes = 0,
          state = ChunkedHandler::CHUNK_READ_CHUNK,
          cur_chunk_size = 0,
          bytes_left = 0,
          last_server_event = 0,
          running_sum = 0,
          num_digits = 0,
          max_chunk_size = 0,
          max_chunk_header = '\000' <repeats 15 times>,
          max_chunk_header_len = 0
        },
        chunking_action = TCA_CHUNK_CONTENT,
        do_chunking = false,
        do_dechunking = false,
        do_chunked_passthru = false,
        init_bytes_done = 0,
        nbytes = 0,
        ntodo = 0,
        bytes_read = 0,
        handler_state = 0,
        last_event = 0,
        num_consumers = 0,
        alive = false,
        read_success = false,
        flow_control_source = 0x0,
        name = 0x0
      }},
    sm = 0x607000638100,
    active = false,
    flow_state = {
      static DEFAULT_WATER_MARK = 65536,
      high_water = 65536,
      low_water = 65536,
      enabled_p = false
    },
    postbuf = 0x0,
    reentrancy_count = 0,
    call_sm = false
  },
  vc_table = {
    static vc_table_max_entries = 4,
    vc_table = {{
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }, {
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }, {
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }, {
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }}
  },
  ua_entry = 0x607000639900,
  ua_session = 0x604600571f00,
  background_fill = BACKGROUND_FILL_NONE,
  ua_buffer_reader = 0x0,
  ua_raw_buffer_reader = 0x0,
  server_entry = 0x607000639940,
  server_session = 0x0,
  will_be_private_ss = false,
  shared_session_retries = 0,
  server_buffer_reader = 0x6024001f4698,
  transform_info = {
    entry = 0x0,
    vc = 0x0
  },
  post_transform_info = {
    entry = 0x0,
    vc = 0x0
  },
  has_active_plugin_agents = false,
  cache_sm = {
    <Continuation> = {
      <force_VFPT_to_top> = {
        _vptr.force_VFPT_to_top = 0xd24630 <vtable for HttpCacheSM+16>
      },
      members of Continuation:
      handler = NULL,
      mutex = {
        m_ptr = 0x0
      },
      link = {
        <SLink<Continuation>> = {
          next = 0x0
        },
        members of Link<Continuation>:
        prev = 0x0
      },
      control_flags = {
        raw_flags = 0
      }
    },
    members of HttpCacheSM:
    cache_read_vc = 0x0,
    cache_write_vc = 0x0,
    read_locked = false,
    write_locked = false,
    readwhilewrite_inprogress = false,
    master_sm = 0x607000638100,
    pending_action = 0x0,
    captive_action = {
      <Action> = {
        _vptr.Action = 0xd24650 <vtable for HttpCacheAction+16>,
        continuation = 0x0,
        mutex = {
          m_ptr = 0x0
        },
        cancelled = 0
      },
      members of HttpCacheAction:
      sm = 0x607000639a70
    },
    open_read_cb = false,
    open_write_cb = false,
    open_read_tries = 0,
    read_request_hdr = 0x0,
    read_config = 0x0,
    read_pin_in_cache = 0,
    retry_write = true,
    open_write_tries = 0,
    lookup_url = 0x0,
    cache_key = {
      hostlen = 0,
      hostname = 0x0,
      hash = {
        b = {0, 0},
        u64 = {0, 0},
        u32 = {0, 0, 0, 0},
        u8 = '\000' <repeats 15 times>
      }
    },
    lookup_max_recursive = 0,
    current_lookup_level = 0
  },
  transform_cache_sm = {
    <Continuation> = {
      <force_VFPT_to_top> = {
        _vptr.force_VFPT_to_top = 0xd24630 <vtable for HttpCacheSM+16>
      },
      members of Continuation:
      handler = NULL,
      mutex = {
        m_ptr = 0x0
      },
      link = {
        <SLink<Continuation>> = {
          next = 0x0
        },
        members of Link<Continuation>:
        prev = 0x0
      },
      control_flags = {
        raw_flags = 0
      }
    },
    members of HttpCacheSM:
    cache_read_vc = 0x0,
    cache_write_vc = 0x0,
    read_locked = false,
    write_locked = false,
    readwhilewrite_inprogress = false,
    master_sm = 0x607000638100,
    pending_action = 0x0,
    captive_action = {
      <Action> = {
        _vptr.Action = 0xd24650 <vtable for HttpCacheAction+16>,
        continuation = 0x0,
        mutex = {
          m_ptr = 0x0
        },
        cancelled = 0
      },
      members of HttpCacheAction:
      sm = 0x607000639b50
    },
    open_read_cb = false,
    open_write_cb = false,
    open_read_tries = 0,
    read_request_hdr = 0x0,
    read_config = 0x0,
    read_pin_in_cache = 0,
    retry_write = true,
    open_write_tries = 0,
    lookup_url = 0x0,
    cache_key = {
      hostlen = 0,
      hostname = 0x0,
      hash = {
        b = {0, 0},
        u64 = {0, 0},
        u32 = {0, 0, 0, 0},
        u8 = '\000' <repeats 15 times>
      }
    },
    lookup_max_recursive = 0,
    current_lookup_level = 0
  },
  second_cache_sm = 0x0,
  default_handler = NULL,
  pending_action = 0x0,
  historical_action = 0x0,
  schedule_cont = 0x0,
  http_parser = {
    m_parsing_http = true,
    m_allow_non_http = true,
    m_mime_parser = {
      m_scanner = {
        m_line = 0x0,
        m_line_length = 0,
        m_line_size = 0,
        m_state = MIME_PARSE_BEFORE
      },
      m_field = 0,
      m_field_flags = 0,
      m_value = -1
    }
  },
  last_action = HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN,
  m_last_state = NULL,
  client_request_hdr_bytes = 1461,
  client_request_body_bytes = 0,
  server_request_hdr_bytes = 3458,
  server_request_body_bytes = 0,
  server_response_hdr_bytes = 1972,
  server_response_body_bytes = 0,
  client_response_hdr_bytes = 1591,
  client_response_body_bytes = 0,
  cache_response_hdr_bytes = 0,
  cache_response_body_bytes = 0,
  pushed_response_hdr_bytes = 0,
  pushed_response_body_bytes = 0,
  client_tcp_reused = true,
  client_ssl_reused = false,
  client_connection_is_ssl = true,
  client_sec_protocol = 0x7ffff400b178 "TLSv1.2",
  client_cipher_suite = 0x7ffff400a34b "ECDHE-RSA-AES128-GCM-SHA256",
  server_transact_count = 14,
  server_connection_is_ssl = false,
  milestones = {
    milestones = {1538963191514424914, 1538963191575368668, 1538963191575368668, 1538963192078959693, 1538963192081928031, 1538963191601082075, 1538963191601082075, 0, 1538963191601191778, 1538963192078715881, 1538963192078715881, 1538963192079526284, 0, 0, 0, 0, 1538963191601012052, 1538963191601012052, 1538963191514424914, 1538963192082231017, 1538963191540421804, 1538963191540421804}
  },
  api_timer = 0,
  plugin_tag = 0xd60a80 "http/2",
  plugin_id = 0,
  hooks_set = true,
  error_is_set = false,
  cur_hook_id = TS_HTTP_TXN_CLOSE_HOOK,
  cur_hook = 0x0,
  plugin_hook = 0x6008009d4c50,
  prev_hook_start_time = 0,
  cur_hooks = 3,
  callout_state = HTTP_API_NO_CALLOUT,
  api_hooks = {
    <FeatureAPIHooks<TSHttpHookID, (TSHttpHookID)22>> = {
      hooks_p = false,
      m_hooks = {{
          m_hooks = {
            <DLL<APIHook, APIHook::Link_m_link>> = {
              head = 0x0
            },
            members of Queue<APIHook, APIHook::Link_m_link>:
            tail = 0x0
          }
        } <repeats 22 times>}
    }, <No data fields>},
  terminate_sm = true,
  kill_this_async_done = true,
  parse_range_done = false,
  debug_link = {
    <SLink<HttpSM>> = {
      next = 0x0
    },
    members of Link<HttpSM>:
    prev = 0x0
  }
}
(gdb)
$7 = {
  <Continuation> = {
    <force_VFPT_to_top> = {
      _vptr.force_VFPT_to_top = 0xd42e90 <vtable for HttpSM+16>
    },
    members of Continuation:
    handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x738000e0,
    mutex = {
      m_ptr = 0x0
    },
    link = {
      <SLink<Continuation>> = {
        next = 0x0
      },
      members of Link<Continuation>:
      prev = 0x0
    },
    control_flags = {
      raw_flags = 0
    }
  },
  members of HttpSM:
  sm_id = 3387119,
  magic = 3735944941,
  enable_redirection = false,
  redirect_url = 0x0,
  redirect_url_len = 0,
  redirection_tries = 0,
  transfered_bytes = 0,
  post_failed = false,
  debug_on = false,
  post_fully_received = false,
  plugin_tunnel_type = HTTP_NO_PLUGIN_TUNNEL,
  plugin_tunnel = 0x0,
  t_state = {
    m_magic = HttpTransact::HTTP_TRANSACT_MAGIC_DEAD,
    state_machine = 0x607000638100,
    arena = {
      m_blocks = 0x0
    },
    http_config_param = 0x60420001f400,
    cache_info = {
      action = HttpTransact::CACHE_DO_NO_ACTION,
      transform_action = HttpTransact::CACHE_DO_UNDEFINED,
      write_status = HttpTransact::NO_CACHE_WRITE,
      transform_write_status = HttpTransact::NO_CACHE_WRITE,
      lookup_url = 0x0,
      lookup_url_storage = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      original_url = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      object_read = 0x0,
      second_object_read = 0x0,
      object_store = {
        m_alt = 0x0
      },
      transform_store = {
        m_alt = 0x0
      },
      config = {
        cache_global_user_agent_header = false,
        cache_enable_default_vary_headers = false,
        ignore_accept_mismatch = 2,
        ignore_accept_language_mismatch = 2,
        ignore_accept_encoding_mismatch = 2,
        ignore_accept_charset_mismatch = 2,
        cache_vary_default_text = 0x0,
        cache_vary_default_images = 0x0,
        cache_vary_default_other = 0x0
      },
      directives = {
        does_client_permit_lookup = true,
        does_client_permit_storing = true,
        does_client_permit_dns_storing = true,
        does_config_permit_lookup = true,
        does_config_permit_storing = true,
        does_server_permit_lookup = true,
        does_server_permit_storing = false
      },
      open_read_retries = 0,
      open_write_retries = 0,
      write_lock_state = HttpTransact::CACHE_WL_INIT,
      lookup_count = 0,
      hit_miss_code = SQUID_MISS_NONE
    },
    dns_info = {
      attempts = 0,
      os_addr_style = HttpTransact::_DNSLookupInfo::OS_ADDR_TRY_DEFAULT,
      lookup_success = true,
      lookup_name = 0x6042010ecf99 "xx",
      srv_hostname = '\000' <repeats 1024 times>,
      looking_up = HttpTransact::ORIGIN_SERVER,
      srv_lookup_success = false,
      srv_port = 0,
      srv_app = {
        allotment = {
          application1 = 0,
          application2 = 0
        },
        http_data = {
          http_version = 0,
          pipeline_max = 0,
          keepalive_timeout = 0,
          fail_count = 0,
          unused1 = 0,
          last_failure = 0
        },
        rr = {
          offset = 0
        }
      },
      lookup_validated = true
    },
    force_dns = true,
    redirect_info = {
      redirect_in_process = false,
      original_url = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      redirect_url = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      }
    },
    updated_server_version = 0,
    cache_open_write_fail_action = 0,
    is_revalidation_necessary = false,
    request_will_not_selfloop = true,
    client_info = {
      http_version = {
        m_version = 65537
      },
      keep_alive = HTTP_KEEPALIVE,
      receive_chunked_response = false,
      pipeline_possible = true,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x0,
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 10,
          sa_data = "\224\222\000\000\000\000&\000\020\024\260aY+"
        },
        sin = {
          sin_family = 10,
          sin_port = 37524,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "&\000\020\024\260aY+"
        },
        sin6 = {
          sin6_family = 10,
          sin6_port = 37524,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = "&\000\020\024\260aY+A\362\202\370\313\266\217/",
              __u6_addr16 = {38, 5136, 25008, 11097, 62017, 63618, 46795, 12175},
              __u6_addr32 = {336592934, 727278000, 4169331265, 797947595}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 10,
          sa_data = "\273\001\000\000\000\000& \001\t\300\004\001\005"
        },
        sin = {
          sin_family = 10,
          sin_port = 443,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "& \001\t\300\004\001\005"
        },
        sin6 = {
          sin6_family = 10,
          sin6_port = 443,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = "& \001\t\300\004\001\005\000\000\000\000l\256\v\001",
              __u6_addr16 = {8230, 2305, 1216, 1281, 0, 0, 44652, 267},
              __u6_addr32 = {151068710, 83952832, 0, 17542764}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::STATE_UNDEFINED,
      abort = HttpTransact::DIDNOT_ABORT,
      port_attribute = HttpProxyPort::TRANSPORT_SSL,
      is_transparent = false
    },
    icp_info = {
      http_version = {
        m_version = 65536
      },
      keep_alive = HTTP_KEEPALIVE_UNDEFINED,
      receive_chunked_response = false,
      pipeline_possible = false,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x0,
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::STATE_UNDEFINED,
      abort = HttpTransact::ABORT_UNDEFINED,
      port_attribute = HttpProxyPort::TRANSPORT_DEFAULT,
      is_transparent = false
    },
    parent_info = {
      http_version = {
        m_version = 65536
      },
      keep_alive = HTTP_KEEPALIVE_UNDEFINED,
      receive_chunked_response = false,
      pipeline_possible = false,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x0,
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::STATE_UNDEFINED,
      abort = HttpTransact::ABORT_UNDEFINED,
      port_attribute = HttpProxyPort::TRANSPORT_DEFAULT,
      is_transparent = false
    },
    server_info = {
      http_version = {
        m_version = 65537
      },
      keep_alive = HTTP_KEEPALIVE,
      receive_chunked_response = false,
      pipeline_possible = false,
      proxy_connect_hdr = false,
      connect_result = 0,
      name = 0x6042010ecf99 "xx",
      transfer_encoding = HttpTransact::NO_TRANSFER_ENCODING,
      src_addr = {
        sa = {
          sa_family = 0,
          sa_data = '\000' <repeats 13 times>
        },
        sin = {
          sin_family = 0,
          sin_port = 0,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 0,
          sin6_port = 0,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      dst_addr = {
        sa = {
          sa_family = 2,
          sa_data = "/\212\n\225`\"\000\000\000\000\000\000\000"
        },
        sin = {
          sin_family = 2,
          sin_port = 35375,
          sin_addr = {
            s_addr = 576754954
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 2,
          sin6_port = 35375,
          sin6_flowinfo = 576754954,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      state = HttpTransact::TRANSACTION_COMPLETE,
      abort = HttpTransact::DIDNOT_ABORT,
      port_attribute = HttpProxyPort::TRANSPORT_DEFAULT,
      is_transparent = false
    },
    source = HttpTransact::SOURCE_HTTP_ORIGIN_SERVER,
    pre_transform_source = HttpTransact::SOURCE_NONE,
    req_flavor = HttpTransact::REQ_FLAVOR_REVPROXY,
    current = {
      mode = HttpTransact::TUNNELLING_PROXY,
      request_to = HttpTransact::ORIGIN_SERVER,
      server = 0x6070006387e0,
      now = 1538963192,
      state = HttpTransact::CONNECTION_ALIVE,
      attempts = 1,
      simple_retry_attempts = 0,
      unavailable_server_retry_attempts = 0,
      retry_type = PARENT_RETRY_NONE
    },
    hdr_info = {
      client_request = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x6052164d0738
        },
        members of HTTPHdr:
        m_http = 0x6052164d0708,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x6052164d0680
          },
          members of URL:
          m_url_impl = 0x6052164d0988
        },
        m_host_mime = 0x0,
        m_host_length = 41,
        m_port = 12170,
        m_target_cached = true,
        m_target_in_url = true,
        m_port_in_header = true,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      client_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x605218bb5d38
        },
        members of HTTPHdr:
        m_http = 0x605218bb5d08,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      server_request = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x605211999838
        },
        members of HTTPHdr:
        m_http = 0x605211999808,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x605211999780
          },
          members of URL:
          m_url_impl = 0x605211999a88
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      server_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x605217d9a938
        },
        members of HTTPHdr:
        m_http = 0x605217d9a908,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      transform_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x0
        },
        members of HTTPHdr:
        m_http = 0x0,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      cache_response = {
        <MIMEHdr> = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of MIMEHdr:
          m_mime = 0x0
        },
        members of HTTPHdr:
        m_http = 0x0,
        m_url_cached = {
          <HdrHeapSDKHandle> = {
            m_heap = 0x0
          },
          members of URL:
          m_url_impl = 0x0
        },
        m_host_mime = 0x0,
        m_host_length = 0,
        m_port = 0,
        m_target_cached = false,
        m_target_in_url = false,
        m_port_in_header = false,
        static USE_HDR_HEAP_MAGIC = 0x1
      },
      request_content_length = 0,
      response_content_length = 58,
      transform_request_cl = -1,
      transform_response_cl = -1,
      client_req_is_server_style = false,
      trust_response_cl = true,
      response_error = HttpTransact::NO_RESPONSE_HEADER_ERROR,
      extension_method = false
    },
    squid_codes = {
      log_code = SQUID_LOG_TCP_MISS,
      hier_code = SQUID_HIER_DIRECT,
      hit_miss_code = SQUID_MISS_NONE
    },
    api_info = {
      parent_proxy_name = 0x0,
      parent_proxy_port = -1,
      cache_untransformed = false,
      cache_transformed = true,
      logging_enabled = true,
      retry_intercept_failures = false
    },
    pending_work = 0x0,
    cdn_saved_next_action = HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN,
    cdn_saved_transact_return_point = 0x0,
    cdn_remap_complete = false,
    first_dns_lookup = true,
    backdoor_request = false,
    cop_test_page = false,
    request_data = {
      <RequestData> = {
        _vptr.RequestData = 0xcd14b0 <vtable for HttpRequestData+16>
      },
      members of HttpRequestData:
      hdr = 0x607000638888,
      hostname_str = 0x6042010ecfc4 "xx",
      api_info = 0x607000638a48,
      xact_start = 1538963191,
      src_ip = {
        sa = {
          sa_family = 10,
          sa_data = "\224\222\000\000\000\000&\000\020\024\260aY+"
        },
        sin = {
          sin_family = 10,
          sin_port = 37524,
          sin_addr = {
            s_addr = 0
          },
          sin_zero = "&\000\020\024\260aY+"
        },
        sin6 = {
          sin6_family = 10,
          sin6_port = 37524,
          sin6_flowinfo = 0,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = "&\000\020\024\260aY+A\362\202\370\313\266\217/",
              __u6_addr16 = {38, 5136, 25008, 11097, 62017, 63618, 46795, 12175},
              __u6_addr32 = {336592934, 727278000, 4169331265, 797947595}
            }
          },
          sin6_scope_id = 0
        }
      },
      dest_ip = {
        sa = {
          sa_family = 2,
          sa_data = "/\212\n\225`\"\000\000\000\000\000\000\000"
        },
        sin = {
          sin_family = 2,
          sin_port = 35375,
          sin_addr = {
            s_addr = 576754954
          },
          sin_zero = "\000\000\000\000\000\000\000"
        },
        sin6 = {
          sin6_family = 2,
          sin6_port = 35375,
          sin6_flowinfo = 576754954,
          sin6_addr = {
            __in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>,
              __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
              __u6_addr32 = {0, 0, 0, 0}
            }
          },
          sin6_scope_id = 0
        }
      },
      incoming_port = 443,
      tag = 0x0,
      internal_txn = false
    },
    parent_params = 0x0,
    parent_result = {
      result = PARENT_DIRECT,
      hostname = 0x0,
      port = 0,
      retry = false,
      line_number = -1,
      epoch = 0x0,
      rec = 0x0,
      last_parent = 0,
      start_parent = 0,
      wrap_around = false,
      last_lookup = 0,
      chashIter = {<error reading variable>
    },
    cache_control = {
      revalidate_after = -1,
      pin_in_cache_for = -1,
      ttl_in_cache = -1,
      never_cache = false,
      cluster_cache_local = false,
      ignore_client_no_cache = true,
      ignore_server_no_cache = false,
      ignore_client_cc_max_age = false,
      cache_responses_to_cookies = -1,
      reval_line = -1,
      never_line = -1,
      pin_line = -1,
      ttl_line = -1,
      cluster_cache_local_line = -1,
      ignore_client_line = -1,
      ignore_server_line = -1
    },
    cache_lookup_result = HttpTransact::CACHE_LOOKUP_SKIPPED,
    next_action = HttpTransact::SM_ACTION_SERVER_READ,
    api_next_action = HttpTransact::SM_ACTION_API_SM_SHUTDOWN,
    transact_return_point = 0x783550 <HttpTransact::HandleResponse(HttpTransact::State*)>,
    post_remap_upgrade_return_point = 0x0,
    upgrade_token_wks = 0x0,
    is_upgrade_request = false,
    is_websocket = false,
    did_upgrade_succeed = false,
    origin_request_queued = false,
    internal_msg_buffer = 0x0,
    internal_msg_buffer_type = 0x0,
    internal_msg_buffer_size = 0,
    internal_msg_buffer_fast_allocator_size = -1,
    icp_ip_result = {
      sin_family = 0,
      sin_port = 0,
      sin_addr = {
        s_addr = 0
      },
      sin_zero = "\000\000\000\000\000\000\000"
    },
    icp_lookup_success = false,
    scheme = 99,
    next_hop_scheme = 99,
    orig_scheme = 98,
    method = 117,
    cause_of_death_errno = -19999,
    hostdb_entry = {
      m_ptr = 0x0
    },
    host_db_info = {
      <RefCountObj> = {
        <ForceVFPTToTop> = {
          _vptr.ForceVFPTToTop = 0x0
        },
        members of RefCountObj:
        m_refcount = 0
      },
      members of HostDBInfo:
      iobuffer_index = 0,
      key = 0,
      app = {
        allotment = {
          application1 = 0,
          application2 = 0
        },
        http_data = {
          http_version = 0,
          pipeline_max = 0,
          keepalive_timeout = 0,
          fail_count = 0,
          unused1 = 0,
          last_failure = 0
        },
        rr = {
          offset = 0
        }
      },
      data = {
        ip = {
          sa = {
            sa_family = 2,
            sa_data = "\000\000\n\225`\"\000\000\000\000\000\000\000"
          },
          sin = {
            sin_family = 2,
            sin_port = 0,
            sin_addr = {
              s_addr = 576754954
            },
            sin_zero = "\000\000\000\000\000\000\000"
          },
          sin6 = {
            sin6_family = 2,
            sin6_port = 0,
            sin6_flowinfo = 576754954,
            sin6_addr = {
              __in6_u = {
                __u6_addr8 = '\000' <repeats 15 times>,
                __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
                __u6_addr32 = {0, 0, 0, 0}
              }
            },
            sin6_scope_id = 0
          }
        },
        hostname_offset = 2,
        srv = {
          srv_offset = 2,
          srv_weight = 0,
          srv_priority = 38154,
          srv_port = 8800,
          key = 0
        }
      },
      hostname_offset = 0,
      ip_timestamp = 0,
      ip_timeout_interval = 0,
      is_srv = 0,
      reverse_dns = 0,
      round_robin = 0,
      round_robin_elt = 1,
      consistent_hash = 0,
      consistent_hash_node = 0x0
    },
    client_request_time = 1538963191,
    request_sent_time = 1538963191,
    response_received_time = 1538963192,
    plugin_set_expire_time = 0,
    via_string = "uSc sSf pSeN:tOc  i p sS",
    state_machine_id = 3387119,
    client_connection_enabled = true,
    acl_filtering_performed = true,
    negative_caching = false,
    www_auth_content = HttpTransact::CACHE_AUTH_NONE,
    remap_plugin_instance = 0x6024006290c0,
    user_args = {0x0 <repeats 15 times>, 0x600401459390},
    fp_tsremap_os_response = 0x0,
    http_return_code = HTTP_STATUS_NONE,
    api_txn_active_timeout_value = -1,
    api_txn_connect_timeout_value = -1,
    api_txn_dns_timeout_value = -1,
    api_txn_no_activity_timeout_value = -1,
    cache_req_hdr_heap_handle = 0x0,
    cache_resp_hdr_heap_handle = 0x0,
    api_cleanup_cache_read = false,
    api_server_response_no_store = false,
    api_server_response_ignore = false,
    api_http_sm_shutdown = false,
    api_modifiable_cached_resp = false,
    api_server_request_body_set = false,
    api_req_cacheable = false,
    api_resp_cacheable = false,
    api_server_addr_set = false,
    stale_icp_lookup = false,
    api_update_cached_object = HttpTransact::UPDATE_CACHED_OBJECT_NONE,
    api_lock_url = HttpTransact::LOCK_URL_FIRST,
    saved_update_next_action = HttpTransact::SM_ACTION_UNDEFINED,
    saved_update_cache_action = HttpTransact::CACHE_DO_UNDEFINED,
    url_map = {
      _mapping = 0x0,
      _toURLPtr = 0x0,
      _toURL = {
        <HdrHeapSDKHandle> = {
          m_heap = 0x0
        },
        members of URL:
        m_url_impl = 0x0
      },
      _heap = 0x0
    },
    hh_info = {
      request_host = 0x0,
      host_len = 0,
      request_port = 0
    },
    pCongestionEntry = 0x0,
    congest_saved_next_action = HttpTransact::SM_ACTION_UNDEFINED,
    congestion_control_crat = 0,
    congestion_congested_or_failed = 0,
    congestion_connection_opened = 0,
    filter_mask = 0,
    remap_redirect = 0x0,
    reverse_proxy = true,
    url_remap_success = true,
    api_skip_all_remapping = false,
    already_downgraded = false,
    pristine_url = {
      <HdrHeapSDKHandle> = {
        m_heap = 0x0
      },
      members of URL:
      m_url_impl = 0x0
    },
    range_setup = HttpTransact::RANGE_NONE,
    num_range_fields = 0,
    range_output_cl = 0,
    ranges = 0x0,
    txn_conf = 0x60420001f578,
    my_txn_conf = {
      maintain_pristine_host_hdr = 1 '\001',
      chunking_enabled = 1 '\001',
      negative_caching_enabled = 0 '\000',
      negative_revalidating_enabled = 0 '\000',
      cache_when_to_revalidate = 0 '\000',
      keep_alive_enabled_in = 1 '\001',
      keep_alive_enabled_out = 1 '\001',
      keep_alive_post_out = 1 '\001',
      server_session_sharing_match = 1 '\001',
      auth_server_session_private = 1 '\001',
      fwd_proxy_auth_to_parent = 0 '\000',
      uncacheable_requests_bypass_parent = 1 '\001',
      insert_age_in_response = 1 '\001',
      anonymize_remove_from = 0 '\000',
      anonymize_remove_referer = 0 '\000',
      anonymize_remove_user_agent = 0 '\000',
      anonymize_remove_cookie = 0 '\000',
      anonymize_remove_client_ip = 0 '\000',
      anonymize_insert_client_ip = 1 '\001',
      proxy_response_server_enabled = 1 '\001',
      proxy_response_hsts_max_age = -1,
      proxy_response_hsts_include_subdomains = 0 '\000',
      insert_squid_x_forwarded_for = 1 '\001',
      send_http11_requests = 1 '\001',
      cache_http = 1 '\001',
      cache_cluster_cache_local = 0 '\000',
      cache_ignore_client_no_cache = 1 '\001',
      cache_ignore_client_cc_max_age = 0 '\000',
      cache_ims_on_client_no_cache = 1 '\001',
      cache_ignore_server_no_cache = 0 '\000',
      cache_responses_to_cookies = 1 '\001',
      cache_ignore_auth = 0 '\000',
      cache_urls_that_look_dynamic = 1 '\001',
      cache_required_headers = 2 '\002',
      cache_range_lookup = 1 '\001',
      cache_range_write = 0 '\000',
      insert_request_via_string = 1 '\001',
      insert_response_via_string = 0 '\000',
      doc_in_cache_skip_dns = 1 '\001',
      flow_control_enabled = 0 '\000',
      accept_encoding_filter_enabled = 0 '\000',
      normalize_ae_gzip = 0 '\000',
      negative_caching_lifetime = 1800,
      negative_revalidating_lifetime = 1800,
      sock_recv_buffer_size_out = 0,
      sock_send_buffer_size_out = 0,
      sock_option_flag_out = 0,
      sock_packet_mark_out = 0,
      sock_packet_tos_out = 0,
      server_tcp_init_cwnd = 0,
      request_hdr_max_size = 131072,
      response_hdr_max_size = 131072,
      post_check_content_length_enabled = 1 '\001',
      cache_heuristic_min_lifetime = 3600,
      cache_heuristic_max_lifetime = 86400,
      cache_guaranteed_min_lifetime = 0,
      cache_guaranteed_max_lifetime = 31536000,
      cache_max_stale_age = 604800,
      srv_enabled = 0,
      allow_half_open = 1 '\001',
      keep_alive_no_activity_timeout_in = 115,
      keep_alive_no_activity_timeout_out = 120,
      transaction_no_activity_timeout_in = 30,
      transaction_no_activity_timeout_out = 30,
      transaction_active_timeout_out = 0,
      transaction_active_timeout_in = 900,
      websocket_active_timeout = 3600,
      websocket_inactive_timeout = 600,
      origin_max_connections = 0,
      origin_max_connections_queue = 0,
      attach_server_session_to_client = 0,
      connect_attempts_max_retries = 0,
      connect_attempts_max_retries_dead_server = 3,
      connect_attempts_rr_retries = 3,
      connect_attempts_timeout = 30,
      post_connect_attempts_timeout = 1800,
      parent_connect_attempts = 4,
      down_server_timeout = 300,
      client_abort_threshold = 10,
      freshness_fuzz_time = 240,
      freshness_fuzz_min_time = 0,
      max_cache_open_read_retries = -1,
      cache_open_read_retry_time = 10,
      cache_generation_number = -1,
      max_cache_open_write_retries = 1,
      background_fill_active_timeout = 60,
      http_chunking_size = 4096,
      flow_high_water_mark = 0,
      flow_low_water_mark = 0,
      default_buffer_size_index = 8,
      default_buffer_water_mark = 32768,
      slow_log_threshold = 0,
      hostdb_strict_round_robin = 0,
      hostdb_timed_round_robin = 0,
      hostdb_consistent_hash = 0,
      hostdb_robust_consistent_hash = 0,
      hostdb_consistent_hash_str = 0x0,
      body_factory_template_base = 0x0,
      body_factory_template_base_len = 0,
      proxy_response_server_string = 0x0,
      proxy_response_server_string_len = 0,
      global_user_agent_header = 0x0,
      global_user_agent_header_size = 0,
      cache_heuristic_lm_factor = 0.100000001,
      freshness_fuzz_prob = 0.00499999989,
      background_fill_threshold = 0.5,
      cache_open_write_fail_action = 0,
      redirection_enabled = 0 '\000',
      redirect_use_orig_cache_key = 0 '\000',
      number_of_redirections = 1,
      client_cert_filename = 0x0,
      client_cert_filepath = 0x0
    },
    transparent_passthrough = false,
    range_in_cache = false
  },
  reentrancy_count = 0,
  history = {{
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 8
    }, {
      fileline = 0xd3b3e0 "HttpSM.cc:6761",
      event = 65535,
      reentrancy = 8
    }, {
      fileline = 0xd37700 "HttpSM.cc:3231",
      event = 2302,
      reentrancy = 8
    }, {
      fileline = 0xd37920 "HttpSM.cc:3473",
      event = 103,
      reentrancy = 0
    }, {
      fileline = 0xd36d40 "HttpSM.cc:3171",
      event = 2301,
      reentrancy = 1
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3bbe0 "HttpSM.cc:490",
      event = 0,
      reentrancy = 4
    }, {
      fileline = 0xd3e820 "HttpSM.cc:7053",
      event = 65535,
      reentrancy = 0
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 8
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 8
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 9
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 9
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 10
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 10
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 11
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 11
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 12
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 12
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 13
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 13
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 14
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 14
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 15
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 15
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 16
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 16
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 17
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 17
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 18
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 18
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 19
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 19
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 20
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 20
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 21
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 21
    }, {
      fileline = 0xd3e2a0 "HttpSM.cc:7471",
      event = 65535,
      reentrancy = 21
    }, {
      fileline = 0xd3e3a0 "HttpSM.cc:7497",
      event = 65535,
      reentrancy = 21
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 22
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 22
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 23
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 23
    }, {
      fileline = 0xd3da60 "HttpSM.cc:2152",
      event = 103,
      reentrancy = 1
    }, {
      fileline = 0xd3d880 "HttpSM.cc:1978",
      event = 100,
      reentrancy = 1
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 2
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 3
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 4
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 5
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 5
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 6
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 6
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3cae0 "HttpSM.cc:1538",
      event = 60000,
      reentrancy = 7
    }, {
      fileline = 0xd3eb00 "HttpSM.cc:1498",
      event = 60000,
      reentrancy = 8
    }},
  history_pos = 77,
  tunnel = {
    <Continuation> = {
      <force_VFPT_to_top> = {
        _vptr.force_VFPT_to_top = 0xd42e70 <vtable for HttpTunnel+16>
      },
      members of Continuation:
      handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x7bc560 <HttpTunnel::main_handler(int, void*)>,
      mutex = {
        m_ptr = 0x0
      },
      link = {
        <SLink<Continuation>> = {
          next = 0x0
        },
        members of Link<Continuation>:
        prev = 0x0
      },
      control_flags = {
        raw_flags = 0
      }
    },
    members of HttpTunnel:
    num_producers = 0,
    num_consumers = 0,
    consumers = {{
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }, {
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }, {
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }, {
        link = {
          <SLink<HttpTunnelConsumer>> = {
            next = 0x0
          },
          members of Link<HttpTunnelConsumer>:
          prev = 0x0
        },
        producer = 0x0,
        self_producer = 0x0,
        vc_type = HT_HTTP_SERVER,
        vc = 0x0,
        buffer_reader = 0x0,
        vc_handler = NULL,
        write_vio = 0x0,
        skip_bytes = 0,
        bytes_written = 0,
        handler_state = 0,
        alive = false,
        write_success = false,
        name = 0x0
      }},
    producers = {{
        consumer_list = {
          head = 0x0
        },
        self_consumer = 0x0,
        vc = 0x0,
        vc_handler = NULL,
        read_vio = 0x0,
        read_buffer = 0x0,
        buffer_start = 0x0,
        vc_type = HT_HTTP_SERVER,
        chunked_handler = {
          static DEFAULT_MAX_CHUNK_SIZE = 4096,
          action = ChunkedHandler::ACTION_DOCHUNK,
          chunked_reader = 0x0,
          dechunked_buffer = 0x0,
          dechunked_size = 0,
          dechunked_reader = 0x0,
          chunked_buffer = 0x0,
          chunked_size = 0,
          truncation = false,
          skip_bytes = 0,
          state = ChunkedHandler::CHUNK_READ_CHUNK,
          cur_chunk_size = 0,
          bytes_left = 0,
          last_server_event = 0,
          running_sum = 0,
          num_digits = 0,
          max_chunk_size = 0,
          max_chunk_header = '\000' <repeats 15 times>,
          max_chunk_header_len = 0
        },
        chunking_action = TCA_CHUNK_CONTENT,
        do_chunking = false,
        do_dechunking = false,
        do_chunked_passthru = false,
        init_bytes_done = 0,
        nbytes = 0,
        ntodo = 0,
        bytes_read = 0,
        handler_state = 0,
        last_event = 0,
        num_consumers = 0,
        alive = false,
        read_success = false,
        flow_control_source = 0x0,
        name = 0x0
      }, {
        consumer_list = {
          head = 0x0
        },
        self_consumer = 0x0,
        vc = 0x0,
        vc_handler = NULL,
        read_vio = 0x0,
        read_buffer = 0x0,
        buffer_start = 0x0,
        vc_type = HT_HTTP_SERVER,
        chunked_handler = {
          static DEFAULT_MAX_CHUNK_SIZE = 4096,
          action = ChunkedHandler::ACTION_DOCHUNK,
          chunked_reader = 0x0,
          dechunked_buffer = 0x0,
          dechunked_size = 0,
          dechunked_reader = 0x0,
          chunked_buffer = 0x0,
          chunked_size = 0,
          truncation = false,
          skip_bytes = 0,
          state = ChunkedHandler::CHUNK_READ_CHUNK,
          cur_chunk_size = 0,
          bytes_left = 0,
          last_server_event = 0,
          running_sum = 0,
          num_digits = 0,
          max_chunk_size = 0,
          max_chunk_header = '\000' <repeats 15 times>,
          max_chunk_header_len = 0
        },
        chunking_action = TCA_CHUNK_CONTENT,
        do_chunking = false,
        do_dechunking = false,
        do_chunked_passthru = false,
        init_bytes_done = 0,
        nbytes = 0,
        ntodo = 0,
        bytes_read = 0,
        handler_state = 0,
        last_event = 0,
        num_consumers = 0,
        alive = false,
        read_success = false,
        flow_control_source = 0x0,
        name = 0x0
      }},
    sm = 0x607000638100,
    active = false,
    flow_state = {
      static DEFAULT_WATER_MARK = 65536,
      high_water = 65536,
      low_water = 65536,
      enabled_p = false
    },
    postbuf = 0x0,
    reentrancy_count = 0,
    call_sm = false
  },
  vc_table = {
    static vc_table_max_entries = 4,
    vc_table = {{
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }, {
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }, {
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }, {
        vc = 0x0,
        read_buffer = 0x0,
        write_buffer = 0x0,
        read_vio = 0x0,
        write_vio = 0x0,
        vc_handler = NULL,
        vc_type = HTTP_UNKNOWN,
        eos = false,
        in_tunnel = false
      }}
  },
  ua_entry = 0x607000639900,
  ua_session = 0x604600571f00,
  background_fill = BACKGROUND_FILL_NONE,
  ua_buffer_reader = 0x0,
  ua_raw_buffer_reader = 0x0,
  server_entry = 0x607000639940,
  server_session = 0x0,
  will_be_private_ss = false,
  shared_session_retries = 0,
  server_buffer_reader = 0x6024001f4698,
  transform_info = {
    entry = 0x0,
    vc = 0x0
  },
  post_transform_info = {
    entry = 0x0,
    vc = 0x0
  },
  has_active_plugin_agents = false,
  cache_sm = {
    <Continuation> = {
      <force_VFPT_to_top> = {
        _vptr.force_VFPT_to_top = 0xd24630 <vtable for HttpCacheSM+16>
      },
      members of Continuation:
      handler = NULL,
      mutex = {
        m_ptr = 0x0
      },
      link = {
        <SLink<Continuation>> = {
          next = 0x0
        },
        members of Link<Continuation>:
        prev = 0x0
      },
      control_flags = {
        raw_flags = 0
      }
    },
    members of HttpCacheSM:
    cache_read_vc = 0x0,
    cache_write_vc = 0x0,
    read_locked = false,
    write_locked = false,
    readwhilewrite_inprogress = false,
    master_sm = 0x607000638100,
    pending_action = 0x0,
    captive_action = {
      <Action> = {
        _vptr.Action = 0xd24650 <vtable for HttpCacheAction+16>,
        continuation = 0x0,
        mutex = {
          m_ptr = 0x0
        },
        cancelled = 0
      },
      members of HttpCacheAction:
      sm = 0x607000639a70
    },
    open_read_cb = false,
    open_write_cb = false,
    open_read_tries = 0,
    read_request_hdr = 0x0,
    read_config = 0x0,
    read_pin_in_cache = 0,
    retry_write = true,
    open_write_tries = 0,
    lookup_url = 0x0,
    cache_key = {
      hostlen = 0,
      hostname = 0x0,
      hash = {
        b = {0, 0},
        u64 = {0, 0},
        u32 = {0, 0, 0, 0},
        u8 = '\000' <repeats 15 times>
      }
    },
    lookup_max_recursive = 0,
    current_lookup_level = 0
  },
  transform_cache_sm = {
    <Continuation> = {
      <force_VFPT_to_top> = {
        _vptr.force_VFPT_to_top = 0xd24630 <vtable for HttpCacheSM+16>
      },
      members of Continuation:
      handler = NULL,
      mutex = {
        m_ptr = 0x0
      },
      link = {
        <SLink<Continuation>> = {
          next = 0x0
        },
        members of Link<Continuation>:
        prev = 0x0
      },
      control_flags = {
        raw_flags = 0
      }
    },
    members of HttpCacheSM:
    cache_read_vc = 0x0,
    cache_write_vc = 0x0,
    read_locked = false,
    write_locked = false,
    readwhilewrite_inprogress = false,
    master_sm = 0x607000638100,
    pending_action = 0x0,
    captive_action = {
      <Action> = {
        _vptr.Action = 0xd24650 <vtable for HttpCacheAction+16>,
        continuation = 0x0,
        mutex = {
          m_ptr = 0x0
        },
        cancelled = 0
      },
      members of HttpCacheAction:
      sm = 0x607000639b50
    },
    open_read_cb = false,
    open_write_cb = false,
    open_read_tries = 0,
    read_request_hdr = 0x0,
    read_config = 0x0,
    read_pin_in_cache = 0,
    retry_write = true,
    open_write_tries = 0,
    lookup_url = 0x0,
    cache_key = {
      hostlen = 0,
      hostname = 0x0,
      hash = {
        b = {0, 0},
        u64 = {0, 0},
        u32 = {0, 0, 0, 0},
        u8 = '\000' <repeats 15 times>
      }
    },
    lookup_max_recursive = 0,
    current_lookup_level = 0
  },
  second_cache_sm = 0x0,
  default_handler = NULL,
  pending_action = 0x0,
  historical_action = 0x0,
  schedule_cont = 0x0,
  http_parser = {
    m_parsing_http = true,
    m_allow_non_http = true,
    m_mime_parser = {
      m_scanner = {
        m_line = 0x0,
        m_line_length = 0,
        m_line_size = 0,
        m_state = MIME_PARSE_BEFORE
      },
      m_field = 0,
      m_field_flags = 0,
      m_value = -1
    }
  },
  last_action = HttpTransact::SM_ACTION_ORIGIN_SERVER_OPEN,
  m_last_state = NULL,
  client_request_hdr_bytes = 1461,
  client_request_body_bytes = 0,
  server_request_hdr_bytes = 3458,
  server_request_body_bytes = 0,
  server_response_hdr_bytes = 1972,
  server_response_body_bytes = 0,
  client_response_hdr_bytes = 1591,
  client_response_body_bytes = 0,
  cache_response_hdr_bytes = 0,
  cache_response_body_bytes = 0,
  pushed_response_hdr_bytes = 0,
  pushed_response_body_bytes = 0,
  client_tcp_reused = true,
  client_ssl_reused = false,
  client_connection_is_ssl = true,
  client_sec_protocol = 0x7ffff400b178 "TLSv1.2",
  client_cipher_suite = 0x7ffff400a34b "ECDHE-RSA-AES128-GCM-SHA256",
  server_transact_count = 14,
  server_connection_is_ssl = false,
  milestones = {
    milestones = {1538963191514424914, 1538963191575368668, 1538963191575368668, 1538963192078959693, 1538963192081928031, 1538963191601082075, 1538963191601082075, 0, 1538963191601191778, 1538963192078715881, 1538963192078715881, 1538963192079526284, 0, 0, 0, 0, 1538963191601012052, 1538963191601012052, 1538963191514424914, 1538963192082231017, 1538963191540421804, 1538963191540421804}
  },
  api_timer = 0,
  plugin_tag = 0xd60a80 "http/2",
  plugin_id = 0,
  hooks_set = true,
  error_is_set = false,
  cur_hook_id = TS_HTTP_TXN_CLOSE_HOOK,
  cur_hook = 0x0,
  plugin_hook = 0x6008009d4c50,
  prev_hook_start_time = 0,
  cur_hooks = 3,
  callout_state = HTTP_API_NO_CALLOUT,
  api_hooks = {
    <FeatureAPIHooks<TSHttpHookID, (TSHttpHookID)22>> = {
      hooks_p = false,
      m_hooks = {{
          m_hooks = {
            <DLL<APIHook, APIHook::Link_m_link>> = {
              head = 0x0
            },
            members of Queue<APIHook, APIHook::Link_m_link>:
            tail = 0x0
          }
        } <repeats 22 times>}
    }, <No data fields>},
  terminate_sm = true,
  kill_this_async_done = true,
  parse_range_done = false,
  debug_link = {
    <SLink<HttpSM>> = {
      next = 0x0
    },
    members of Link<HttpSM>:
    prev = 0x0
  }
}

(gdb) c
Continuing.
=================================================================
==32365== ERROR: AddressSanitizer: heap-use-after-free on address 0x607000638118 at pc 0xc460aa bp 0x7fffe508f5c0 sp 0x7fffe508f5b8
READ of size 8 at 0x607000638118 thread T33 ([ET_NET 32])
    #0 0xc460a9 (/usr/bin/traffic_server+0xc460a9)
    #1 0xc2661f (/usr/bin/traffic_server+0xc2661f)
    #2 0xcc126d (/usr/bin/traffic_server+0xcc126d)
    #3 0xcc37b5 (/usr/bin/traffic_server+0xcc37b5)
    #4 0xcbfc88 (/usr/bin/traffic_server+0xcbfc88)
    #5 0x7ffff4e66c27 (/lib64/libasan.so.0+0x18c27)
    #6 0x7ffff308fdc4 (/lib64/libpthread-2.17.so+0x7dc4)
    #7 0x7ffff203076c (/lib64/libc-2.17.so+0xf776c)
0x607000638118 is located 24 bytes inside of 7840-byte region [0x607000638100,0x607000639fa0)
freed by thread T7 ([ET_NET 6]) here:
    #0 0x7ffff4e6349a (/lib64/libasan.so.0+0x1549a)
    #1 0x7ffff4c1c491 (/lib64/libtsutil.so.6+0x65491)
    #2 0x7064be (/usr/bin/traffic_server+0x7064be)
    #3 0x7096e7 (/usr/bin/traffic_server+0x7096e7)
    #4 0x7bca66 (/usr/bin/traffic_server+0x7bca66)
    #5 0x7e7e6d (/usr/bin/traffic_server+0x7e7e6d)
    #6 0xcc126d (/usr/bin/traffic_server+0xcc126d)
    #7 0xcc3484 (/usr/bin/traffic_server+0xcc3484)
    #8 0xcbfc88 (/usr/bin/traffic_server+0xcbfc88)
    #9 0x7ffff4e66c27 (/lib64/libasan.so.0+0x18c27)
previously allocated by thread T7 ([ET_NET 6]) here:
    #0 0x7ffff4e63859 (/lib64/libasan.so.0+0x15859)
    #1 0x7ffff4c1a917 (/lib64/libtsutil.so.6+0x63917)
    #2 0x7ffff4c1c414 (/lib64/libtsutil.so.6+0x65414)
    #3 0x5ac139 (/usr/bin/traffic_server+0x5ac139)
    #4 0x81eb6d (/usr/bin/traffic_server+0x81eb6d)
    #5 0x8266a4 (/usr/bin/traffic_server+0x8266a4)
    #6 0x8001d9 (/usr/bin/traffic_server+0x8001d9)
    #7 0x804b72 (/usr/bin/traffic_server+0x804b72)
    #8 0x805450 (/usr/bin/traffic_server+0x805450)
    #9 0x800cfd (/usr/bin/traffic_server+0x800cfd)
    #10 0xc47b6c (/usr/bin/traffic_server+0xc47b6c)
    #11 0xbf8544 (/usr/bin/traffic_server+0xbf8544)
    #12 0xc19f54 (/usr/bin/traffic_server+0xc19f54)
    #13 0xcc436b (/usr/bin/traffic_server+0xcc436b)
    #14 0xcbfc88 (/usr/bin/traffic_server+0xcbfc88)
    #15 0x7ffff4e66c27 (/lib64/libasan.so.0+0x18c27)
Thread T33 ([ET_NET 32]) created by T0 ([ET_NET 0]) here:
    #0 0x7ffff4e58c9b (/lib64/libasan.so.0+0xac9b)
    #1 0xcbfe4b (/usr/bin/traffic_server+0xcbfe4b)
    #2 0xcca1c9 (/usr/bin/traffic_server+0xcca1c9)
    #3 0x49a48f (/usr/bin/traffic_server+0x49a48f)
    #4 0x7ffff1f5ab34 (/lib64/libc-2.17.so+0x21b34)
Thread T7 ([ET_NET 6]) created by T0 ([ET_NET 0]) here:
    #0 0x7ffff4e58c9b (/lib64/libasan.so.0+0xac9b)
    #1 0xcbfe4b (/usr/bin/traffic_server+0xcbfe4b)
    #2 0xcca1c9 (/usr/bin/traffic_server+0xcca1c9)
    #3 0x49a48f (/usr/bin/traffic_server+0x49a48f)
    #4 0x7ffff1f5ab34 (/lib64/libc-2.17.so+0x21b34)
Shadow bytes around the buggy address:
  0x0c0e800befd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800befe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800beff0: 00 00 00 00 fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e800bf000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e800bf010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c0e800bf020: 00 00 00[00]00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:     fa
  Heap righ redzone:     fb
  Freed Heap region:     fd
  Stack left redzone:    f1
  Stack mid redzone:     f2
  Stack right redzone:   f3
  Stack partial redzone: f4
  Stack after return:    f5
  Stack use after scope: f8
  Global redzone:        f9
  Global init order:     f6
  Poisoned by user:      f7
  ASan internal:         fe
==32365== ABORTING
[Thread 0x7fffcdca8700 (LWP 32420) exited]
[Thread 0x7fffce1b2700 (LWP 32419) exited]
[Thread 0x7fffce5b9700 (LWP 32418) exited]
[Thread 0x7fffcebc6700 (LWP 32417) exited]
[Thread 0x7fffcf0d0700 (LWP 32416) exited]
[Thread 0x7fffcf5da700 (LWP 32415) exited]
[Thread 0x7fffcfae4700 (LWP 32414) exited]
[Thread 0x7fffcffee700 (LWP 32413) exited]
[Thread 0x7fffd04f8700 (LWP 32412) exited]
[Thread 0x7fffd0a02700 (LWP 32411) exited]
[Thread 0x7fffd5e6f700 (LWP 32409) exited]
[Thread 0x7fffe2366700 (LWP 32407) exited]
[Thread 0x7fffe2871700 (LWP 32406) exited]
[Thread 0x7fffe4478700 (LWP 32405) exited]
[Thread 0x7fffe4880700 (LWP 32404) exited]
[Thread 0x7fffe4c88700 (LWP 32403) exited]
[Thread 0x7fffe5090700 (LWP 32402) exited]
[Thread 0x7fffe5498700 (LWP 32401) exited]
[Thread 0x7fffe58a0700 (LWP 32400) exited]
[Thread 0x7fffe5ca8700 (LWP 32399) exited]
[Thread 0x7fffe60b0700 (LWP 32398) exited]
[Thread 0x7fffe64b8700 (LWP 32397) exited]
[Thread 0x7fffe68c0700 (LWP 32396) exited]
[Thread 0x7fffe6cc8700 (LWP 32395) exited]
  hread 0x7fffe70d0700 (LWP 32394) exited]
�Thread 0x7fffe74d8700 (LWP 32393) exited]
[Thread 0x7fffe78e0700 (LWP 32392) exited]
[Thread 0x7fffe7ce8700 (LWP 32391) exited]
[Thread 0x7fffe80f0700 (LWP 32390) exited]
[Thread 0x7fffe84f8700 (LWP 32389) exited]
[Thread 0x7fffe8900700 (LWP 32388) exited]
[Thread 0x7fffe8d08700 (LWP 32387) exited]
[Thread 0x7fffe9110700 (LWP 32386) exited]
[Thread 0x7fffe9518700 (LWP 32385) exited]
[Thread 0x7fffe9920700 (LWP 32384) exited]
[Thread 0x7fffe9d28700 (LWP 32383) exited]
[Thread 0x7fffea130700 (LWP 32382) exited]
[Thread 0x7fffea538700 (LWP 32381) exited]
[Thread 0x7fffea940700 (LWP 32380) exited]
[Thread 0x7fffead48700 (LWP 32379) exited]
[Thread 0x7fffeb150700 (LWP 32378) exited]
[Thread 0x7fffeb558700 (LWP 32377) exited]
[Thread 0x7fffeb960700 (LWP 32376) exited]
[Thread 0x7fffebd68700 (LWP 32375) exited]
[Thread 0x7fffec170700 (LWP 32374) exited]
[Thread 0x7fffec578700 (LWP 32373) exited]
[Thread 0x7fffec980700 (LWP 32372) exited]
[Thread 0x7fffecd88700 (LWP 32371) exited]
[Thread 0x7fffeffff700 (LWP 32370) exited]
[Inferior 1 (process 32365) exited with code 01]
(gdb) q
bash-4.2# ls
appname      bin               etc      lib64     nohup.out  setup-asan.sh   usr
appsConfig     boot              export   lidenv.json   opt        srv         var
asan_report.txt    chroot-exec             home     logs      proc       symbolize.py
asan_report.txt.1  data              hooks    logs.syminfo  root       sys
asan_report.txt.2  dev               include  media     run        tier-spec.json
asan_start_ATS.sh  ea8d1c2c4f8337122497d13c79bfbada6d5352ff  lib      mnt     sbin       tmp
bash-4.2# vim asan_report.txt.105
Thread T7 ([ET_NET 6]) created by T0 ([ET_NET 0]) here:
    #0 0x7ffff4e58c9b (/lib64/libasan.so.0+0xac9b)
    #1 0xcbfe4b (/usr/bin/traffic_server+0xcbfe4b)
    #2 0xcca1c9 (/usr/bin/traffic_server+0xcca1c9)
    #3 0x49a48f (/usr/bin/traffic_server+0x49a48f)
    #4 0x7ffff1f5ab34 (/lib64/libc-2.17.so+0x21b34)
Shadow bytes around the buggy address:
  0x0c0e800befd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800befe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800beff0: 00 00 00 00 fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e800bf000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e800bf010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c0e800bf020: 00 00 00[00]00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c0e800bf070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:     fa
  Heap righ redzone:     fb
  Freed Heap region:     fd
  Stack left redzone:    f1
  Stack mid redzone:     f2
  Stack right redzone:   f3
  Stack partial redzone: f4
  Stack after return:    f5
  Stack use after scope: f8
  Global redzone:        f9
  Global init order:     f6
  Poisoned by user:      f7
  ASan internal:         fe
==32365== ABORTING
"asan_report.txt.105" [New] 81L, 4119C written
bash-4.2# python symbolize.py asan_report.txt.105
['symbolize.py', 'asan_report.txt.105']
asan_report.txt.105
=================================================================
==32365== ERROR: AddressSanitizer: heap-use-after-free on address 0x607000638118 at pc 0xc460aa bp 0x7fffe508f5c0 sp 0x7fffe508f5b8
READ of size 8 at 0x607000638118 thread T33 ([ET_NET 32])
    #0 0xc460a9 (/usr/bin/traffic_server+0xc460a9)

Ptr<ProxyMutex>::operator==(Ptr<ProxyMutex> const&) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/net/../../lib/ts/Ptr.h:328
    #1 0xc2661f (/usr/bin/traffic_server+0xc2661f)

Continuation::handleEvent(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/net/../../iocore/eventsystem/I_Continuation.h:153
    #2 0xcc126d (/usr/bin/traffic_server+0xcc126d)

Continuation::handleEvent(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/I_Continuation.h:153
    #3 0xcc37b5 (/usr/bin/traffic_server+0xcc37b5)

EThread::execute() at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/UnixEThread.cc:230
    #4 0xcbfc88 (/usr/bin/traffic_server+0xcbfc88)

spawn_thread_internal(void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/Thread.cc:86
    #5 0x7ffff4e66c27 (/lib64/libasan.so.0+0x18c27)

__asan::AsanThread::ThreadStart() at /export/home/tester/hudson/data/workspace/MP_TRUNKDEV_POSTCOMMIT/gcc_d4ebd89d4696534dc578b6e07497c0341e11bb44/gcc/src/x86_64-unknown-linux-gnu/libsanitizer/asan/../../.././libsanitizer/asan/asan_thread.cc:99
    #6 0x7ffff308fdc4 (/lib64/libpthread-2.17.so+0x7dc4)

start_thread at pthread_create.c:?
    #7 0x7ffff203076c (/lib64/libc-2.17.so+0xf776c)

__clone at ??:?
0x607000638118 is located 24 bytes inside of 7840-byte region [0x607000638100,0x607000639fa0)
freed by thread T7 ([ET_NET 6]) here:
    #0 0x7ffff4e6349a (/lib64/libasan.so.0+0x1549a)

__interceptor_free at /export/home/tester/hudson/data/workspace/MP_TRUNKDEV_POSTCOMMIT/gcc_d4ebd89d4696534dc578b6e07497c0341e11bb44/gcc/src/x86_64-unknown-linux-gnu/libsanitizer/asan/../../.././libsanitizer/asan/asan_malloc_linux.cc:61
    #1 0x7ffff4c1c491 (/lib64/libtsutil.so.6+0x65491)

ink_freelist_free at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/lib/ts/ink_queue.cc:270
    #2 0x7064be (/usr/bin/traffic_server+0x7064be)

HttpSM::kill_this() at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http/HttpSM.cc:7091 (discriminator 3)
    #3 0x7096e7 (/usr/bin/traffic_server+0x7096e7)

HttpSM::main_handler(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http/HttpSM.cc:2948
    #4 0x7bca66 (/usr/bin/traffic_server+0x7bca66)

Continuation::handleEvent(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http/../../iocore/eventsystem/I_Continuation.h:153
    #5 0x7e7e6d (/usr/bin/traffic_server+0x7e7e6d)

Http2Stream::main_event_handler(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http2/Http2Stream.cc:88
    #6 0xcc126d (/usr/bin/traffic_server+0xcc126d)

Continuation::handleEvent(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/I_Continuation.h:153
    #7 0xcc3484 (/usr/bin/traffic_server+0xcc3484)

EThread::execute() at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/UnixEThread.cc:202
    #8 0xcbfc88 (/usr/bin/traffic_server+0xcbfc88)

spawn_thread_internal(void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/Thread.cc:86
    #9 0x7ffff4e66c27 (/lib64/libasan.so.0+0x18c27)

__asan::AsanThread::ThreadStart() at /export/home/tester/hudson/data/workspace/MP_TRUNKDEV_POSTCOMMIT/gcc_d4ebd89d4696534dc578b6e07497c0341e11bb44/gcc/src/x86_64-unknown-linux-gnu/libsanitizer/asan/../../.././libsanitizer/asan/asan_thread.cc:99
previously allocated by thread T7 ([ET_NET 6]) here:
    #0 0x7ffff4e63859 (/lib64/libasan.so.0+0x15859)

__interceptor_posix_memalign at /export/home/tester/hudson/data/workspace/MP_TRUNKDEV_POSTCOMMIT/gcc_d4ebd89d4696534dc578b6e07497c0341e11bb44/gcc/src/x86_64-unknown-linux-gnu/libsanitizer/asan/../../.././libsanitizer/asan/asan_malloc_linux.cc:128
    #1 0x7ffff4c1a917 (/lib64/libtsutil.so.6+0x63917)

ats_memalign at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/lib/ts/ink_memory.cc:105
    #2 0x7ffff4c1c414 (/lib64/libtsutil.so.6+0x65414)

ink_freelist_new at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/lib/ts/ink_queue.cc:183
    #3 0x5ac139 (/usr/bin/traffic_server+0x5ac139)

ClassAllocator<HttpSM>::alloc() at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/../lib/ts/Allocator.h:121
    #4 0x81eb6d (/usr/bin/traffic_server+0x81eb6d)

rcv_headers_frame(Http2ConnectionState&, Http2Frame const&) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http2/Http2ConnectionState.cc:318
    #5 0x8266a4 (/usr/bin/traffic_server+0x8266a4)

Http2ConnectionState::main_event_handler(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http2/Http2ConnectionState.cc:837
    #6 0x8001d9 (/usr/bin/traffic_server+0x8001d9)

Continuation::handleEvent(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http2/../../iocore/eventsystem/I_Continuation.h:153
    #7 0x804b72 (/usr/bin/traffic_server+0x804b72)

Http2ClientSession::do_complete_frame_read() at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http2/Http2ClientSession.cc:497
    #8 0x805450 (/usr/bin/traffic_server+0x805450)

Http2ClientSession::state_process_frame_read(int, VIO*, bool) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http2/Http2ClientSession.cc:534
    #9 0x800cfd (/usr/bin/traffic_server+0x800cfd)

Http2ClientSession::main_event_handler(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/http2/Http2ClientSession.cc:318 (discriminator 3)
    #10 0xc47b6c (/usr/bin/traffic_server+0xc47b6c)

Continuation::handleEvent(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/net/../../iocore/eventsystem/I_Continuation.h:153
    #11 0xbf8544 (/usr/bin/traffic_server+0xbf8544)

SSLNetVConnection::net_read_io(NetHandler*, EThread*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/net/SSLNetVConnection.cc:593
    #12 0xc19f54 (/usr/bin/traffic_server+0xc19f54)

NetHandler::mainNetEvent(int, Event*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/net/UnixNet.cc:513
    #13 0xcc436b (/usr/bin/traffic_server+0xcc436b)

Continuation::handleEvent(int, void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/I_Continuation.h:153
    #14 0xcbfc88 (/usr/bin/traffic_server+0xcbfc88)

spawn_thread_internal(void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/Thread.cc:86
    #15 0x7ffff4e66c27 (/lib64/libasan.so.0+0x18c27)

__asan::AsanThread::ThreadStart() at /export/home/tester/hudson/data/workspace/MP_TRUNKDEV_POSTCOMMIT/gcc_d4ebd89d4696534dc578b6e07497c0341e11bb44/gcc/src/x86_64-unknown-linux-gnu/libsanitizer/asan/../../.././libsanitizer/asan/asan_thread.cc:99
Thread T33 ([ET_NET 32]) created by T0 ([ET_NET 0]) here:
    #0 0x7ffff4e58c9b (/lib64/libasan.so.0+0xac9b)

__interceptor_pthread_create at /export/home/tester/hudson/data/workspace/MP_TRUNKDEV_POSTCOMMIT/gcc_d4ebd89d4696534dc578b6e07497c0341e11bb44/gcc/src/x86_64-unknown-linux-gnu/libsanitizer/asan/../../.././libsanitizer/asan/asan_interceptors.cc:122
    #1 0xcbfe4b (/usr/bin/traffic_server+0xcbfe4b)

Thread::start(char const*, unsigned long, void* (*)(void*), void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/../../lib/ts/ink_thread.h:147
    #2 0xcca1c9 (/usr/bin/traffic_server+0xcca1c9)

EventProcessor::start(int, unsigned long) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/UnixEventProcessor.cc:141
    #3 0x49a48f (/usr/bin/traffic_server+0x49a48f)

main at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/Main.cc:1761
    #4 0x7ffff1f5ab34 (/lib64/libc-2.17.so+0x21b34)

__libc_start_main at ??:?
Thread T7 ([ET_NET 6]) created by T0 ([ET_NET 0]) here:
    #0 0x7ffff4e58c9b (/lib64/libasan.so.0+0xac9b)

__interceptor_pthread_create at /export/home/tester/hudson/data/workspace/MP_TRUNKDEV_POSTCOMMIT/gcc_d4ebd89d4696534dc578b6e07497c0341e11bb44/gcc/src/x86_64-unknown-linux-gnu/libsanitizer/asan/../../.././libsanitizer/asan/asan_interceptors.cc:122
    #1 0xcbfe4b (/usr/bin/traffic_server+0xcbfe4b)

Thread::start(char const*, unsigned long, void* (*)(void*), void*) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/../../lib/ts/ink_thread.h:147
    #2 0xcca1c9 (/usr/bin/traffic_server+0xcca1c9)

EventProcessor::start(int, unsigned long) at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/iocore/eventsystem/UnixEventProcessor.cc:141
    #3 0x49a48f (/usr/bin/traffic_server+0x49a48f)

main at /export/home/tester/orca/MP_TRUNKDEV_POSTCOMMIT/workspace/ats-core_9ec60fa463bb02045d6cfcbea1d24d1bcedc5d75/ats6/src/proxy/Main.cc:1761
    #4 0x7ffff1f5ab34 (/lib64/libc-2.17.so+0x21b34)

__libc_start_main at ??:?
Shadow bytes around the buggy address:
0x0c0e800befd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c0e800befe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c0e800beff0: 00 00 00 00 fa fa fa fa fa fa fa fa fa fa fa fa
0x0c0e800bf000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c0e800bf010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c0e800bf020: 00 00 00[00]00 00 00 00 00 00 00 00 00 00 00 00
0x0c0e800bf030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c0e800bf040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c0e800bf050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c0e800bf060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c0e800bf070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable:           00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone:     fa
Heap righ redzone:     fb
Freed Heap region:     fd
Stack left redzone:    f1
Stack mid redzone:     f2
Stack right redzone:   f3
Stack partial redzone: f4
Stack after return:    f5
Stack use after scope: f8
Global redzone:        f9
Global init order:     f6
Poisoned by user:      f7
ASan internal:         fe
==32365== ABORTING
zizhong commented 5 years ago

@maskit @masaori335 Would be greatly appreciated if you have any insightful ideas.

bryancall commented 5 years ago

@zizhong What version of ATS is this for? Are you still seeing this issue?

zizhong commented 5 years ago

Didn't see this issue happening for a while.