DescriptionRevert 272142 "Save running SW instance info, including its Site..."
Linux ASan LSan Tests (2) failed (EmbeddedWorkerInstanceTestWithMockProcesses.ChooseProcess)
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%282%29/builds/2934/steps/content_unittests/logs/stdio
==11522==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x615000000790 at pc 0x28b7174 bp 0x7fff1b81bc40 sp 0x7fff1b81bc38
READ of size 4 at 0x615000000790 thread T0
#0 0x28b7173 in content::RenderProcessHostImpl::IncrementWorkerRefCount() content/browser/renderer_host/render_process_host_impl.cc:2059
#1 0x2987e93 in IncrementWorkerRefCountByPid content/browser/service_worker/service_worker_process_manager.cc:20
#2 0x2987e93 in content::ServiceWorkerProcessManager::AllocateWorkerProcess(int, std::vector<int, std::allocator<int> > const&, GURL const&, base::Callback<void (content::ServiceWorkerStatusCode, int)> const&) content/browser/service_worker/service_worker_process_manager.cc:84
#3 0x2940594 in content::EmbeddedWorkerInstance::Start(long, GURL const&, GURL const&, std::vector<int, std::allocator<int> > const&, base::Callback<void (content::ServiceWorkerStatusCode)> const&) content/browser/service_worker/embedded_worker_instance.cc:119
#4 0x1a32bd3 in content::EmbeddedWorkerInstanceTestWithMockProcesses_ChooseProcess_Test::TestBody() content/browser/service_worker/embedded_worker_instance_unittest.cc:193
#5 0x2f60c58 in HandleExceptionsInMethodIfSupported<testing::Test, void> testing/gtest/src/gtest.cc:2045
#6 0x2f60c58 in testing::Test::Run() testing/gtest/src/gtest.cc:2061
#7 0x2f62d09 in testing::TestInfo::Run() testing/gtest/src/gtest.cc:2237
#8 0x2f63a96 in testing::TestCase::Run() testing/gtest/src/gtest.cc:2344
#9 0x2f746aa in testing::internal::UnitTestImpl::RunAllTests() testing/gtest/src/gtest.cc:4065
#10 0x2f73ce0 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> testing/gtest/src/gtest.cc:2045
#11 0x2f73ce0 in testing::UnitTest::Run() testing/gtest/src/gtest.cc:3697
#12 0x2ef83ac in RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2231
#13 0x2ef83ac in base::TestSuite::Run() base/test/test_suite.cc:206
#14 0x2eed5b7 in Run base/callback.h:401
#15 0x2eed5b7 in base::(anonymous namespace)::LaunchUnitTestsInternal(int, char**, base::Callback<int ()> const&, int) base/test/launcher/unit_test_launcher.cc:494
#16 0x215e769 in main content/test/run_all_unittests.cc:14
#17 0x7f2ae9ee876c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226
#18 0x53d1ac in _start (/b/build/slave/Linux_ASan_LSan_Tests__2_/build/src/out/Release/content_unittests+0x53d1ac)
0x615000000790 is located 56 bytes to the right of 472-byte region [0x615000000580,0x615000000758)
allocated by thread T0 here:
#0 0x52200b in operator new(unsigned long) /usr/local/google/work/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62
#1 0x2e1d2c8 in content::MockRenderProcessHostFactory::CreateRenderProcessHost(content::BrowserContext*, content::SiteInstance*) const content/public/test/mock_render_process_host.cc:269
#2 0x29d5f2c in content::SiteInstanceImpl::GetProcess() content/browser/site_instance_impl.cc:101
#3 0x25937b9 in content::RenderFrameHostManager::CreateRenderFrameHost(content::SiteInstance*, int, int, bool, bool) content/browser/frame_host/render_frame_host_manager.cc:866
#4 0x259349f in content::RenderFrameHostManager::Init(content::BrowserContext*, content::SiteInstance*, int, int) content/browser/frame_host/render_frame_host_manager.cc:112
#5 0x2a661b5 in content::WebContentsImpl::Init(content::WebContents::CreateParams const&) content/browser/web_contents/web_contents_impl.cc:1057
#6 0x2e77324 in content::TestWebContents::Create(content::BrowserContext*, content::SiteInstance*) content/test/test_web_contents.cc:40
#7 0x1a31ac8 in CreateNavigatedWebContents content/browser/service_worker/embedded_worker_instance_unittest.cc:141
#8 0x1a31ac8 in content::EmbeddedWorkerInstanceTestWithMockProcesses_ChooseProcess_Test::TestBody() content/browser/service_worker/embedded_worker_instance_unittest.cc:158
#9 0x2f60c58 in HandleExceptionsInMethodIfSupported<testing::Test, void> testing/gtest/src/gtest.cc:2045
#10 0x2f60c58 in testing::Test::Run() testing/gtest/src/gtest.cc:2061
#11 0x2f62d09 in testing::TestInfo::Run() testing/gtest/src/gtest.cc:2237
#12 0x2f63a96 in testing::TestCase::Run() testing/gtest/src/gtest.cc:2344
#13 0x2f746aa in testing::internal::UnitTestImpl::RunAllTests() testing/gtest/src/gtest.cc:4065
#14 0x2f73ce0 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> testing/gtest/src/gtest.cc:2045
#15 0x2f73ce0 in testing::UnitTest::Run() testing/gtest/src/gtest.cc:3697
#16 0x2ef83ac in RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2231
#17 0x2ef83ac in base::TestSuite::Run() base/test/test_suite.cc:206
#18 0x2eed5b7 in Run base/callback.h:401
#19 0x2eed5b7 in base::(anonymous namespace)::LaunchUnitTestsInternal(int, char**, base::Callback<int ()> const&, int) base/test/launcher/unit_test_launcher.cc:494
#20 0x215e769 in main content/test/run_all_unittests.cc:14
#21 0x7f2ae9ee876c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226
> Save running SW instance info, including its SiteInstance, into the ProcessManager.
>
> We can use this map to drop all the process references on shutdown, in order to
> fix http://crbug.com/368570.
>
> This starts to fix an assumption in the content layer that SiteInstances outlive
> their RPHs so that process permissions can be controlled through the
> SiteInstance instead of by process id. However, there's still work to do before
> that's completely fixed.
>
> BUG=368570
>
> Review URL: https://codereview.chromium.org/292903002
TBR=jyasskin@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=272149
Patch Set 1 #
Messages
Total messages: 2 (0 generated)
|