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

Issue 596652 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
gone, assign your bugs elsewhere :)
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Android Tests is failing all the _apk tests with KeyError for the .jar file

Project Member Reported by esprehn@chromium.org, Mar 21 2016

Issue description

Build is broken:
Instrumentation test android_webview_test_apk
Instrumentation test chrome_public_test_apk
Instrumentation test chrome_sync_shell_test_apk
Instrumentation test content_shell_test_apk

Revision range:
chromium 382309 : 382345

Failing builders:
Android Tests: https://build.chromium.org/p/chromium.linux/builders/Android%20Tests

I    0.005s Main  command: /b/build/slave/Android_Tests/build/src/build/android/test_runner.py instrumentation --test-apk /b/build/slave/Android_Tests/build/src/out/Release/apks/AndroidWebViewTest.apk --blacklist-file /b/build/slave/Android_Tests/build/src/out/bad_devices.json --logcat-output-file /tmp/tmpyRPgEV --apk-under-test /b/build/slave/Android_Tests/build/src/out/Release/apks/AndroidWebView.apk --isolate-file-path android_webview/android_webview_test_apk.isolate --flakiness-dashboard-server test-results.appspot.com --verbose --release --json-results-file /tmp/tmpHFhKKN.json
I    0.005s TimeoutThread-1-for-MainThread  [host]> /b/build/slave/Android_Tests/build/src/third_party/android_tools/sdk/platform-tools/adb devices
I    0.013s Main  _RunInstrumentationTests(Namespace(adb_path=None, additional_apks=[], annotation_str=None, api_address=None, api_key='', api_key_file='', api_port=None, api_protocol=None, api_secret='', api_secret_file='', apk_under_test='/b/build/slave/Android_Tests/build/src/out/Release/apks/AndroidWebView.apk', apk_under_test_incremental_install_script=None, blacklist_file='/b/build/slave/Android_Tests/build/src/out/bad_devices.json', break_on_failure=False, build_directory=None, build_type='Release', collect=None, command='instrumentation', coverage_dir=None, delete_stale_data=False, device_flags='', device_flags_file='', device_oem=None, device_type=None, enable_concurrent_adb=False, enable_device_cache=False, enable_platform_mode=False, environment='local', exclude_annotation_str=None, fast_local_dev=None, flakiness_dashboard_server='test-results.appspot.com', host_driven_root=None, isolate_file_path='android_webview/android_webview_test_apk.isolate', json_results_file='/tmp/tmpHFhKKN.json', logcat_output_dir=None, logcat_output_file='/tmp/tmpyRPgEV', network_config=None, num_retries=2, official_build=False, output_directory=None, remote_device=None, remote_device_file=None, remote_device_minimum_os=None, remote_device_os=None, remote_device_timeout=None, repeat=0, results_path=None, run_java_tests=True, run_python_tests=True, runner_package=None, runner_type=None, save_perf_json=False, screenshot_failures=False, set_asserts=True, skip_clear_data=False, strict_mode='testing', test_apk='/b/build/slave/Android_Tests/build/src/out/Release/apks/AndroidWebViewTest.apk', test_apk_incremental_install_script=None, test_data=[], test_device=None, test_filter=None, test_timeout=None, timeout_scale=None, tool=None, trigger=None, verbose_count=1, wait_for_debugger=False), [<devil.android.device_utils.DeviceUtils object at 0x2cc3a90>, <devil.android.device_utils.DeviceUtils object at 0x2cc3ad0>, <devil.android.device_utils.DeviceUtils object at 0x2cc3b10>, <devil.android.device_utils.DeviceUtils object at 0x2cc3b50>])
I    0.014s Main  [host]> /b/build/slave/Android_Tests/build/src/third_party/android_tools/sdk/build-tools/23.0.1/aapt dump xmltree /b/build/slave/Android_Tests/build/src/out/Release/apks/AndroidWebViewTest.apk AndroidManifest.xml
I    0.020s Main  Retrieving test methods via proguard.
I    0.020s Main  [host]> java -jar /b/build/slave/Android_Tests/build/src/third_party/proguard/lib/proguard.jar -injars /b/build/slave/Android_Tests/build/src/out/Release/test.lib.java/AndroidWebViewTest.jar -dontshrink -dontoptimize -dontobfuscate -dontpreverify -dump /tmp/tmpqSw_je
I    6.424s Main  Storing proguard output to /b/build/slave/Android_Tests/build/src/out/Release/test.lib.java/AndroidWebViewTest.jar-proguard.pickle
I    6.424s Main  [host]> /b/build/slave/Android_Tests/build/src/out/Release/md5sum_bin_host /b/build/slave/Android_Tests/build/src/out/Release/test.lib.java/AndroidWebViewTest.jar
C    6.427s Main  /b/build/slave/Android_Tests/build/src/out/Release/md5sum_bin_host: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /b/build/slave/Android_Tests/build/src/out/Release/md5sum_bin_host)

