Skip to content

Use robustcheckout for pulling

fb84b23
Select commit
Loading
Failed to load commit list.
Draft

Use robustcheckout for pulling #5397

Use robustcheckout for pulling
fb84b23
Select commit
Loading
Failed to load commit list.
Community-TC Integration / bugbug http service tests failed Oct 31, 2025 in 7m 50s

Community-TC (pull_request)

bugbug http service tests

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2025-10-31T17:35:58.307Z
Resolved: 2025-10-31T17:41:20.801Z
Task Execution Time: 5 minutes, 22 seconds, 494 milliseconds
Task Status: failed
Reason Resolved: failed
RunId: 0

Artifacts

- public/logs/live_backing.log
- public/logs/live.log


[taskcluster 2025-10-31T17:35:58.385Z] Worker Type (proj-bugbug/compute-smaller) settings:
[taskcluster 2025-10-31T17:35:58.385Z]   {
[taskcluster 2025-10-31T17:35:58.385Z]     "config": {
[taskcluster 2025-10-31T17:35:58.385Z]       "deploymentId": "7facb6d59910864e"
[taskcluster 2025-10-31T17:35:58.385Z]     },
[taskcluster 2025-10-31T17:35:58.385Z]     "generic-worker": {
[taskcluster 2025-10-31T17:35:58.385Z]       "config": {
[taskcluster 2025-10-31T17:35:58.385Z]         "headlessTasks": false
[taskcluster 2025-10-31T17:35:58.385Z]       },
[taskcluster 2025-10-31T17:35:58.385Z]       "engine": "multiuser",
[taskcluster 2025-10-31T17:35:58.385Z]       "go-arch": "amd64",
[taskcluster 2025-10-31T17:35:58.385Z]       "go-os": "linux",
[taskcluster 2025-10-31T17:35:58.385Z]       "go-version": "go1.25.3",
[taskcluster 2025-10-31T17:35:58.385Z]       "release": "https://github.com/taskcluster/taskcluster/releases/tag/v91.0.2",
[taskcluster 2025-10-31T17:35:58.385Z]       "revision": "06628b37211e56a8bd044bf879260bc792c4fa4a",
[taskcluster 2025-10-31T17:35:58.385Z]       "source": "https://github.com/taskcluster/taskcluster/commits/06628b37211e56a8bd044bf879260bc792c4fa4a",
[taskcluster 2025-10-31T17:35:58.385Z]       "version": "91.0.2"
[taskcluster 2025-10-31T17:35:58.385Z]     },
[taskcluster 2025-10-31T17:35:58.385Z]     "image": "projects/community-tc-workers/global/images/generic-worker-ubuntu-24-04-rcjl3ld8hxf0y3qo2fl3",
[taskcluster 2025-10-31T17:35:58.385Z]     "instance-id": "7893923887655242780",

...(1521 lines hidden)...

                {"test-group2": ["test-linux1804-64/opt"]},
            ),
            # none from label, one from group
            (
                {},
                {"test-group1": 0.9},
                {},
                {"test-group1": ["test-linux1804-64/opt", "test-windows10/debug"]},
            ),
            # two from label, one from group
            (
                {"test-linux1804-64-opt-label1": 0.9, "test-linux1804-64-opt-label2": 0.5},
                {"test-group2": 0.9},
                {"test-linux1804-64-opt-label1": 0.9},
                {"test-group2": ["test-linux1804-64/opt"]},
            ),
            # two redundant from label, one from group
            (
                {"test-linux1804-64/opt": 0.9, "test-windows10/opt": 0.8},
                {"test-group1": 0.9},
                {"test-linux1804-64/opt": 0.9},
                {"test-group1": ["test-linux1804-64/opt", "test-windows10/debug"]},
            ),
        ],
    )
    def test_simple_schedule(
        labels_to_choose: dict[str, float],
        groups_to_choose: dict[str, float],
        reduced_labels: dict[str, float],
        config_groups: dict[str, list[str]],
        mock_hgmo: None,
        mock_repo: tuple[str, str],
        mock_component_taskcluster_artifact: None,
        mock_coverage_mapping_artifact: None,
        mock_schedule_tests_classify: Callable[[dict[str, float], dict[str, float]], None],
    ) -> None:
        # The repo should be almost empty at first
        repo_dir, remote_repo_dir = mock_repo
        with hglib.open(str(repo_dir)) as hg:
            logs = hg.log()
            assert len(logs) == 4
            assert [log.desc.decode("utf-8") for log in logs] == [
                "Base history 3",
                "Base history 2",
                "Base history 1",
                "Base history 0",
            ]
        with hglib.open(str(remote_repo_dir)) as hg:
            rev = hg.log()[0].node.decode("ascii")[:12]
    
        mock_schedule_tests_classify(labels_to_choose, groups_to_choose)
    
        # Scheduling a test on a revision should apply changes in the repo
