Closed Bug 1634603 Opened 2 months ago Closed 1 month ago

|./mach try coverage| hangs

Categories

(Testing :: General, defect, P3)

defect

Tracking

(firefox78 fixed)

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- fixed

People

(Reporter: mhentges, Assigned: gbrown)

References

(Blocks 1 open bug)

Details

(Whiteboard: dev-prod-2020)

Attachments

(1 file)

Reproduce steps:

  1. Checkout central (in my case, d34716786f5b0159ca32bdfbc86fcb6c747618c8)
  2. ./mach build
  3. ./mach try coverage --no-push

The output I got was:

$ ./mach try coverage --no-push
Creating config file /home/mitch/dev/firefox/obj-x86_64-pc-linux-gnu/_tests/web-platform/wptrunner.local.ini
Using config path /home/mitch/dev/firefox/obj-x86_64-pc-linux-gnu/_tests/web-platform/wptrunner.local.ini
Found hg repo
Base rev is d34716786f5b0159ca32bdfbc86fcb6c747618c8
https://hg.mozilla.org/integration/autoland/json-pushes?changeset=94917b4ce0d1733c256260ea4295df61754953b6&version=2&tipsonly=1
https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.autoland.revision.94917b4ce0d1733c256260ea4295df61754953b6.source.manifest-upload
Downloading manifest from https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.autoland.revision.94917b4ce0d1733c256260ea4295df61754953b6.source.manifest-upload/artifacts/public/manifests.tar.gz
https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.autoland.revision.94917b4ce0d1733c256260ea4295df61754953b6.source.manifest-upload/artifacts/public/manifests.tar.gz
Unpacking meta/MANIFEST.json to /home/mitch/dev/firefox/obj-x86_64-pc-linux-gnu/_tests/web-platform/meta/MANIFEST.json
Unpacking mozilla/meta/MANIFEST.json to /home/mitch/dev/firefox/obj-x86_64-pc-linux-gnu/_tests/web-platform/mozilla/meta/MANIFEST.json
Test configuration changed. Regenerating backend.
Priority: -- → P3
Priority: P3 → --
Product: Firefox Build System → Testing
Severity: -- → S4
Priority: -- → P3
Whiteboard: dev-prod-2020

I get:

Exception: Could not find suitable coverage data.

  File "/home/gbrown/src/tools/tryselect/mach_commands.py", line 425, in try_coverage
    return self.run(**kwargs)
  File "/home/gbrown/src/tools/tryselect/mach_commands.py", line 177, in run
    return mod.run(**kwargs)
  File "/home/gbrown/src/tools/tryselect/selectors/coverage.py", line 354, in run
    download_coverage_mapping(vcs.base_ref)
  File "/home/gbrown/src/tools/tryselect/selectors/coverage.py", line 173, in download_coverage_mapping
    raise Exception('Could not find suitable coverage data.')

https://hg.mozilla.org/mozilla-central/rev/aaddafdf5b9116780fd5a7f7366f1ae7534e8871 updated the url to:

https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.releng.services.project.production.code_coverage_bot.{}/artifacts/public/chunk_mapping.tar.xz

In the tc task index browser, I see:
https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.releng.services.project.production.code_coverage_bot.latest/artifacts/public/chunk_mapping.tar.xz

(In reply to Geoff Brown [:gbrown] from comment #1)

In the tc task index browser, I see:
https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.releng.services.project.production.code_coverage_bot.latest/artifacts/public/chunk_mapping.tar.xz

But the live.log associated with that .latest artifact has timestamps from 2020-03-27! And I can't find any revision-specific link that isn't broken (they are all expired). And the push ids returned by hg to 'mach try coverage' do not appear in the index browser for code_coverage_bot.

It looks like something stopped running on March 27.

:marco -- Any insight?

Flags: needinfo?(mcastelluccio)

So https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.relman.code-coverage.production.cron.{REVISION}/artifacts/public/chunk_mapping.tar.xz.

Aha! Thanks much.

With that resolved, I hit this exception:

TypeError: unsupported operand type(s) for +: 'filter' and 'list'

  File "/home/gbrown/src/tools/tryselect/mach_commands.py", line 426, in try_coverage
    return self.run(**kwargs)
  File "/home/gbrown/src/tools/tryselect/mach_commands.py", line 178, in run
    return mod.run(**kwargs)
  File "/home/gbrown/src/tools/tryselect/selectors/coverage.py", line 367, in run
    tasks = filter(is_opt_task, set(tasks_by_path + tasks_by_chunks))

...and then

TypeError: object of type 'filter' has no len()

  File "/home/gbrown/src/tools/tryselect/mach_commands.py", line 426, in try_coverage
    return self.run(**kwargs)
  File "/home/gbrown/src/tools/tryselect/mach_commands.py", line 178, in run
    return mod.run(**kwargs)
  File "/home/gbrown/src/tools/tryselect/selectors/coverage.py", line 378, in run
    task_count=len(tasks),

...easily resolved.

Assignee: nobody → gbrown

Use up-to-date URL for code-coverage information and fix miscellaneous bit-rot.

Pushed by gbrown@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/612019ea551b
[tryselect] Fix 'mach try coverage'; r=marco
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.