Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-4075

Segmentation fault due to reenable in SNI Hook for a closed ssl connection

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 6.2.0, 7.0.0
    • Plugins, SSL
    • None

    Description

      I'm writing a ssl hook to look up a cert from mysql database.

      the SNI Hook stall at fetch cert from mysql database due to a database dump lock every mid night.

      the SSL Client got timeout and closing the connection before SNI Hook reenable the connection.

      Segmentation fault due to the TSVConnSSLConnectionGet() can not get a SSLVC during reenable the SSLVC.

      traffic_server: Segmentation fault (Address not mapped to object [(nil)])
      traffic_server - STACK TRACE:
      /usr/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, void*)+0xa2)[0x2b90c9955b22]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0xf8d0)[0x2b90cc1ea8d0]
      /usr/lib/x86_64-linux-gnu/libstdc++.so.6(__dynamic_cast+0x60)[0x2b90cc9c3020]
      /usr/bin/traffic_server(TSVConnSSLConnectionGet+0x1e)[0x2b90c997832e]
      /usr/lib/trafficserver/modules/test-ssl.so(CertRequestContext::reenable()+0x8c)[0x2b90d5fe29dc]
      /usr/lib/trafficserver/modules/test-ssl.so(CertRequestContext::destroy()+0xe5)[0x2b90d5fe2b85]
      /usr/lib/trafficserver/modules/test-ssl.so(CertRequestContext::handler_content(tsapi_vio*)+0x29b)[0x2b90d5fe34db]
      /usr/lib/trafficserver/modules/test-ssl.so(CertRequestContext::handler_read(TSEvent, tsapi_vio*)+0x36)[0x2b90d5fe3526]
      /usr/lib/trafficserver/modules/test-ssl.so(CertRequestContext::dispatch(tsapi_cont*, TSEvent, void*)+0x95)[0x2b90d5fe35e5]
      /usr/bin/traffic_server(PluginVC::process_read_side(bool)+0x366)[0x2b90c998b0a6]
      /usr/bin/traffic_server(PluginVC::process_write_side(bool)+0x5a9)[0x2b90c998ba49]
      /usr/bin/traffic_server(PluginVC::main_handler(int, void*)+0x371)[0x2b90c998e1c1]
      /usr/bin/traffic_server(EThread::process_event(Event*, int)+0x90)[0x2b90c9bc8620]
      /usr/bin/traffic_server(EThread::execute()+0x67f)[0x2b90c9bc922f]
      /usr/bin/traffic_server(+0x369a1a)[0x2b90c9bc7a1a]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4)[0x2b90cc1e30a4]
      /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x2b90cd26704d]
      traffic_server: using root directory '/usr'
      

      Attachments

        Activity

          People

            shinrich Susan Hinrichs
            oknet Chao Xu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: