Weird Win-ASAN issue with PaymentRequestBrowserTestBase |
||
Issue description
I get this from a local build of the browser tests and I don't think any of my new code has run yet. When I get a chance, I'll try to see if it reproduces on a clean build and let you know here.
In the mean time, EtienneB suggested I file this bug so you can take a look at it. Let me know if you need anything else.
Note: Google Test filter = PaymentRequestShippingAddressEditorTest.AsyncData
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from PaymentRequestShippingAddressEditorTest, where TypeParam =
[ RUN ] PaymentRequestShippingAddressEditorTest.AsyncData
=================================================================
==5792==ERROR: AddressSanitizer: access-violation on unknown address 0x000000000168 (pc 0x7ff7a960c844 bp 0x0043ea4fb2f0 sp 0x0043ea4fb1b0 T0)
==5792==The signal is caused by a READ memory access.
==5792==Hint: address points to the zero page.
==5792==*** WARNING: Failed to initialize DbgHelp! ***
==5792==*** Most likely this means that the app is already ***
==5792==*** using DbgHelp, possibly with incompatible flags. ***
==5792==*** Due to technical reasons, symbolization might crash ***
==5792==*** or produce wrong results. ***
#0 0x7ff7a960c843 in std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::set<const itunes::parser::Track *,std::less<const itunes::parser::Track *>,std::allocator<const itunes::parser::Track *> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::set<const itunes::parser::Track *,std::less<const itunes::parser::Track *>,std::allocator<const itunes::parser::Track *> > > >,0> >::_Lbound<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > D:\src\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\include\xtree:2059
#1 0x7ff7a29c53c4 in std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,TestChromeWebUIControllerFactory::WebUIProvider *,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,TestChromeWebUIControllerFactory::WebUIProvider *> >,0> >::find D:\src\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\include\xtree:1489
#2 0x7ff7a66a37f5 in service_manager::InterfaceRegistry::RemoveInterface d:\src\chromium\src\services\service_manager\public\cpp\lib\interface_registry.cc:152
#3 0x7ff79d01a18e in payments::PaymentRequestBrowserTestBase::SetUpOnMainThread d:\src\chromium\src\chrome\browser\ui\views\payments\payment_request_browsertest_base.cc:86
,
Apr 21 2017
I'm able to repro:
C:\src\chromium\src>out\asan64\browser_tests.exe --gtest_filter=PaymentRequestShippingAddressEditorTest.EnteringValidDataWithDefaultCountry
IMPORTANT DEBUGGING NOTE: each test is run inside its own process.
For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with either
--single_process (to run the test in one launcher/browser process) or
--single-process (to do the above, and also run Chrome in single-process mode).
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = PaymentRequestShippingAddressEditorTest.EnteringValidDataWithDefaultCountry
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from PaymentRequestShippingAddressEditorTest, where TypeParam =
[ RUN ] PaymentRequestShippingAddressEditorTest.EnteringValidDataWithDefaultCountry
=================================================================
==12000==ERROR: AddressSanitizer: access-violation on unknown address 0x000000000168 (pc 0x7ff7674ab1c4 bp 0x00e264d5b550 sp 0x00e264d5b410 T0)
==12000==The signal is caused by a READ memory access.
==12000==Hint: address points to the zero page.
==12000==*** WARNING: Failed to initialize DbgHelp! ***
==12000==*** Most likely this means that the app is already ***
==12000==*** using DbgHelp, possibly with incompatible flags. ***
==12000==*** Due to technical reasons, symbolization might crash ***
==12000==*** or produce wrong results. ***
#0 0x7ff7674ab1c3 in std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::list<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> >,std::allocator<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> > > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::list<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> >,std::allocator<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> > > > > >,0> >::_Lbound<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > c:\src\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\include\xtree:2059
#1 0x7ff76d4d8404 in std::_Tree<std::_Tmap_traits<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<const std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::find c:\src\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\include\xtree:1489
#2 0x7ff76e6b1235 in service_manager::InterfaceRegistry::RemoveInterface C:\src\chromium\src\services\service_manager\public\cpp\lib\interface_registry.cc:152
#3 0x7ff764d4bf7e in payments::PaymentRequestBrowserTestBase::SetUpOnMainThread C:\src\chromium\src\chrome\browser\ui\views\payments\payment_request_browsertest_base.cc:86
#4 0x7ff76a75950e in InProcessBrowserTest::RunTestOnMainThreadLoop C:\src\chromium\src\chrome\test\base\in_process_browser_test.cc:569
#5 0x7ff76ac41dae in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop C:\src\chromium\src\content\public\test\browser_test_base.cc:346
#6 0x7ff76ccf0ab3 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl C:\src\chromium\src\chrome\browser\chrome_browser_main.cc:1915
#7 0x7ff76cced5ef in ChromeBrowserMainParts::PreMainMessageLoopRun C:\src\chromium\src\chrome\browser\chrome_browser_main.cc:1257
#8 0x7ff7663cce21 in content::BrowserMainLoop::PreMainMessageLoopRun C:\src\chromium\src\content\browser\browser_main_loop.cc:1149
#9 0x7ff766f8fdf4 in content::StartupTaskRunner::RunAllTasksNow C:\src\chromium\src\content\browser\startup_task_runner.cc:42
#10 0x7ff7663c7b9e in content::BrowserMainLoop::CreateStartupTasks C:\src\chromium\src\content\browser\browser_main_loop.cc:945
#11 0x7ff7663d601c in content::BrowserMainRunnerImpl::Initialize C:\src\chromium\src\content\browser\browser_main_runner.cc:125
#12 0x7ff7663c092e in content::BrowserMain C:\src\chromium\src\content\browser\browser_main.cc:42
#13 0x7ff76a373b0f in content::ContentMainRunnerImpl::Run C:\src\chromium\src\content\app\content_main_runner.cc:740
#14 0x7ff76e90b7b4 in service_manager::Main C:\src\chromium\src\services\service_manager\embedder\main.cc:179
#15 0x7ff76a3720b0 in content::ContentMain C:\src\chromium\src\content\app\content_main.cc:19
#16 0x7ff76ac4127d in content::BrowserTestBase::SetUp C:\src\chromium\src\content\public\test\browser_test_base.cc:312
#17 0x7ff76a755ce0 in InProcessBrowserTest::SetUp C:\src\chromium\src\chrome\test\base\in_process_browser_test.cc:266
#18 0x7ff76c2eb2e7 in testing::Test::Run C:\src\chromium\src\testing\gtest\src\gtest.cc:2470
#19 0x7ff76c2ecd5c in testing::TestInfo::Run C:\src\chromium\src\testing\gtest\src\gtest.cc:2656
#20 0x7ff76c2edcb0 in testing::TestCase::Run C:\src\chromium\src\testing\gtest\src\gtest.cc:2774
#21 0x7ff76c2fdc9c in testing::internal::UnitTestImpl::RunAllTests C:\src\chromium\src\testing\gtest\src\gtest.cc:4647
#22 0x7ff76c2fd216 in testing::UnitTest::Run C:\src\chromium\src\testing\gtest\src\gtest.cc:4255
#23 0x7ff76a7a6d31 in base::TestSuite::Run C:\src\chromium\src\base\test\test_suite.cc:266
#24 0x7ff776741bb8 in ChromeTestSuiteRunner::RunTestSuite C:\src\chromium\src\chrome\test\base\chrome_test_launcher.cc:62
#25 0x7ff76ac0bc9b in content::LaunchTests C:\src\chromium\src\content\public\test\test_launcher.cc:520
#26 0x7ff776742487 in LaunchChromeTests C:\src\chromium\src\chrome\test\base\chrome_test_launcher.cc:120
#27 0x7ff7767419d9 in main C:\src\chromium\src\chrome\test\base\browser_tests_main.cc:15
#28 0x7ff7796224c8 in __scrt_common_main_seh f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253
#29 0x7ffda8af8101 in BaseThreadInitThunk+0x21 (C:\Windows\system32\KERNEL32.DLL+0x180018101)
#30 0x7ffdab50c5b3 in RtlUserThreadStart+0x33 (C:\Windows\SYSTEM32\ntdll.dll+0x18005c5b3)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: access-violation c:\src\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\include\xtree:2059 in std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::list<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> >,std::allocator<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> > > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::list<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> >,std::allocator<std::unique_ptr<extensions::QuotaLimitHeuristic,std::default_delete<extensions::QuotaLimitHeuristic> > > > > >,0> >::_Lbound<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >
==12000==ABORTING
[1/1] PaymentRequestShippingAddressEditorTest.EnteringValidDataWithDefaultCountry (11546 ms)
1 test failed:
PaymentRequestShippingAddressEditorTest.EnteringValidDataWithDefaultCountry (../../chrome/browser/ui/views/payments/shipping_address_editor_view_controller_browsertest.cc:211)
C:\src\chromium\src>
,
Apr 24 2017
I added a DCHECK to registry, and with an ASAN/Clang build, it's NULL.
> src\chrome\browser\ui\views\payments\payment_request_browsertest_base.cc
content::WebContents* web_contents = GetActiveWebContents();
service_manager::InterfaceRegistry* registry =
web_contents->GetMainFrame()->GetInterfaceRegistry();
ASSERT_TRUE(registry);
But, with a MSVC and a CLANG build, it's not NULL.
Somehow, the CLANG build is breaking the unittest.
,
Apr 24 2017
The CLANG64 build has these TLS:
TLS Callbacks
Address
----------------
0000000141CBA030 ?OnThreadExit@@YAXPEAXK0@Z (void __cdecl OnThreadExit(void *,unsigned long,void *))
000000014265A5C0
0000000000000000
The Clang/ASAN64 build has these TLS:
TLS Callbacks
Address
----------------
00000001474D3BE0
0000000147812810 ?OnThreadExit@@YAXPEAXK0@Z (void __cdecl OnThreadExit(void *,unsigned long,void *))
000000014A086620
0000000000000000
The MSVC build has these TLS:
TLS Callbacks
Address
----------------
0000000141EC38C0 ?OnThreadExit@@YAXPEAXK0@Z (void __cdecl OnThreadExit(void *,unsigned long,void *))
000000014283A860
0000000000000000
At a glance, this is looking good.
,
Jan 10
Archiving P3s older than 1 year with no owner or component. |
||
►
Sign in to add a comment |
||
Comment 1 by etienneb@chromium.org
, Apr 20 2017