You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Corey Cossentino (JIRA)" <ji...@apache.org> on 2013/08/22 17:31:52 UTC

[jira] [Created] (TS-2147) rfc5861 plugin causes a segfault

Corey Cossentino created TS-2147:
------------------------------------

             Summary: rfc5861 plugin causes a segfault
                 Key: TS-2147
                 URL: https://issues.apache.org/jira/browse/TS-2147
             Project: Traffic Server
          Issue Type: Bug
          Components: Plugins
            Reporter: Corey Cossentino


When using the rfc5861 plugin, the server will segfault when a cache lookup is stale.

To reproduce: using the Node.js test server provided with the plugin, make a request, then make a second request for the same URL after at least five seconds.

[TrafficServer] using root directory '/usr/local'
[Aug 22 17:04:55.334] Server {0x7f01dfe617e0} DIAG: (rfc5861) Plugin registration succeeded.
[Aug 22 17:04:55.334] Server {0x7f01dfe617e0} DIAG: (rfc5861) Plugin Init Complete.
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering rfc5861_plugin
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Event: TS_EVENT_HTTP_READ_REQUEST_HDR
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) External Request
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering create_request_info
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving create_request_info
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) state after TSmalloc: 0x2ab4ae0
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) before TSHttpTxnReenable
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering rfc5861_plugin
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Event: TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) state after arg get: 0x2ab4ae0
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Not Stale!
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering free_request_info
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Free effective URL
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Release Http Header
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Destroy Buffer
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Free Client Addr
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Free Request Info
[Aug 22 17:04:57.443] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving free_request_info
[Aug 22 17:04:57.444] Server {0x7f01dfe617e0} DIAG: (rfc5861) TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE Event Handler End
[Aug 22 17:04:57.444] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving rfc5861_plugin
[Aug 22 17:04:57.444] Server {0x7f01dfe617e0} DIAG: (rfc5861) after TSHttpTxnReenable
[Aug 22 17:04:57.444] Server {0x7f01dfe617e0} DIAG: (rfc5861) TS_EVENT_HTTP_READ_REQUEST_HDR Event Handler End
[Aug 22 17:04:57.444] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving rfc5861_plugin
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering rfc5861_plugin
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Event: TS_EVENT_HTTP_READ_REQUEST_HDR
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) External Request
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering create_request_info
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving create_request_info
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) state after TSmalloc: 0x2ae5b20
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) before TSHttpTxnReenable
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering rfc5861_plugin
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Event: TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) state after arg get: 0x2ae5b20
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) CacheLookupStatus is STALE
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Inside get_cached_header_info
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Found a date
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Found cache-control
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Found max-age
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Found stale-while-revalidate
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Found stale-on-error
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving get_cached_header_info
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Looks like we can return fresh info and validate in the background
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) set state as async
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) TSHttpTxnCacheLookupStatusSet()
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) TSContCreate()
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) TSContDataSet()
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) state: 0x2ae5b20
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) TSHttpTxnReenable()
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Entering rfc5861_plugin
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Event: TS_EVENT_HTTP_SEND_RESPONSE_HDR
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) set warning header
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) TS_EVENT_HTTP_SEND_RESPONSE_HDR Event Handler End
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving rfc5861_plugin
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE Event Handler End
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving rfc5861_plugin
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) after TSHttpTxnReenable
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) TS_EVENT_HTTP_READ_REQUEST_HDR Event Handler End
[Aug 22 17:05:03.971] Server {0x7f01dfe617e0} DIAG: (rfc5861) Leaving rfc5861_plugin
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Entering fetch_resource
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) state: 0x2ae5b20
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Lets do the lookup
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Locking URL
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Set Connection: close
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Creating Connection hdr
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Create Buffers
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) HdrPrint()
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) TSHttpConnect()
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) TSVConnRead()
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) TSVConnWrite()
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Leaving fetch_resource
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Entering consume_resource
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Write Complete
[Aug 22 17:05:03.971] Server {0x7f01d2cab700} DIAG: (rfc5861) Leaving consume_resource
[Aug 22 17:05:03.972] Server {0x7f01d2cab700} DIAG: (rfc5861) Entering rfc5861_plugin
[Aug 22 17:05:03.972] Server {0x7f01d2cab700} DIAG: (rfc5861) Event: TS_EVENT_HTTP_READ_REQUEST_HDR
[Aug 22 17:05:03.972] Server {0x7f01d2cab700} DIAG: (rfc5861) Internal Request
[Aug 22 17:05:03.972] Server {0x7f01d2cab700} DIAG: (rfc5861) after TSHttpTxnHookAdd
[Aug 22 17:05:03.972] Server {0x7f01d2cab700} DIAG: (rfc5861) before TSHttpTxnReenable
NOTE: Traffic Server received Sig 11: Segmentation fault
traffic_server - STACK TRACE:
/lib64/libpthread.so.0(+0xf500)[0x7f01ddddf500]
traffic_server(_Z16_acquire_sessionP13SessionBucketPK8sockaddrR7INK_MD5P6HttpSM+0x46)[0x518b56]
traffic_server(_ZN18HttpSessionManager15acquire_sessionEP12ContinuationPK8sockaddrPKcP17HttpClientSessionP6HttpSM+0x37c)[0x519b2c]
traffic_server(_ZN6HttpSM19do_http_server_openEb+0x490)[0x52ba90]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x4e4)[0x533bb4]
traffic_server(_ZN6HttpSM22state_cache_open_writeEiPv+0x143)[0x526993]
traffic_server(_ZN6HttpSM12main_handlerEiPv+0xd8)[0x52fe28]
traffic_server(_ZN11HttpCacheSM22state_cache_open_writeEiPv+0xfa)[0x50a0ba]
traffic_server(_ZN7CacheVC8callcontEi+0x53)[0x5ed853]
traffic_server(_ZN7CacheVC18openWriteStartDoneEiP5Event+0x5c3)[0x660383]
traffic_server(_ZN5Cache10open_writeEP12ContinuationP7INK_MD5P8HTTPInfolS3_13CacheFragTypePci+0x72e)[0x65fd1e]
traffic_server(_ZN14CacheProcessor10open_writeEP12ContinuationiP3URLbP7HTTPHdrP8HTTPInfol13CacheFragType+0xb5)[0x6336e5]
traffic_server(_ZN11HttpCacheSM10open_writeEP3URLP7HTTPHdrP8HTTPInfolbb+0xa0)[0x50a420]
traffic_server(_ZN6HttpSM23do_cache_prepare_actionEP11HttpCacheSMP8HTTPInfobb+0x10e)[0x51b85e]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x6bc)[0x533d8c]
traffic_server(_ZN6HttpSM17handle_api_returnEv+0x3ba)[0x532a2a]
traffic_server(_ZN6HttpSM17state_api_calloutEiPv+0x2b0)[0x52a940]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x1f2)[0x5338c2]
traffic_server(_ZN6HttpSM16do_hostdb_lookupEv+0x282)[0x51c6e2]
traffic_server(_ZN6HttpSM14set_next_stateEv+0xbad)[0x53427d]
traffic_server(_ZN6HttpSM17handle_api_returnEv+0x3ba)[0x532a2a]
traffic_server(_ZN6HttpSM17state_api_calloutEiPv+0x2b0)[0x52a940]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x1f2)[0x5338c2]
traffic_server(_ZN6HttpSM17handle_api_returnEv+0x3ba)[0x532a2a]
traffic_server(_ZN6HttpSM17state_api_calloutEiPv+0x2b0)[0x52a940]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x1f2)[0x5338c2]
traffic_server(_ZN6HttpSM21state_cache_open_readEiPv+0xfe)[0x52cdfe]
traffic_server(_ZN6HttpSM12main_handlerEiPv+0xd8)[0x52fe28]
traffic_server(_ZN11HttpCacheSM21state_cache_open_readEiPv+0x1b2)[0x50a7d2]
traffic_server(_ZN7CacheVC8callcontEi+0x53)[0x5ed853]
traffic_server(_ZN7CacheVC17openReadStartHeadEiP5Event+0x8c5)[0x656a85]
traffic_server(_ZN5Cache9open_readEP12ContinuationP7INK_MD5P7HTTPHdrP21CacheLookupHttpConfig13CacheFragTypePci+0x383)[0x6535e3]
traffic_server(_ZN14CacheProcessor9open_readEP12ContinuationP3URLbP7HTTPHdrP21CacheLookupHttpConfigl13CacheFragType+0xad)[0x63102d]
traffic_server(_ZN11HttpCacheSM9open_readEP3URLP7HTTPHdrP21CacheLookupHttpConfigl+0x94)[0x50a224]
traffic_server(_ZN6HttpSM24do_cache_lookup_and_readEv+0xf3)[0x51bb63]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x722)[0x533df2]
traffic_server(_ZN6HttpSM17handle_api_returnEv+0x3ba)[0x532a2a]
traffic_server(_ZN6HttpSM17state_api_calloutEiPv+0x2b0)[0x52a940]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x1f2)[0x5338c2]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x1e2)[0x5338b2]
traffic_server(_ZN6HttpSM17handle_api_returnEv+0x3ba)[0x532a2a]
traffic_server(_ZN6HttpSM17state_api_calloutEiPv+0x2b0)[0x52a940]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x1f2)[0x5338c2]
traffic_server(_ZN6HttpSM17handle_api_returnEv+0x3ba)[0x532a2a]
traffic_server(_ZN6HttpSM17state_api_calloutEiPv+0x2b0)[0x52a940]
traffic_server(_ZN6HttpSM18state_api_callbackEiPv+0x8b)[0x53001b]
traffic_server(TSHttpTxnReenable+0x404)[0x4b86e4]
/usr/local/libexec/trafficserver/rfc5861.so(+0x2f91)[0x7f01d823af91]
traffic_server(_ZN6HttpSM17state_api_calloutEiPv+0x114)[0x52a7a4]
traffic_server(_ZN6HttpSM14set_next_stateEv+0x1f2)[0x5338c2]
traffic_server(_ZN6HttpSM32state_read_client_request_headerEiPv+0x289)[0x529559]
traffic_server(_ZN6HttpSM12main_handlerEiPv+0xd8)[0x52fe28]
traffic_server(_ZN8PluginVC17process_read_sideEb+0x375)[0x4cffa5]
traffic_server(_ZN8PluginVC18process_write_sideEb+0x57a)[0x4d08fa]
traffic_server(_ZN8PluginVC12main_handlerEiPv+0x372)[0x4d2122]
traffic_server(_ZN7EThread13process_eventEP5Eventi+0x8f)[0x6a38ef]
traffic_server(_ZN7EThread7executeEv+0x63b)[0x6a446b]
traffic_server[0x6a278a]
/lib64/libpthread.so.0(+0x7851)[0x7f01dddd7851]
/lib64/libc.so.6(clone+0x6d)[0x7f01dd17090d]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira