Bryan Call created TS-4982: ------------------------------ Summary: Fix memory leaks in test_Http2DependencyTree Key: TS-4982 URL: https://issues.apache.org/jira/browse/TS-4982 Project: Traffic Server Issue Type: Improvement Reporter: Bryan Call
{noformat} [bcall@homer http2]$ ./test_Http2DependencyTree REGRESSION_TEST initialization begun REGRESSION TEST Http2DependencyTree_max_depth started REGRESSION_RESULT Http2DependencyTree_max_depth: PASSED REGRESSION TEST Http2DependencyTree_remove_2 started REGRESSION_RESULT Http2DependencyTree_remove_2: PASSED REGRESSION TEST Http2DependencyTree_remove_1 started REGRESSION_RESULT Http2DependencyTree_remove_1: PASSED REGRESSION TEST Http2DependencyTree_Chrome_51 started REGRESSION_RESULT Http2DependencyTree_Chrome_51: PASSED REGRESSION TEST Http2DependencyTree_Chrome_50 started REGRESSION_RESULT Http2DependencyTree_Chrome_50: PASSED REGRESSION TEST Http2DependencyTree_6 started REGRESSION_RESULT Http2DependencyTree_6: PASSED REGRESSION TEST Http2DependencyTree_5 started REGRESSION_RESULT Http2DependencyTree_5: PASSED REGRESSION TEST Http2DependencyTree_4 started REGRESSION_RESULT Http2DependencyTree_4: PASSED REGRESSION TEST Http2DependencyTree_3 started REGRESSION_RESULT Http2DependencyTree_3: PASSED REGRESSION TEST Http2DependencyTree_2 started REGRESSION_RESULT Http2DependencyTree_2: PASSED REGRESSION TEST Http2DependencyTree_1 started REGRESSION_RESULT Http2DependencyTree_1: PASSED ================================================================= ==16503==ERROR: LeakSanitizer: detected memory leaks Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x4032cc in RegressionTest_Http2DependencyTree_max_depth(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:502 #2 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #3 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #4 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #5 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x41884f in RegressionTest_Http2DependencyTree_remove_2(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:464 #2 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #3 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #4 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #5 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x413aaf in RegressionTest_Http2DependencyTree_remove_1(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:410 #2 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #3 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #4 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #5 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 14400 byte(s) in 200 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x402d19 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::add(unsigned int, unsigned int, unsigned int, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:174 #2 0x403602 in RegressionTest_Http2DependencyTree_max_depth(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:506 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 11200 byte(s) in 200 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x402eff in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Node::Node(unsigned int, unsigned int, unsigned int, Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Node*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:62 #2 0x402eff in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::add(unsigned int, unsigned int, unsigned int, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:174 #3 0x403602 in RegressionTest_Http2DependencyTree_max_depth(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:506 #4 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #5 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #6 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #7 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 3200 byte(s) in 200 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x402e9a in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Node::Node(unsigned int, unsigned int, unsigned int, Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Node*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:61 #2 0x402e9a in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::add(unsigned int, unsigned int, unsigned int, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:174 #3 0x403602 in RegressionTest_Http2DependencyTree_max_depth(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:506 #4 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #5 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #6 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #7 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 72 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x4032d9 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:109 #2 0x4032d9 in RegressionTest_Http2DependencyTree_max_depth(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:502 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 72 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x41885c in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:109 #2 0x41885c in RegressionTest_Http2DependencyTree_remove_2(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:464 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 72 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x413abc in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:109 #2 0x413abc in RegressionTest_Http2DependencyTree_remove_1(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:410 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 56 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x4034c6 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:56 #2 0x4034c6 in RegressionTest_Http2DependencyTree_max_depth(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:502 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 56 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x418a49 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:56 #2 0x418a49 in RegressionTest_Http2DependencyTree_remove_2(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:464 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 56 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x413ca9 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:56 #2 0x413ca9 in RegressionTest_Http2DependencyTree_remove_1(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:410 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x403461 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:55 #2 0x403461 in RegressionTest_Http2DependencyTree_max_depth(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:502 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x4189e4 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:55 #2 0x4189e4 in RegressionTest_Http2DependencyTree_remove_2(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:464 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) Indirect leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7f3115cc2ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x413c44 in Http2DependencyTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>::Http2DependencyTree(unsigned int) /home/bcall/dev/apache/trafficserver/proxy/http2/Http2DependencyTree.h:55 #2 0x413c44 in RegressionTest_Http2DependencyTree_remove_1(RegressionTest*, int, int*) /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:410 #3 0x7f31159b39a8 in start_test /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:81 #4 0x7f31159b39a8 in RegressionTest::run(char const*, int) /home/bcall/dev/apache/trafficserver/lib/ts/Regression.cc:103 #5 0x402034 in main /home/bcall/dev/apache/trafficserver/proxy/http2/test_Http2DependencyTree.cc:517 #6 0x7f3112f3b730 in __libc_start_main (/lib64/libc.so.6+0x20730) SUMMARY: AddressSanitizer: 29280 byte(s) leaked in 612 allocation(s). {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)