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

Issue 728594 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 0
Type: Bug

Blocking:
issue 728576
issue 729231



Sign in to add a comment

Bisect - All bots failing with with uncaught exception

Project Member Reported by perezju@chromium.org, Jun 1 2017

Issue description

Latest builds in this bot, e.g.:
https://build.chromium.org/p/tryserver.chromium.perf/builders/mac_retina_perf_bisect/builds/2263

Are failing with:
Traceback (most recent call last):
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/run.py", line 325, in _new_run
    recipe_result = recipe_script.run(api, properties)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/loader.py", line 98, in run
    self.run_steps, properties, self.PROPERTIES, api=api)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/loader.py", line 635, in invoke_with_properties
    **additional_args)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/loader.py", line 596, in _invoke_with_properties
    return callable_obj(*props, **additional_args)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipes/bisection/desktop_bisect.py", line 39, in RunSteps
    do_not_nest_wait_for_revision=True)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/recipe_api.py", line 618, in _inner
    return func(*a, **kw)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipe_modules/auto_bisect/api.py", line 384, in start_try_job
    local_bisect.perform_bisect(self, **flags)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipe_modules/auto_bisect/local_bisect.py", line 17, in perform_bisect
    _perform_single_bisect(api, bisect_attempts, **flags)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipe_modules/auto_bisect/local_bisect.py", line 59, in _perform_single_bisect
    bisector = api.create_bisector(bisect_config, **flags)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/recipe_api.py", line 618, in _inner
    return func(*a, **kw)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipe_modules/auto_bisect/api.py", line 94, in create_bisector
    init_revisions=not dummy_mode, **flags)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipe_modules/auto_bisect/bisector.py", line 111, in __init__
    bad_hash = self._get_hash(bisect_config['bad_revision'])
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipe_modules/auto_bisect/bisector.py", line 152, in _get_hash
    step_test_data=lambda: self.api._test_data['hash_cp_map'][rev])
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/.recipe_deps/recipe_engine/recipe_engine/recipe_api.py", line 618, in _inner
    return func(*a, **kw)
  File "/b/rr/tmpcpWRnM/rw/checkout/scripts/slave/recipe_modules/crrev/api.py", line 41, in to_commit_hash
    return result['git_sha']
TypeError: 'NoneType' object has no attribute '__getitem__'
https://luci-logdog.appspot.com/v/?s=chrome%2Fbb%2Ftryserver.chromium.perf%2Fmac_retina_perf_bisect%2F2263%2F%2B%2Frecipes%2Fsteps%2FUncaught_Exception%2F0%2Flogs%2Fexception%2F0

+Simon, can you triage?
 
Cc: dtu@chromium.org sullivan@chromium.org
Components: Speed>Bisection
Labels: -Pri-3 OS-All Pri-0
Oh wow, all the bisect bots are failing with this.

https://build.chromium.org/p/tryserver.chromium.perf/builders/
Owner: simonhatch@chromium.org
Status: Started (was: Untriaged)
Labels: Infra-Troopers Hotlist-Infra-Troopers
Cc: phajdan.jr@chromium.org d...@chromium.org
https://chromium-review.googlesource.com/c/518263/ seems like likely candidate
Summary: Bisect - All bots failing with with uncaught exception (was: mac_retina_perf_bisect failing with uncaught exception)
Reverted the CL from #4. Root cause: added "runit.py --show-path" wrapper prints "Set PYTHONPATH: ..." string into the stdout breaking scripts that were previously writing valid JSON to stdout. Since JSON is now invalid, recipes parsing it started to fail.
IMHO, the correct solution for this would be not to pass "--show-path" to runit.py.
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/e3e943e9574ec2cd724620cb9a2b0cd423a9437a

commit e3e943e9574ec2cd724620cb9a2b0cd423a9437a
Author: Sergiy Byelozyorov <sergiyb@chromium.org>
Date: Thu Jun 01 14:59:04 2017

Revert "[recipes] Run more local tools through "runit.py"."

This reverts commit a9d0f0466408758ed1823f69f792d57a3902ee93.

Reason for revert: Broke bisect builds since added "runit.py --show-path" wrapper
prints "Set PYTHONPATH..." text into the stdout and causes scripts that previously writing
valid JSON to produce invalid JSON. This in turn broke recipes that tried to parse it. See
 http://crbug.com/728594  for more details.

Original change's description:
> [recipes] Run more local tools through "runit.py".
> 
> Some tools were missed during previous bootstrapping sweeps. Ensure that
> tools expecting the "tools/build" PYTHONPATH environment are properly
> bootstrapped through "runit.py".
> 
> TBR=phajdan.jr@chromium.org
> BUG=chromium:727659
> TEST=expectations
> 
> Change-Id: I5ca204457b53e1df7059f90dd1190e2ca1f0b6a4
> Reviewed-on: https://chromium-review.googlesource.com/518263
> Reviewed-by: Daniel Jacques <dnj@chromium.org>
> Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Daniel Jacques <dnj@chromium.org>
> 