>       assert models.schedule_tests("mozilla-central", rev) == "OK"
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/bugbug/http_service/tests/test_schedule_tests.py:84: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/bugbug/http_service/bugbug_http/models.py:242: in schedule_tests
    repository.pull(REPO_DIR, branch, rev)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

repo_dir = '/tmp/pytest-of-root/pytest-0/test_simple_schedule_labels_to4/local'
branch = 'mozilla-central', revision = '8fd96958488f'

    def pull(repo_dir: str, branch: str, revision: str) -> None:
        """Pull a revision from a branch of a remote repository into a local repository."""
        cmd = _build_hg_cmd(
            "robustcheckout",
            f"https://hg.mozilla.org/{branch}/".encode("ascii"),
            repo_dir,
            purge=False,
            sharebase=f"{repo_dir}-shared",
            revision=revision.encode("ascii"),
            noupdate=True,
        )
    
        p = subprocess.Popen(cmd, cwd=repo_dir)
    
        try:
            p.wait(timeout=180)
        except subprocess.TimeoutExpired:
            p.terminate()
            p.wait()
            raise
    
        if p.returncode != 0:
>           raise RuntimeError(
                f"Error {p.returncode} when pulling {revision} from {branch}"
            )
E           RuntimeError: Error 255 when pulling 8fd96958488f from mozilla-central

/usr/local/lib/python3.12/site-packages/bugbug/repository.py:1542: RuntimeError
---------------------------- Captured stderr setup -----------------------------
data/coverage_mapping.json.zst: 2 bytes 
----------------------------- Captured stdout call -----------------------------
hg pull [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]...

pull changes from the specified source

options ([+] can be repeated):

 -u --update                update to new branch head if new descendants were
                            pulled
 -f --force                 run even when remote repository is unrelated
    --confirm               confirm pull before applying changes
 -r --rev REV [+]           a remote changeset intended to be added
 -B --bookmark BOOKMARK [+] bookmark to pull
 -b --branch BRANCH [+]     a specific branch you would like to pull
 -e --ssh CMD               specify ssh command to use
    --remotecmd CMD         specify hg command to run on the remote side
    --insecure              do not verify server certificate (ignoring
                            web.cacerts config)

(use 'hg pull -h' to show more help)
----------------------------- Captured stderr call -----------------------------
2025-10-31 17:41:16,399:INFO:root:Processing schedule_tests:mozilla-central_8fd96958488f...
2025-10-31 17:41:16,399:INFO:root:Pulling commits from the remote repository...
hg pull: option --sharebase not recognized
------------------------------ Captured log call -------------------------------
INFO     root:models.py:238 Processing schedule_tests:mozilla-central_8fd96958488f...
INFO     root:models.py:241 Pulling commits from the remote repository...
=============================== warnings summary ===============================
<frozen importlib._bootstrap>:488
  <frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute

<frozen importlib._bootstrap>:488
  <frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute

<frozen importlib._bootstrap>:488
  <frozen importlib._bootstrap>:488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute

http_service/bugbug_http/readthrough_cache.py:73
test_readthrough_cache.py::test_cache_thread
  /bugbug/http_service/bugbug_http/readthrough_cache.py:73: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
    thread.setDaemon(True)

../usr/local/lib/python3.12/site-packages/marshmallow/fields.py:1218
  /usr/local/lib/python3.12/site-packages/marshmallow/fields.py:1218: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'enum': [False]}
    super().__init__(**kwargs)

http_service/bugbug_http/app.py:114
  /bugbug/http_service/bugbug_http/app.py:114: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'enum': ['defectenhancementtask', 'component', 'invalidcompatibilityreport', 'needsdiagnosis', 'regression', 'stepstoreproduce', 'spambug', 'testlabelselect', 'testgroupselect', 'accessibility', 'performancebug', 'worksforme', 'fenixcomponent'], 'example': 'component'}
    model_name = fields.Str(enum=MODELS_NAMES, example="component")

