|
|
DescriptionWorkaround python time.strptime flake in Android tests
In general time.strptime is not threadsafe in python: [1]. This causes
flaky errors on various bots that test Android because catapult [2]
talks to devices from different threads (for multiple reasons).
One observation in the python bug ([1]) says that only importing parts
of strptime is racy, so importing it early enough before any threading
is started would remove this kind of flake.
This workaround is used in other parts of chromium and catapult itself,
so we can probably be more preventive by doing it in a central place.
For now let's just reduce the flake.
[1] time.strptime not thread safe
https://bugs.python.org/issue7980
[2] Catapult is the home for several performance tools that span from
gathering, displaying and analyzing performance data.
https://github.com/catapult-project/catapult
BUG=724524
Review-Url: https://codereview.chromium.org/2891403002
Cr-Commit-Position: refs/heads/master@{#473545}
Committed: https://chromium.googlesource.com/chromium/src/+/bfb763ee9499a5f88993910c2401ac5550e9ac38
Patch Set 1 #
Total comments: 2
Patch Set 2 : revert test_runner.pydeps to where the master is #
Messages
Total messages: 16 (11 generated)
The CQ bit was checked by pasko@chromium.org to run a CQ dry run
Description was changed from ========== Workaround python time.strptime flake in Android tests In general time.strptime is not threadsafe in python: [1]. This causes flaky errors on various bots that test Android because catapult [2] talks to devices from different threads (for multiple reasons). One observation in the python bug ([1]) says that only importing parts of strptime is racy, so importing it early enough before any threading is started would remove this kind of flake. This workaround is used in other parts of chromium and catapult itself, so we can probably be more preventive by doing it in a central place. For now let's just reduce the flake. Also presubmit complained about test_runner pydeps, so I regenerated them with: shell> build/print_python_deps.py --root build/android --output \ build/android/test_runner.pydeps build/android/test_runner.py [1] time.strptime not thread safe https://bugs.python.org/issue7980 [2] Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. https://github.com/catapult-project/catapult BUG=724524 ========== to ========== Workaround python time.strptime flake in Android tests In general time.strptime is not threadsafe in python: [1]. This causes flaky errors on various bots that test Android because catapult [2] talks to devices from different threads (for multiple reasons). One observation in the python bug ([1]) says that only importing parts of strptime is racy, so importing it early enough before any threading is started would remove this kind of flake. This workaround is used in other parts of chromium and catapult itself, so we can probably be more preventive by doing it in a central place. For now let's just reduce the flake. Also presubmit complained about test_runner pydeps, so I regenerated them with: shell> build/print_python_deps.py --root build/android --output \ build/android/test_runner.pydeps build/android/test_runner.py [1] time.strptime not thread safe https://bugs.python.org/issue7980 [2] Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. https://github.com/catapult-project/catapult BUG=724524 ==========
pasko@chromium.org changed reviewers: + jbudorick@chromium.org
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lgtm w/ pydeps changes https://codereview.chromium.org/2891403002/diff/1/build/android/test_runner.p... File build/android/test_runner.pydeps (left): https://codereview.chromium.org/2891403002/diff/1/build/android/test_runner.p... build/android/test_runner.pydeps:117: ../../third_party/jinja2/__init__.py This is wrong & is due to a bug in our importing of these two libraries.. Rebase on https://codereview.chromium.org/2896583003/ & pull this out.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
Description was changed from ========== Workaround python time.strptime flake in Android tests In general time.strptime is not threadsafe in python: [1]. This causes flaky errors on various bots that test Android because catapult [2] talks to devices from different threads (for multiple reasons). One observation in the python bug ([1]) says that only importing parts of strptime is racy, so importing it early enough before any threading is started would remove this kind of flake. This workaround is used in other parts of chromium and catapult itself, so we can probably be more preventive by doing it in a central place. For now let's just reduce the flake. Also presubmit complained about test_runner pydeps, so I regenerated them with: shell> build/print_python_deps.py --root build/android --output \ build/android/test_runner.pydeps build/android/test_runner.py [1] time.strptime not thread safe https://bugs.python.org/issue7980 [2] Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. https://github.com/catapult-project/catapult BUG=724524 ========== to ========== Workaround python time.strptime flake in Android tests In general time.strptime is not threadsafe in python: [1]. This causes flaky errors on various bots that test Android because catapult [2] talks to devices from different threads (for multiple reasons). One observation in the python bug ([1]) says that only importing parts of strptime is racy, so importing it early enough before any threading is started would remove this kind of flake. This workaround is used in other parts of chromium and catapult itself, so we can probably be more preventive by doing it in a central place. For now let's just reduce the flake. [1] time.strptime not thread safe https://bugs.python.org/issue7980 [2] Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. https://github.com/catapult-project/catapult BUG=724524 ==========
thank you for review, John landing.. https://codereview.chromium.org/2891403002/diff/1/build/android/test_runner.p... File build/android/test_runner.pydeps (left): https://codereview.chromium.org/2891403002/diff/1/build/android/test_runner.p... build/android/test_runner.pydeps:117: ../../third_party/jinja2/__init__.py On 2017/05/19 18:04:49, jbudorick wrote: > This is wrong & is due to a bug in our importing of these two libraries.. Rebase > on https://codereview.chromium.org/2896583003/ & pull this out. Done.
The CQ bit was checked by pasko@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jbudorick@chromium.org Link to the patchset: https://codereview.chromium.org/2891403002/#ps20001 (title: "revert test_runner.pydeps to where the master is")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 20001, "attempt_start_ts": 1495445027942770, "parent_rev": "e630002e04d5b0e9436a325f224df82fa694bc26", "commit_rev": "bfb763ee9499a5f88993910c2401ac5550e9ac38"}
Message was sent while issue was closed.
Description was changed from ========== Workaround python time.strptime flake in Android tests In general time.strptime is not threadsafe in python: [1]. This causes flaky errors on various bots that test Android because catapult [2] talks to devices from different threads (for multiple reasons). One observation in the python bug ([1]) says that only importing parts of strptime is racy, so importing it early enough before any threading is started would remove this kind of flake. This workaround is used in other parts of chromium and catapult itself, so we can probably be more preventive by doing it in a central place. For now let's just reduce the flake. [1] time.strptime not thread safe https://bugs.python.org/issue7980 [2] Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. https://github.com/catapult-project/catapult BUG=724524 ========== to ========== Workaround python time.strptime flake in Android tests In general time.strptime is not threadsafe in python: [1]. This causes flaky errors on various bots that test Android because catapult [2] talks to devices from different threads (for multiple reasons). One observation in the python bug ([1]) says that only importing parts of strptime is racy, so importing it early enough before any threading is started would remove this kind of flake. This workaround is used in other parts of chromium and catapult itself, so we can probably be more preventive by doing it in a central place. For now let's just reduce the flake. [1] time.strptime not thread safe https://bugs.python.org/issue7980 [2] Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. https://github.com/catapult-project/catapult BUG=724524 Review-Url: https://codereview.chromium.org/2891403002 Cr-Commit-Position: refs/heads/master@{#473545} Committed: https://chromium.googlesource.com/chromium/src/+/bfb763ee9499a5f88993910c2401... ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as https://chromium.googlesource.com/chromium/src/+/bfb763ee9499a5f88993910c2401... |