TBR=phajdan.jr@chromium.org,dnj@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:727659, chromium:728594 

Change-Id: I74a68acf1a1047fa55f5a5e6695d329797c53e80
Reviewed-on: https://chromium-review.googlesource.com/520946
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>

[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_resource_sizes_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux_ASAN_mipsel___debug_builder.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/v8_roll_bisect_bis.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/chromium_libfuzzer.expected/full_chromium_fyi_Libfuzzer_Upload_Linux_MSan.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_svn_with_git.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_component.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/return_code.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/api.py
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux64_ASAN_no_inline___release_builder.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/basic_buildbot_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_bisect_other_direction.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_linux_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/return_code_fail.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/chromium_libfuzzer.expected/full_chromium_fyi_Libfuzzer_Upload_Mac_ASan.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/basic_mac_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/basic_resource_sizes_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/return_code_fail.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/chromium_libfuzzer.expected/full_chromium_fyi_Libfuzzer_Upload_Linux_UBSan.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_mac.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/failed_buildbucket_get.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/chromium_afl.expected/full_chromium_fyi_Afl_Upload_Linux_ASan.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/crrev/__init__.py
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/failed_build_inconclusive_11.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux_ASAN_arm___debug_builder.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/crrev/api.py
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/v8_roll_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/no_values.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/crrev/example.expected/valid_commit_position.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/v8_roll_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_component_svn_with_git.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/bisection/android_bisect.expected/local_basic_recipe_failed_device.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/failed_build_inconclusive_1.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/no_repro.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/crrev/example.expected/valid_hash.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/crrev/example.expected/empty_commit_position_output.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/gathering_references_no_values.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/gathering_references_no_values.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_win.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/retest_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_mac_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/basic_win64_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/chromium_libfuzzer.expected/full_chromium_fyi_Libfuzzer_Upload_Linux_ASan.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/basic_linux_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/no_repro.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux_MSAN_no_origins.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_no_llvm.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/crrev/example.expected/empty_commit_hash_output.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_win32_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/return_code.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/bisection/android_bisect.expected/local_basic_recipe_disconnected_device.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/failed_build_inconclusive_11.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/bisection/android_bisect_staging.expected/local_basic_recipe_disconnected_device.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/failed_build.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/chromium_libfuzzer.expected/full_chromium_fyi_Libfuzzer_Upload_Linux_ASan_Debug.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux64___release_builder.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/retest_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/failed_build.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/bisection/android_bisect_staging.expected/local_basic_recipe_failed_device.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_svn_no_git.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux64_ASAN_arm64___debug_builder.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/no_values.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/basic_win32_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/v8_roll_bisect_bis.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/failed_build_inconclusive_1.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/failed_buildbucket_get.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux64___debug_builder.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect_staging/example.expected/basic_bisect_other_direction.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/bisection/android_bisect_staging.expected/local_basic_recipe_basic_device.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/bisection/android_bisect.expected/local_basic_recipe_basic_device.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/archive/example.expected/cf_archiving_linux.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux64_ASAN___debug_builder.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_win64_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/crrev/example.expected/no_numberings.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/chromium_tests/tests/api/archive_build.expected/cf_archive_build.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_buildbot_bisect.json
[modify] https://crrev.com/e3e943e9574ec2cd724620cb9a2b0cd423a9437a/scripts/slave/recipes/v8.expected/full_client_v8_fyi_V8_Linux_MSAN_chained_origins.json

Kicked off a test bisect, will see if this gets passed expanding the range.
Status: Fixed (was: Started)
That bisect passed the revision expansion step, so this is fixed. Thanks Sergiy!

Comment 12 by d...@chromium.org, Jun 1 2017

Wow ... so "crrev" client writing JSON to STDOUT is pretty bad. I'll patch that up and re-land the runit patch.

=== BISECT JOB RESULTS ===
NO Perf regression found

Bisect Details
  Configuration: mac_pro_perf_bisect
  Benchmark    : dummy_benchmark.stable_benchmark_1
  Metric       : gaussian-value/gaussian-value

Revision             Result                  N
chromium@475875      167.849 +- 3.75219      21      good
chromium@475960      168.134 +- 3.5275       21      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests dummy_benchmark.stable_benchmark_1

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8977978727812866080

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5842282831413248


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Speed>Bisection.  Thank you!
Do we have to manually kick-off all of those failed bisects?
Unfortunately yes, I can go do that.

=== BISECT JOB RESULTS ===
NO Perf regression found

Bisect Details
  Configuration: mac_pro_perf_bisect
  Benchmark    : dummy_benchmark.stable_benchmark_1
  Metric       : gaussian-value/gaussian-value

Revision             Result                  N
chromium@475875      167.696 +- 5.2232       21      good
chromium@475960      168.015 +- 4.09498      21      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests dummy_benchmark.stable_benchmark_1

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8977974485768128976

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5842282831413248


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Speed>Bisection.  Thank you!
Blocking: 729231

Sign in to add a comment