-
Notifications
You must be signed in to change notification settings - Fork 851
Description
While load testing a 'master' branch build using a remap with the cachkey plugin enabled, traffic server crashed due to a segmentation fault after making changes to remap.config followed by traffic_ctl config reload.
I tracked it down to the cachekey plugin. After removing the plugin configuration and repeating the test, edit remap.config; traffic_ctl config reload, its no-longer crashes.
Here is my remap.config with the cachekey plugin:
map http://foo.com:8080 http://cache-01.foo.com:8080/ @strategy=bar.com @plugin=cachekey.so @pparam=--separator= @pparam=--remove-all-params=true @pparam=--remove-path=true @pparam=--capture-prefix-uri=/^([^?]*)/$1/
Here are the stack traces:
traffic_server: received signal 11 (Segmentation fault) traffic_server - STACK TRACE: /opt/trafficserver/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, void*)+0xc3)[0x6394db] /lib64/libpthread.so.0(+0xf5d0)[0x2ac8695555d0] /lib64/libc.so.6(+0x155866)[0x2ac86a2da866] /opt/trafficserver/bin/traffic_server(std::char_traits<char>::copy(char*, char const*, unsigned long)+0x3e)[0x63179a] /opt/trafficserver/bin/traffic_server(std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_copy(char*, char const*, unsigned long)+0x47)[0x634f66] /opt/trafficserver/bin/traffic_server(std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_clone(std::allocator<char> const&, unsigned long)+0x84)[0x6354f2] /opt/trafficserver/bin/traffic_server(std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_grab(std::allocator<char> const&, std::allocator<char> const&)+0x64)[0x634552] /opt/trafficserver/bin/traffic_server(std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x72)[0x633a30] /opt/trafficserver/var/trafficserver/3a39165c-3815-405e-8621-a9b0c1111b4c/opt/trafficserver/libexec/trafficserver/cachekey.so(+0x3b909)[0x2ac9122de909] /opt/trafficserver/var/trafficserver/3a39165c-3815-405e-8621-a9b0c1111b4c/opt/trafficserver/libexec/trafficserver/cachekey.so(TSRemapDoRemap+0x3a)[0x2ac9122deec7] /opt/trafficserver/bin/traffic_server(RemapPluginInfo::doRemap(void*, tsapi_httptxn*, _tm_remap_request_info*)+0x57)[0x767d3d] /opt/trafficserver/bin/traffic_server(RemapPluginInst::doRemap(tsapi_httptxn*, _tm_remap_request_info*)+0x34)[0x74e88e] /opt/trafficserver/bin/traffic_server(RemapPlugins::run_plugin(RemapPluginInst*)+0xfd)[0x76ab13] /opt/trafficserver/bin/traffic_server(RemapPlugins::run_single_remap()+0x1fe)[0x76ad6c] /opt/trafficserver/bin/traffic_server(RemapProcessor::perform_remap(Continuation*, HttpTransact::State*)+0x318)[0x753bfc] /opt/trafficserver/bin/traffic_server(HttpSM::do_remap_request(bool)+0x499)[0x6d18c3] /opt/trafficserver/bin/traffic_server(HttpSM::set_next_state()+0xa7)[0x6dec35] /opt/trafficserver/bin/traffic_server(HttpSM::call_transact_and_set_next_state(void (*)(HttpTransact::State*))+0x1b8)[0x6deb84] /opt/trafficserver/bin/traffic_server(HttpSM::handle_api_return()+0x1ac)[0x6c7552] /opt/trafficserver/bin/traffic_server(HttpSM::state_api_callout(int, void*)+0xc95)[0x6c7261] /opt/trafficserver/bin/traffic_server(HttpSM::do_api_callout_internal()+0x218)[0x6d6a50] /opt/trafficserver/bin/traffic_server(HttpSM::do_api_callout()+0x27)[0x6e707f] /opt/trafficserver/bin/traffic_server(HttpSM::set_next_state()+0x60)[0x6debee] /opt/trafficserver/bin/traffic_server(HttpSM::call_transact_and_set_next_state(void (*)(HttpTransact::State*))+0x1b8)[0x6deb84] /opt/trafficserver/bin/traffic_server(HttpSM::handle_api_return()+0x1ac)[0x6c7552] /opt/trafficserver/bin/traffic_server(HttpSM::state_api_callout(int, void*)+0xc95)[0x6c7261] /opt/trafficserver/bin/traffic_server(HttpSM::state_api_callback(int, void*)+0x1e4)[0x6c6550] /opt/trafficserver/bin/traffic_server(TSHttpTxnReenable+0x109)[0x65489d] /opt/trafficserver/libexec/trafficserver/remap_stats.so(+0xcb5e)[0x2ac910972b5e] /opt/trafficserver/bin/traffic_server(INKContInternal::handle_event(int, void*)+0x13a)[0x6479de] /opt/trafficserver/bin/traffic_server(Continuation::handleEvent(int, void*)+0xc9)[0x63d7ed] /opt/trafficserver/bin/traffic_server(APIHook::invoke(int, void*) const+0xe9)[0x6483af] /opt/trafficserver/bin/traffic_server(HttpSM::state_api_callout(int, void*)+0x922)[0x6c6eee] /opt/trafficserver/bin/traffic_server(HttpSM::state_api_callback(int, void*)+0x1e4)[0x6c6550] /opt/trafficserver/bin/traffic_server(TSHttpTxnReenable+0x109)[0x65489d] /opt/trafficserver/libexec/trafficserver/stats_over_http.so(+0x1d07)[0x2ac910763d07] /opt/trafficserver/bin/traffic_server(INKContInternal::handle_event(int, void*)+0x13a)[0x6479de] /opt/trafficserver/bin/traffic_server(Continuation::handleEvent(int, void*)+0xc9)[0x63d7ed] /opt/trafficserver/bin/traffic_server(APIHook::invoke(int, void*) const+0xe9)[0x6483af] /opt/trafficserver/bin/traffic_server(HttpSM::state_api_callout(int, void*)+0x922)[0x6c6eee] /opt/trafficserver/bin/traffic_server(HttpSM::main_handler(int, void*)+0x35e)[0x6cc0f4] /opt/trafficserver/bin/traffic_server(Continuation::handleEvent(int, void*)+0xc9)[0x63d7ed] /opt/trafficserver/bin/traffic_server(EThread::process_event(Event*, int)+0x143)[0x927ce7] /opt/trafficserver/bin/traffic_server(EThread::execute_regular()+0x2c4)[0x9282c2] /opt/trafficserver/bin/traffic_server(EThread::execute()+0x107)[0x928601] /opt/trafficserver/bin/traffic_server[0x927125] /lib64/libpthread.so.0(+0x7dd5)[0x2ac86954ddd5] /lib64/libc.so.6(clone+0x6d)[0x2ac86a28302d] traffic_server: received signal 11 (Segmentation fault) traffic_server - STACK TRACE: /opt/trafficserver/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, void*)+0xc3)[0x6394db] /lib64/libpthread.so.0(+0xf5d0)[0x2b800ee9f5d0] /opt/trafficserver/bin/traffic_server[0x631230] /opt/trafficserver/bin/traffic_server(RefCountObj::refcount_inc()+0x21)[0x631a07] /opt/trafficserver/bin/traffic_server(Ptr<ProxyMutex>::Ptr(Ptr<ProxyMutex> const&)+0x39)[0x63f0f1] /opt/trafficserver/bin/traffic_server(WeakMutexTryLock::WeakMutexTryLock(SourceLocation const&, char const*, Ptr<ProxyMutex>&, EThread*)+0x30)[0x65efd4] /opt/trafficserver/bin/traffic_server(HttpSM::state_api_callout(int, void*)+0x665)[0x6c6c31] /opt/trafficserver/bin/traffic_server(HttpSM::do_api_callout_internal()+0x218)[0x6d6a50] /opt/trafficserver/bin/traffic_server(HttpSM::do_api_callout()+0x27)[0x6e707f] /opt/trafficserver/bin/traffic_server(HttpSM::setup_cache_lookup_complete_api()+0x26)[0x6e7204] /opt/trafficserver/bin/traffic_server(HttpSM::state_cache_open_read(int, void*)+0x654)[0x6cbd72] /opt/trafficserver/bin/traffic_server(HttpSM::main_handler(int, void*)+0x35e)[0x6cc0f4] /opt/trafficserver/bin/traffic_server(Continuation::handleEvent(int, void*)+0xc9)[0x63d7ed] /opt/trafficserver/bin/traffic_server(HttpCacheSM::state_cache_open_read(int, void*)+0x2a7)[0x7309c5] /opt/trafficserver/bin/traffic_server(Continuation::handleEvent(int, void*)+0xc9)[0x63d7ed] /opt/trafficserver/bin/traffic_server(CacheVC::openReadStartHead(int, Event*)+0x10b8)[0x859bce] /opt/trafficserver/bin/traffic_server(CacheVC::openReadFromWriter(int, Event*)+0x2ef)[0x853a07] /opt/trafficserver/bin/traffic_server(Continuation::handleEvent(int, void*)+0xc9)[0x63d7ed] /opt/trafficserver/bin/traffic_server(EThread::process_event(Event*, int)+0x143)[0x927ce7] /opt/trafficserver/bin/traffic_server(EThread::execute_regular()+0x2c4)[0x9282c2] /opt/trafficserver/bin/traffic_server(EThread::execute()+0x107)[0x928601] /opt/trafficserver/bin/traffic_server[0x927125] /lib64/libpthread.so.0(+0x7dd5)[0x2b800ee97dd5] /lib64/libc.so.6(clone+0x6d)[0x2b800fbcd02d] [TrafficManager] ==> Cleaning up and reissuing signal #15 traffic_server: using root directory '/opt/trafficserver' [TrafficManager] ==> signal #15