diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-24 18:50:15 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-24 18:50:15 +0000 |
commit | 9f7c4fdc2d5fab8cca68ddb50217db9b62b525e3 (patch) | |
tree | 2379f9b7fa6cd9ffff3a86039f55b5ddb66d247e /tools | |
parent | 562d8c4bc0559df9e3265430f8903ee5bcccdbe2 (diff) | |
download | chromium_src-9f7c4fdc2d5fab8cca68ddb50217db9b62b525e3.zip chromium_src-9f7c4fdc2d5fab8cca68ddb50217db9b62b525e3.tar.gz chromium_src-9f7c4fdc2d5fab8cca68ddb50217db9b62b525e3.tar.bz2 |
Flip: Fix a bunch of leaks.
FlipIOBuffer::release() was broken. It called release() on scoped_refptrs which does not decrease refcount, hence it leaked IOBuffers and FlipStreams.
Redo the memory management for FlipSession. Stop using raw pointers in FlipSessionPool to hold onto FlipSession. FlipSessionPool uses scoped_refptr now to track Fli
pSessions. Instead of having FlipSession call Release() on itself, it now calls FlipSessionPool to remove itself from the pool when the tcp connection is closed.
In FlipStreamTest, manually call FlipSessionPool::Remove() since there is no tcp connection event to trigger FlipSession to remove itself.
BUG=http://crbug.com/28493
Review URL: http://codereview.chromium.org/438014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32945 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r-- | tools/valgrind/memcheck/suppressions.txt | 54 | ||||
-rw-r--r-- | tools/valgrind/memcheck/suppressions_mac.txt | 94 |
2 files changed, 0 insertions, 148 deletions
diff --git a/tools/valgrind/memcheck/suppressions.txt b/tools/valgrind/memcheck/suppressions.txt index 6325f76..9270036 100644 --- a/tools/valgrind/memcheck/suppressions.txt +++ b/tools/valgrind/memcheck/suppressions.txt @@ -1728,60 +1728,6 @@ fun:_ZN11MessageLoop11RunInternalEv fun:_ZN11MessageLoop10RunHandlerEv } -# new flip leaks TODO(willchan): fix these -{ - bug_28493a - Memcheck:Leak - fun:_Znw* - fun:_ZN3net11FlipSession17GetOrCreateStreamERKNS_15HttpRequestInfoEPKNS_16UploadDataStreamE - ... -} -{ - bug_28493b - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN3net26FlipNetworkTransactionTest17TransactionHelperERKNS_15HttpRequestInfoEPNS_8MockReadES5_ - ... -} -{ - bug_28493c - Memcheck:Leak - fun:_Znw* - fun:_ZN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189919SessionDependenciesC1Ev - fun:_ZN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189914FlipStreamTestC2Ev - fun:_ZN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189931FlipStreamTest_SendRequest_TestC1Ev - fun:_ZN7testing8internal15TestFactoryImplIN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189931FlipStreamTest_SendRequest_TestEE10CreateTestEv - fun:_ZN7testing8internal12TestInfoImpl3RunEv - fun:_ZN7testing8TestCase3RunEv - fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv - fun:_ZN7testing8UnitTest3RunEv - fun:_ZN9TestSuite3RunEv - fun:main -} -{ - bug_28493d - Memcheck:Leak - fun:_Znw* - fun:_ZN3net11FlipSession11WriteSocketEv - ... -} -{ - bug_28493 - Memcheck:Leak - fun:_Znw* - fun:_ZN3net129_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_network_transaction_unittest.cc_00000000_9BF5CC6519SessionDependenciesC1Ev - fun:_ZN3net26FlipNetworkTransactionTest17TransactionHelperERKNS_15HttpRequestInfoEPNS_8MockReadES5_ - fun:_ZN3net47FlipNetworkTransactionTest_SynReplyHeaders_Test8TestBodyEv - fun:_ZN7testing4Test3RunEv - fun:_ZN7testing8internal12TestInfoImpl3RunEv - fun:_ZN7testing8TestCase3RunEv - fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv - fun:_ZN7testing8UnitTest3RunEv - fun:_ZN9TestSuite3RunEv - fun:main -} - { bug_28633 Memcheck:Leak diff --git a/tools/valgrind/memcheck/suppressions_mac.txt b/tools/valgrind/memcheck/suppressions_mac.txt index d6e005a..792559b 100644 --- a/tools/valgrind/memcheck/suppressions_mac.txt +++ b/tools/valgrind/memcheck/suppressions_mac.txt @@ -423,97 +423,3 @@ fun:_ZN21ResourceMessageFilter10OnDestructEv fun:_ZN3IPC12ChannelProxy19MessageFilterTraits8DestructEPNS0_13MessageFilterE } -# new flip leaks TODO(willchan): fix these -{ - bug_28493a - Memcheck:Leak - fun:_Znw* - fun:_ZN3net11FlipSession17GetOrCreateStreamERKNS_15HttpRequestInfoEPKNS_16UploadDataStreamE - ... -} -{ - bug_28493b - Memcheck:Leak - fun:_Znw* - ... - fun:_ZN3net26FlipNetworkTransactionTest17TransactionHelperERKNS_15HttpRequestInfoEPNS_8MockReadES5_ - ... -} -{ - bug_28493c - Memcheck:Leak - fun:_Znw* - fun:_ZN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189919SessionDependenciesC1Ev - fun:_ZN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189914FlipStreamTestC2Ev - fun:_ZN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189931FlipStreamTest_SendRequest_TestC1Ev - fun:_ZN7testing8internal15TestFactoryImplIN3net116_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_stream_unittest.cc_00000000_46E4189931FlipStreamTest_SendRequest_TestEE10CreateTestEv - fun:_ZN7testing8internal12TestInfoImpl3RunEv - fun:_ZN7testing8TestCase3RunEv - fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv - fun:_ZN7testing8UnitTest3RunEv - fun:_ZN9TestSuite3RunEv - fun:main -} -{ - bug_28493d - Memcheck:Leak - fun:_Znw* - fun:_ZN3net11FlipSession11WriteSocketEv - ... -} -{ - bug_28493 - Memcheck:Leak - fun:_Znw* - fun:_ZN3net129_GLOBAL__N__b_slave_chromium_rel_linux_valgrind_builder_build_src_net_flip_flip_network_transaction_unittest.cc_00000000_9BF5CC6519SessionDependenciesC1Ev - fun:_ZN3net26FlipNetworkTransactionTest17TransactionHelperERKNS_15HttpRequestInfoEPNS_8MockReadES5_ - fun:_ZN3net47FlipNetworkTransactionTest_SynReplyHeaders_Test8TestBodyEv - fun:_ZN7testing4Test3RunEv - fun:_ZN7testing8internal12TestInfoImpl3RunEv - fun:_ZN7testing8TestCase3RunEv - fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv - fun:_ZN7testing8UnitTest3RunEv - fun:_ZN9TestSuite3RunEv - fun:main -} -{ - bug_28493 - Memcheck:Leak - fun:_Znw* - fun:_ZN3net12_GLOBAL__N_119SessionDependenciesC2Ev - fun:_ZN3net12_GLOBAL__N_119SessionDependenciesC1Ev - fun:_ZN3net12_GLOBAL__N_114FlipStreamTestC2Ev - fun:_ZN3net12_GLOBAL__N_131FlipStreamTest_SendRequest_TestC2Ev - fun:_ZN3net12_GLOBAL__N_131FlipStreamTest_SendRequest_TestC1Ev - fun:_ZN7testing8internal15TestFactoryImplIN3net12_GLOBAL__N_131FlipStreamTest_SendRequest_TestEE10CreateTestEv - fun:_ZN7testing8internal12TestInfoImpl3RunEv - fun:_ZN7testing8TestCase3RunEv - fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv - fun:_ZN7testing8UnitTest3RunEv - fun:_ZN9TestSuite3RunEv - fun:main -} -{ - bug_28493 - Memcheck:Leak - fun:_Znw* - fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsPSt4listIPN3net11FlipSessionESaIS7_EEEEE8allocateEmPKv - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPSt4listIPN3net11FlipSessionESaIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE11_M_get_nodeEv - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPSt4listIPN3net11FlipSessionESaIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE14_M_create_nodeERKS9_ - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPSt4listIPN3net11FlipSessionESaIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE9_M_insertEPSt18_Rb_tree_node_baseSH_RKS9_ - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPSt4listIPN3net11FlipSessionESaIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE13insert_uniqueERKS9_ - fun:_ZNSt8_Rb_treeISsSt4pairIKSsPSt4listIPN3net11FlipSessionESaIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE13insert_uniqueESt17_Rb_tree_iteratorIS9_ERKS9_ - fun:_ZNSt3mapISsPSt4listIPN3net11FlipSessionESaIS3_EESt4lessISsESaISt4pairIKSsS6_EEE6insertESt17_Rb_tree_iteratorISB_ERKSB_ - fun:_ZNSt3mapISsPSt4listIPN3net11FlipSessionESaIS3_EESt4lessISsESaISt4pairIKSsS6_EEEixERSA_ - fun:_ZN3net15FlipSessionPool14AddSessionListERKSs - fun:_ZN3net15FlipSessionPool3GetERKNS_12HostResolver11RequestInfoEPNS_18HttpNetworkSessionE - fun:_ZN3net12_GLOBAL__N_114FlipStreamTest17CreateFlipSessionEv - fun:_ZN3net12_GLOBAL__N_131FlipStreamTest_SendRequest_Test8TestBodyEv - fun:_ZN7testing4Test3RunEv - fun:_ZN7testing8internal12TestInfoImpl3RunEv - fun:_ZN7testing8TestCase3RunEv - fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv - fun:_ZN7testing8UnitTest3RunEv - fun:_ZN9TestSuite3RunEv - fun:main -} |