New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 838549 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

SourceUrlRecorderWebContentsObserverBrowserTest.IgnoreUrlInSubframe failing on android asan

Project Member Reported by thakis@chromium.org, May 1 2018

Issue description

Started somewhere between https://luci-milo.appspot.com/buildbot/chromium.clang/ToTAndroidASan/704 and 
https://luci-milo.appspot.com/buildbot/chromium.clang/ToTAndroidASan/741

stdout looks fairly useless:

I  242.470s run_tests_on_device(073141810069b922)  Note: Google Test filter = SourceUrlRecorderWebContentsObserverBrowserTest.IgnoreUrlInSubframe
I  242.470s run_tests_on_device(073141810069b922)  [==========] Running 1 test from 1 test case.
I  242.470s run_tests_on_device(073141810069b922)  [----------] Global test environment set-up.
I  242.470s run_tests_on_device(073141810069b922)  [----------] 1 test from SourceUrlRecorderWebContentsObserverBrowserTest, where TypeParam = 
I  242.470s run_tests_on_device(073141810069b922)  [ RUN      ] SourceUrlRecorderWebContentsObserverBrowserTest.IgnoreUrlInSubframe
I  242.470s run_tests_on_device(073141810069b922)  [WARNING:dns_config_service_posix.cc(351)] Failed to read DnsConfig.
I  242.470s run_tests_on_device(073141810069b922)  [ERROR:devtools_http_handler.cc(292)] Cannot start http server for devtools. Stop devtools.
I  242.470s run_tests_on_device(073141810069b922)  [WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file assets/snapshot_blob_64.bin
I  242.470s run_tests_on_device(073141810069b922)  [WARNING:simple_synchronous_entry.cc(1255)] Could not open platform files for entry.
I  242.470s run_tests_on_device(073141810069b922)  BrowserTestBase received signal: Segmentation fault. Backtrace:
I  281.600s run_tests_on_device(02d15ce0f0c9d6fb)  Still working on StartInstrumentation(02d15ce0f0c9d6fb, org.chromium.components_browsertests_apk/org.chromium.native_test.NativeTestInstrumentationTestRunner, retries=0, extras={'org.chromium.native_test.NativeTestInstrumentationTestRunner.ShardSizeLimit': 1, 'org.chromium.native_test.NativeTestInstrumentationTestRunner.ShardNanoTimeout': 120000000000, 'org.chromium.native_test.NativeTestInstrumentationTestRunner.NativeTestActivity': 'org.chromium.components_browsertests_apk.ComponentsBrowserTestsActivity', 'org.chromium.native_test.NativeTestInstrumentationTestRunner.TestList': '/data/local/tmp/temp_file-bfd66c68fa3e7', 'org.chromium.native_test.NativeTestInstrumentationTestRunner.StdoutFile': '/storage/emulated/legacy/temp_file-1b7a04dfc517a.gtest_out'}, timeout=24000.0, raw=False)
I  341.675s run_tests_on_device(02d15ce0f0c9d6fb)  Still working on StartInstrumentation(02d15ce0f0c9d6fb, org.chromium.components_browsertests_apk/org.chromium.native_test.NativeTestInstrumentationTestRunner, retries=0, extras={'org.chromium.native_test.NativeTestInstrumentationTestRunner.ShardSizeLimit': 1, 'org.chromium.native_test.NativeTestInstrumentationTestRunner.ShardNanoTimeout': 120000000000, 'org.chromium.native_test.NativeTestInstrumentationTestRunner.NativeTestActivity': 'org.chromium.components_browsertests_apk.ComponentsBrowserTestsActivity', 'org.chromium.native_test.NativeTestInstrumentationTestRunner.TestList': '/data/local/tmp/temp_file-bfd66c68fa3e7', 'org.chromium.native_test.NativeTestInstrumentationTestRunner.StdoutFile': '/storage/emulated/legacy/temp_file-1b7a04dfc517a.gtest_out'}, timeout=24000.0, raw=False)
I  355.294s TimeoutThread-1-for-run_tests_on_device(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb pull /data/local/tmp/temp_file-435898ccf120b /tmp/tmpV3nZVB/tmp_ReadFileWithPull
I  355.297s TimeoutThread-1-for-delete_temporary_file(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell 'rm -f /data/local/tmp/temp_file-ab73373cea41d.sh'
I  355.390s TimeoutThread-1-for-delete_temporary_file(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell 'rm -f /data/local/tmp/temp_file-435898ccf120b'
I  355.395s TimeoutThread-1-for-run_tests_on_device(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell '( TZ=utc ls -a -l /storage/emulated/legacy/ );echo %$?'
I  355.459s run_tests_on_device(02d15ce0f0c9d6fb)  /storage/emulated/legacy/temp_file-1b7a04dfc517a.gtest_out size on device: 11772
I  355.459s TimeoutThread-1-for-run_tests_on_device(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell '( TZ=utc ls -a -l /storage/emulated/legacy/ );echo %$?'
I  355.513s TimeoutThread-1-for-run_tests_on_device(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell '( cat /storage/emulated/legacy/temp_file-1b7a04dfc517a.gtest_out );echo %$?'
I  355.593s TimeoutThread-1-for-delete_temporary_file(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell 'rm -f /data/local/tmp/temp_file-bfd66c68fa3e7'
I  355.594s TimeoutThread-1-for-delete_temporary_file(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell 'rm -f /storage/emulated/legacy/temp_file-1b7a04dfc517a.gtest_out'
I  355.811s run_tests_on_device(02d15ce0f0c9d6fb)  Logcat saved to https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.clang%2FToTAndroidASan%2F741%2F%2B%2Flogcat_logcat_8414797525525637131_20180424T062700-UTC_02d15ce0f0c9d6fb
I  355.813s TimeoutThread-1-for-run_tests_on_device(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell '( pm clear org.chromium.components_browsertests_apk );echo %$?'
I  355.813s archive  Writing text to logdog stream, logcat_logcat_8414797525525637131_20180424T062700-UTC_02d15ce0f0c9d6fb
I  355.814s TimeoutThread-1-for-delete_temporary_file(02d15ce0f0c9d6fb)  [host]> /b/c/b/ToTAndroidASan/src/third_party/android_tools/sdk/platform-tools/adb -s 02d15ce0f0c9d6fb shell 'rm -f /data/data/org.chromium.components_browsertests_apk/temp_file-a5f8b3ecbfd83.xml'
I  356.815s run_tests_on_device(02d15ce0f0c9d6fb)  [INFO:test_support_android.cc(189)] MessagePumpForUIFactory already set, unable to override.
I  356.815s run_tests_on_device(02d15ce0f0c9d6fb)  >>ScopedMainEntryLogger



If investigation takes a while, please disable the test on android asan.
 
Cc: rkaplow@chromium.org holte@chromium.org
Labels: -Pri-3 Pri-1
This is concerning - will try to look a bit tomorrow.
Unfortunately I didn't get a chance to look at it today - and I'm OOO until Tuesday :\ If someone wants to look at it that would be ideal.
Sure, I'll try to take a look tomorrow.
I've started debugging this.

Steps:
1. configure your gn build env for asan. Here's mine:
is_component_build = true
is_debug = false
enable_nacl = false
use_goma = true
target_os = "android"
remove_webcore_debug_symbols = true
is_clang=true
is_asan=true

2. build the test target

3. run the target:
./out/Release/bin/run_components_browsertests --gtest-filter SourceUrlRecorderWebContentsObserverBrowserTest.IgnoreUrlInSubframe

This seemed to get things at least part way working, but I can't actually get the test to run.

There are some ASAN Android instructions here but I can't get them to work:
https://www.chromium.org/developers/testing/addresssanitizer#TOC-Building-on-Android
Wasn't able to make additional headway on this. I'm using a Pixel C - it may be that this device isn't supported for ASAN. I found docs indicating only some devices are supported, but couldn't find a list of supported devices anywhere.

It's worth noting that many components_browsertests are failing. Here is the list of failing tests:

DistillerPageWebContentsTest.BasicDistillationWorks
DistillerPageWebContentsTest.HandlesRelativeImages
DistillerPageWebContentsTest.HandlesRelativeLinks
DistillerPageWebContentsTest.HandlesRelativeVideos
DistillerPageWebContentsTest.MarkupInfo
DistillerPageWebContentsTest.PageDestroyedBeforeFinishDistillation
DistillerPageWebContentsTest.TestPinch
DistillerPageWebContentsTest.UsingCurrentWebContentsNoMainFrameObserver
DistillerPageWebContentsTest.UsingCurrentWebContentsNotFinishedLoadingYet
DistillerPageWebContentsTest.UsingCurrentWebContentsReadyForDistillation
DistillerPageWebContentsTest.UsingCurrentWebContentsWrongUrl
DistillerPageWebContentsTest.VisibilityDetection
DomDistillerDistillablePageUtilsTest.TestIsDistillablePage
DomDistillerDistillablePageUtilsTest.TestIsNotDistillablePage
DomDistillerJsTest.RunJsTests
PageRenovatorBrowserTest.CorrectRenovationsRun
PageRenovatorBrowserTest.WikipediaRenovationRuns
SecurityStateContentUtilsBrowserTest.VisibleSecurityStateInsecureFieldEdit
SecurityStateContentUtilsBrowserTest.VisibleSecurityStateNonsecureFormInputs
SourceUrlRecorderWebContentsObserverBrowserTest.Basic
SourceUrlRecorderWebContentsObserverBrowserTest.IgnoreUrlInSubframe
SourceUrlRecorderWebContentsObserverDownloadBrowserTest.IgnoreDownload

All 3 of our SourceUrlRecorderWebContentsObserverBrowserTests are failing.

There are only 106 tests in components_browsertests, and 22 of 106 are failing. This suggests to me there is some more general issue with running these tests under asan on Android.
I'm starting to think that the failing tests are all just trying to bring up a WebContents & that this must not be supported under asan on android. Need to investigate a bit more to confirm.
Cc: thakis@chromium.org
I'm trying to get these tests running via swarming but it's been quite a battle so far.

I've already spent 4 hours on this bug. Will spend another hour then need to unassign and we can see if someone else has time to dig in, as I don't have unbounded cycles to figure out how to get android asan tests running, unfortunately.
Is there someone who's familiar with ASAN that can help?

From the test output it says:

"I  384.833s run_tests_on_device(0693cc46003be734)  BrowserTestBase received signal: Segmentation fault. Backtrace:"

And then there's no backtrace printed. This seems like a problem with the asan set up - who's the right person who knows about how that's set up and why we wouldn't be getting a backtrace?

https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.clang%2FToTAndroidASan%2F741%2F%2B%2Frecipes%2Fsteps%2Fcomponents_browsertests%2F0%2Fstdout
Cc: primiano@chromium.org dpranke@chromium.org yfried...@chromium.org p...@chromium.org agrieve@chromium.org kcc@chromium.org ssid@chromium.org
The relevant code that prints that appears to be here:

https://cs.chromium.org/chromium/src/content/public/test/browser_test_base.cc?rcl=031ce0cfb80857b42aa43a3624176003399a15de&l=86

So it seems the following give no output:

   logging::RawLog(logging::LOG_ERROR, message.c_str());
   base::debug::StackTrace().Print();

Adding some folks who *may* know something about ASAN on Android? (I don't know who the right folks here are so adding a bunch of different people who may have insight.)
It sounds like there is indeed a more general test infrastructure here, which is being tracked in  bug 841536 . Let's watch that bug to see if resolving it also resolves this issue.

thakis, I think the best path forward for getting this and other related tests fixed is to find an owner for the more general  issue 841536 .

Sign in to add a comment