E    6.428s Main  Unrecognized error occurred.
Traceback (most recent call last):
  File "/b/build/slave/Android_Tests/build/src/build/android/test_runner.py", line 1138, in main
    return RunTestsCommand(args)
  File "/b/build/slave/Android_Tests/build/src/build/android/test_runner.py", line 996, in RunTestsCommand
    return _RunInstrumentationTests(args, get_devices())
  File "/b/build/slave/Android_Tests/build/src/build/android/test_runner.py", line 758, in _RunInstrumentationTests
    instrumentation_options, devices)
  File "/b/build/slave/Android_Tests/build/src/build/android/pylib/instrumentation/setup.py", line 87, in Setup
    test_options.apk_under_test_incremental_install_script)
  File "/b/build/slave/Android_Tests/build/src/build/android/pylib/instrumentation/test_package.py", line 19, in __init__
    test_jar.TestJar.__init__(self, jar_path)
  File "/b/build/slave/Android_Tests/build/src/build/android/pylib/instrumentation/test_jar.py", line 55, in __init__
    self._GetProguardData()
  File "/b/build/slave/Android_Tests/build/src/build/android/pylib/instrumentation/test_jar.py", line 109, in _GetProguardData
    self._jar_path)[os.path.realpath(self._jar_path)]}
KeyError: '/b/build/slave/Android_Tests/build/src/out/Release/test.lib.java/AndroidWebViewTest.jar'

 
Cc: catapult-sheriff@chromium.org
I think this might have been the catapult roll.

https://chromium.googlesource.com/chromium/src/+/139d8157a26cc20d7db0a60403f92dbad94ea12d

catapult-sheriff@ please triage.
The catapult roll just had two small UI changes to chrome://tracing https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/fb4c2a152cb1..d0a3d014c31f

I can't think of a way it would have caused this error.
Cc: dpranke@chromium.org stip@chromium.org
Yeah this looks like bot setup failure:

C    6.427s Main  /b/build/slave/Android_Tests/build/src/out/Release/md5sum_bin_host: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /b/build/slave/Android_Tests/build/src/out/Release/md5sum_bin_host)

GLIBCXX_3.4.18 is missing, which means the sysimage is busted?
Owner: stip@chromium.org
Labels: -Pri-2 Pri-0
I'm not really sure why this was P2. The Android Tests bot is currently busted on the main waterfall.

Comment 6 by hinoka@chromium.org, Mar 22 2016

Labels: Infra-Labs
So the setup of those builders is that Android Builder builds the binary (vm870-m1) and the Tester runs it.

The Tester is running on precise. It's already at the latest version of libstdc++ (3.4.16)
chrome-bot@chromeperf72:/var/log$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_DEBUG_MESSAGE_LENGTH
chrome-bot@chromeperf72:/var/log$ sudo apt-get install libstdc++6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libstdc++6 is already the newest version.
The following packages were automatically installed and are no longer required:
  ruby-rgen libkms1
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 511 not upgraded.

The builder is on Trusty, and according to /var/logs/dpkg.log just got and apt-get update (or upgraded) last night
2016-03-21 11:12:06 upgrade libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04 4.8.4-2ubuntu1~14.04.1
2016-03-21 11:12:06 status half-configured libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04
2016-03-21 11:12:06 status unpacked libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04
2016-03-21 11:12:06 status half-installed libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04
2016-03-21 11:12:06 status half-installed libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04
2016-03-21 11:12:06 status unpacked libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04.1
2016-03-21 11:12:06 status unpacked libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04.1


@ Infra labs: So apparently randomly running "apt-get upgrade" on machines could cause random build failures :).  (But the real issue here I think is that the Builder and Tester are on different distributions, and linux binaries depends a lot on system runtime libraries)

In the meantime, is there a way to force md5sum_bin to link against an earlier version of the library when building?

Comment 7 by pschm...@google.com, Mar 22 2016

vm870-m1 was updated to trusty.   See https://bugs.chromium.org/p/chromium/issues/detail?id=595464   

chromeperf72 will not be upgraded anytime soon so let me revet vm870-m1 back to precise?
Cc: primiano@chromium.org

Comment 9 by stip@chromium.org, Mar 22 2016

pschmidt: why can't we upgrade chromeperf72? It's not an actual perf machine, that's a legacy hostname. I'd prefer to upgrade both chromeperf72 and vm870-m1 simultaneously if possible.
We have purposely never set up trusty kickstart in the old perf lab as an incentive to get out of there.

We would have to set up a replacement host in the old a-lab (not ideal as we are getting out of that too) or a new host in the new b-lab (that takes too much coordination these days).

If this is a P0 then the quickest fix is to revert vm870-m1 back to precise.
vm870-m1 is back up on precise.
Project Member

Comment 12 by sheriffbot@chromium.org, Apr 22 2016

Pri-0 bugs are critical regressions or serious emergencies, and this bug has not been updated in three days. Could you please provide an update, or adjust the priority to a more appropriate level if applicable?

If a fix is in active development, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Pri-0 Pri-2
Components: Infra>Labs
Labels: -Infra-Labs
Status: Assigned (was: Available)
There's an owner on this bug but the status != Assigned. Fixing. If you feel you don't own this bug, please remove yourself as the owner and mark it as "Available" or "Untriaged".

Comment 16 by stip@chromium.org, Jul 27 2016

Status: Fixed (was: Assigned)
I believe we can close this, as chromeperf72 has been retired.

Sign in to add a comment