http_service/bugbug_http/app.py:118
  /bugbug/http_service/bugbug_http/app.py:118: RemovedInMarshmallow4Warning: The 'default' argument to fields is deprecated. Use 'dump_default' instead.
    message = fields.Str(default="Error, missing X-API-KEY")

http_service/bugbug_http/app.py:122
  /bugbug/http_service/bugbug_http/app.py:122: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'example': 'autoland'}
    branch = fields.Str(example="autoland")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================ tests coverage ================================
_______________ coverage: platform linux, python 3.12.3-final-0 ________________

Name                                                    Stmts   Miss  Cover
---------------------------------------------------------------------------
http_service/bugbug_http/__init__.py                        4      0   100%
http_service/bugbug_http/app.py                           370     45    88%
http_service/bugbug_http/boot.py                          126    126     0%
http_service/bugbug_http/download_models.py                18     18     0%
http_service/bugbug_http/listener.py                       59     59     0%
http_service/bugbug_http/models.py                        154    102    34%
http_service/bugbug_http/readthrough_cache.py              44      0   100%
http_service/bugbug_http/sentry.py                          7      2    71%
http_service/bugbug_http/worker.py                         20     20     0%
http_service/setup.py                                      10     10     0%
http_service/tests/__init__.py                              0      0   100%
http_service/tests/conftest.py                            236     34    86%
http_service/tests/test_bug_classification.py             115      1    99%
http_service/tests/test_get_config_specific_groups.py      10      0   100%
http_service/tests/test_integration.py                     38     28    26%
http_service/tests/test_push_schedules.py                  24      1    96%
http_service/tests/test_readthrough_cache.py              113      6    95%
http_service/tests/test_schedule_tests.py                  30     13    57%
---------------------------------------------------------------------------
TOTAL                                                    1378    465    66%
=========================== short test summary info ============================
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose0-groups_to_choose0-reduced_labels0-config_groups0] - RuntimeError: Error 255 when pulling 985c248a3f0f from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose1-groups_to_choose1-reduced_labels1-config_groups1] - RuntimeError: Error 255 when pulling 8b10761a72b6 from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose2-groups_to_choose2-reduced_labels2-config_groups2] - RuntimeError: Error 255 when pulling 8ed5d3dad385 from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose3-groups_to_choose3-reduced_labels3-config_groups3] - RuntimeError: Error 255 when pulling e3f691609239 from mozilla-central
FAILED http_service/tests/test_schedule_tests.py::test_simple_schedule[labels_to_choose4-groups_to_choose4-reduced_labels4-config_groups4] - RuntimeError: Error 255 when pulling 8fd96958488f from mozilla-central
================== 5 failed, 17 passed, 9 warnings in 12.22s ===================
[taskcluster 2025-10-31T17:41:19.171Z]                        Exit Code: 1
[taskcluster 2025-10-31T17:41:19.171Z]                        User Time: 326.617ms
[taskcluster 2025-10-31T17:41:19.171Z]                      Kernel Time: 96.477ms
[taskcluster 2025-10-31T17:41:19.171Z]                        Wall Time: 4m39.346943237s
[taskcluster 2025-10-31T17:41:19.171Z]  Average Available System Memory: 5.78 GiB
[taskcluster 2025-10-31T17:41:19.171Z]       Average System Memory Used: 1.98 GiB
[taskcluster 2025-10-31T17:41:19.171Z]          Peak System Memory Used: 3.81 GiB
[taskcluster 2025-10-31T17:41:19.171Z]              Total System Memory: 7.75 GiB
[taskcluster 2025-10-31T17:41:19.171Z]                           Result: FAILED
[taskcluster 2025-10-31T17:41:19.172Z] === Task Finished ===
[taskcluster 2025-10-31T17:41:19.172Z] Task Duration: 4m39.347413572s
[taskcluster 2025-10-31T17:41:20.360Z] Uploading link artifact public/logs/live.log to artifact public/logs/live_backing.log with expiry 2026-10-31T18:33:30.627Z
[taskcluster:error] exit status 1