Source: q2cli Version: 2021.8.0-2 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20220716 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > debian/rules binary > dh binary --with python3 --buildsystem=pybuild > dh_update_autotools_config -O--buildsystem=pybuild > dh_autoreconf -O--buildsystem=pybuild > dh_auto_configure -O--buildsystem=pybuild > I: pybuild base:239: python3.10 setup.py config > running config > dh_auto_build -O--buildsystem=pybuild > I: pybuild base:239: /usr/bin/python3 setup.py build > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli > copying q2cli/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli > copying q2cli/util.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli > copying q2cli/__main__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli > copying q2cli/commands.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli > copying q2cli/_version.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/builtin > copying q2cli/builtin/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/builtin > copying q2cli/builtin/tools.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/builtin > copying q2cli/builtin/dev.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/builtin > copying q2cli/builtin/info.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/builtin > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/click > copying q2cli/click/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/click > copying q2cli/click/parser.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/click > copying q2cli/click/option.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/click > copying q2cli/click/type.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/click > copying q2cli/click/command.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/click > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/tests > copying q2cli/tests/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/tests > copying q2cli/tests/test_cli.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/tests > copying q2cli/tests/test_dev.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/tests > copying q2cli/tests/test_usage.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/tests > copying q2cli/tests/test_core.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/tests > copying q2cli/tests/test_tools.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/tests > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/core > copying q2cli/core/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/core > copying q2cli/core/usage.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/core > copying q2cli/core/cache.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/core > copying q2cli/core/config.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/core > copying q2cli/core/completion.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/core > running egg_info > creating q2cli.egg-info > writing q2cli.egg-info/PKG-INFO > writing dependency_links to q2cli.egg-info/dependency_links.txt > writing entry points to q2cli.egg-info/entry_points.txt > writing top-level names to q2cli.egg-info/top_level.txt > writing manifest file 'q2cli.egg-info/SOURCES.txt' > reading manifest file 'q2cli.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > adding license file 'LICENSE' > writing manifest file 'q2cli.egg-info/SOURCES.txt' > UPDATING /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/_version.py > set /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/q2cli/_version.py to > '2021.8.0' > running build_scripts > creating build > creating build/scripts-3.10 > copying bin/tab-qiime -> build/scripts-3.10 > changing mode of build/scripts-3.10/tab-qiime from 644 to 755 > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:239: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build; > python3.10 -m pytest > ============================= test session starts > ============================== > platform linux -- Python 3.10.5, pytest-7.1.2, pluggy-1.0.0 > rootdir: /<<PKGBUILDDIR>> > collected 119 items > > q2cli/tests/test_cli.py ........................................... [ > 36%] > q2cli/tests/test_core.py ............ [ > 46%] > q2cli/tests/test_dev.py .... [ > 49%] > q2cli/tests/test_tools.py .............................................. [ > 88%] > ........ [ > 94%] > q2cli/tests/test_usage.py FFFFFF > [100%] > > =================================== FAILURES > =================================== > _ test_examples[concatenate_ints-# ### example: concatenate ints simple > ###\n# This example demonstrates basic usage.\nqiime dummy-plugin > concatenate-ints \\\n --i-ints1 ints_a.qza \\\n --i-ints2 ints_b.qza > \\\n --i-ints3 ints_c.qza \\\n --p-int1 4 \\\n --p-int2 2 \\\n > --o-concatenated-ints ints_d.qza\n# ### example: concatenate ints complex > ###\n# This example demonstrates chained usage (pt 1).\nqiime dummy-plugin > concatenate-ints \\\n --i-ints1 ints_a.qza \\\n --i-ints2 ints_b.qza > \\\n --i-ints3 ints_c.qza \\\n --p-int1 4 \\\n --p-int2 2 \\\n > --o-concatenated-ints ints_d.qza\n# This example demonstrates chained usage > (pt 2).\nqiime dummy-plugin concatenate-ints \\\n --i-ints1 ints_d.qza > \\\n --i-ints2 ints_b.qza \\\n --i-ints3 ints_c.qza \\\n --p-int1 41 > \\\n --p-int2 0 \\\n --o-concatenated-ints concatenated_ints.qza\n# ### > example: comments only ###\n# comment 1\n# comment 2\n# ### example: comments > only factory ###\n# comment 1\n# comment 2] _ > > dummy_plugin = <qiime2.plugin.plugin.Plugin object at 0x7fd503d719c0> > action = <method qiime2.plugins.dummy_plugin.methods.concatenate_ints> > exp = '# ### example: concatenate ints simple ###\n# This example > demonstrates basic usage.\nqiime dummy-plugin concatenate-...ample: comments > only ###\n# comment 1\n# comment 2\n# ### example: comments only factory > ###\n# comment 1\n# comment 2' > > @pytest.mark.parametrize('action, exp', params) > def test_examples(dummy_plugin, action, exp): > action = dummy_plugin.actions[action] > result = list(examples(action)) > > assert exp == '\n'.join(result) > E AssertionError: assert '# ### exampl...\n# comment 2' == '# ### > exampl...y factory ###' > E Skipping 35 identical leading characters in diff, use -v to show > E ple ### > E + # This example demonstrates basic usage. > E + qiime dummy-plugin concatenate-ints \ > E + --i-ints1 ints_a.qza \ > E + --i-ints2 ints_b.qza \ > E + --i-ints3 ints_c.qza \... > E > E ...Full output truncated (29 lines hidden), use '-vv' to show > > q2cli/tests/test_usage.py:163: AssertionError > _ test_examples[identity_with_metadata-# ### example: identity with metadata > simple ###\nqiime dummy-plugin identity-with-metadata \\\n --i-ints > ints.qza \\\n --m-metadata-file md.tsv \\\n --o-out out.qza\n# ### > example: identity with metadata merging ###\nqiime dummy-plugin > identity-with-metadata \\\n --i-ints ints.qza \\\n --m-metadata-file > md1.tsv \\\n --m-metadata-file md2.tsv \\\n --o-out out.qza] _ > > dummy_plugin = <qiime2.plugin.plugin.Plugin object at 0x7fd503d719c0> > action = <method qiime2.plugins.dummy_plugin.methods.identity_with_metadata> > exp = '# ### example: identity with metadata simple ###\nqiime dummy-plugin > identity-with-metadata \\\n --i-ints ints.qza... \\\n --i-ints ints.qza > \\\n --m-metadata-file md1.tsv \\\n --m-metadata-file md2.tsv \\\n > --o-out out.qza' > > @pytest.mark.parametrize('action, exp', params) > def test_examples(dummy_plugin, action, exp): > action = dummy_plugin.actions[action] > result = list(examples(action)) > > assert exp == '\n'.join(result) > E AssertionError: assert '# ### exampl...o-out out.qza' == '# ### > exampl...a merging ###' > E Skipping 39 identical leading characters in diff, use -v to show > E imple ### > E + qiime dummy-plugin identity-with-metadata \ > E + --i-ints ints.qza \ > E + --m-metadata-file md.tsv \ > E + --o-out out.qza > E - # ### example: identity with metadata merging ###... > E > E ...Full output truncated (8 lines hidden), use '-vv' to show > > q2cli/tests/test_usage.py:163: AssertionError > _ test_examples[identity_with_metadata_column-# ### example: identity with > metadata column get mdc ###\nqiime dummy-plugin identity-with-metadata-column > \\\n --i-ints ints.qza \\\n --m-metadata-file md.tsv \\\n > --m-metadata-column 'a' \\\n --o-out out.qza] _ > > dummy_plugin = <qiime2.plugin.plugin.Plugin object at 0x7fd503d719c0> > action = <method > qiime2.plugins.dummy_plugin.methods.identity_with_metadata_column> > exp = "# ### example: identity with metadata column get mdc ###\nqiime > dummy-plugin identity-with-metadata-column \\\n --i-ints ints.qza \\\n > --m-metadata-file md.tsv \\\n --m-metadata-column 'a' \\\n --o-out > out.qza" > > @pytest.mark.parametrize('action, exp', params) > def test_examples(dummy_plugin, action, exp): > action = dummy_plugin.actions[action] > result = list(examples(action)) > > assert exp == '\n'.join(result) > E AssertionError: assert '# ### exampl...o-out out.qza' == '# ### > exampl...n get mdc ###' > E Skipping 45 identical leading characters in diff, use -v to show > E - get mdc ### > E + get mdc ### > E ? + > E + qiime dummy-plugin identity-with-metadata-column \ > E + --i-ints ints.qza \ > E + --m-metadata-file md.tsv \... > E > E ...Full output truncated (3 lines hidden), use '-vv' to show > > q2cli/tests/test_usage.py:163: AssertionError > _ test_examples[typical_pipeline-# ### example: typical pipeline simple > ###\nqiime dummy-plugin typical-pipeline \\\n --i-int-sequence ints.qza > \\\n --i-mapping mapper.qza \\\n --p-do-extra-thing True \\\n > --o-out-map out_map.qza \\\n --o-left left.qza \\\n --o-right right.qza > \\\n --o-left-viz left_viz.qzv \\\n --o-right-viz right_viz.qzv\n# ### > example: typical pipeline complex ###\nqiime dummy-plugin typical-pipeline > \\\n --i-int-sequence ints1.qza \\\n --i-mapping mapper1.qza \\\n > --p-do-extra-thing True \\\n --o-out-map out_map1.qza \\\n --o-left > left1.qza \\\n --o-right right1.qza \\\n --o-left-viz left_viz1.qzv > \\\n --o-right-viz right_viz1.qzv\nqiime dummy-plugin typical-pipeline > \\\n --i-int-sequence left1.qza \\\n --i-mapping out_map1.qza \\\n > --p-do-extra-thing False \\\n --o-out-map out_map2.qza \\\n --o-left > left2.qza \\\n --o-right right2.qza \\\n --o-left-viz left_viz2.qzv > \\\n --o-right-viz right_viz2.qzv] _ > > dummy_plugin = <qiime2.plugin.plugin.Plugin object at 0x7fd503d719c0> > action = <pipeline qiime2.plugins.dummy_plugin.pipelines.typical_pipeline> > exp = '# ### example: typical pipeline simple ###\nqiime dummy-plugin > typical-pipeline \\\n --i-int-sequence ints.qza \\\...-o-left left2.qza > \\\n --o-right right2.qza \\\n --o-left-viz left_viz2.qzv \\\n > --o-right-viz right_viz2.qzv' > > @pytest.mark.parametrize('action, exp', params) > def test_examples(dummy_plugin, action, exp): > action = dummy_plugin.actions[action] > result = list(examples(action)) > > assert exp == '\n'.join(result) > E AssertionError: assert '# ### exampl...ight_viz2.qzv' == '# ### > exampl...e complex ###' > E Skipping 33 identical leading characters in diff, use -v to show > E imple ### > E + qiime dummy-plugin typical-pipeline \ > E + --i-int-sequence ints.qza \ > E + --i-mapping mapper.qza \ > E + --p-do-extra-thing True \ > E + --o-out-map out_map.qza \... > E > E ...Full output truncated (26 lines hidden), use '-vv' to show > > q2cli/tests/test_usage.py:163: AssertionError > _ test_examples[optional_artifacts_method-# ### example: optional inputs > ###\nqiime dummy-plugin optional-artifacts-method \\\n --i-ints ints.qza > \\\n --p-num1 1 \\\n --o-output output.qza\nqiime dummy-plugin > optional-artifacts-method \\\n --i-ints ints.qza \\\n --p-num1 1 \\\n > --p-num2 2 \\\n --o-output output.qza\nqiime dummy-plugin > optional-artifacts-method \\\n --i-ints ints.qza \\\n --p-num1 1 \\\n > --p-num2 None \\\n --o-output ints_b.qza\nqiime dummy-plugin > optional-artifacts-method \\\n --i-ints ints.qza \\\n --i-optional1 > ints_b.qza \\\n --p-num1 3 \\\n --p-num2 4 \\\n --o-output > output.qza] _ > > dummy_plugin = <qiime2.plugin.plugin.Plugin object at 0x7fd503d719c0> > action = <method > qiime2.plugins.dummy_plugin.methods.optional_artifacts_method> > exp = '# ### example: optional inputs ###\nqiime dummy-plugin > optional-artifacts-method \\\n --i-ints ints.qza \\\n --...--i-ints > ints.qza \\\n --i-optional1 ints_b.qza \\\n --p-num1 3 \\\n --p-num2 > 4 \\\n --o-output output.qza' > > @pytest.mark.parametrize('action, exp', params) > def test_examples(dummy_plugin, action, exp): > action = dummy_plugin.actions[action] > result = list(examples(action)) > > assert exp == '\n'.join(result) > E AssertionError: assert '# ### exampl...ut output.qza' == '# ### > exampl...al inputs ###' > E - # ### example: optional inputs ### > E + # ### example: optional inputs ### > E ? + > E + qiime dummy-plugin optional-artifacts-method \ > E + --i-ints ints.qza \ > E + --p-num1 1 \ > E + --o-output output.qza... > E > E ...Full output truncated (17 lines hidden), use '-vv' to show > > q2cli/tests/test_usage.py:163: AssertionError > _ test_examples[variadic_input_method-# ### example: variadic input simple > ###\nqiime dummy-plugin variadic-input-method \\\n --i-ints ints_a.qza > \\\n --i-ints ints_b.qza \\\n --i-int-set single_int1.qza \\\n > --i-int-set single_int2.qza \\\n --p-nums 7 \\\n --p-nums 8 \\\n > --p-nums 9 \\\n --o-output out.qza] _ > > dummy_plugin = <qiime2.plugin.plugin.Plugin object at 0x7fd503d719c0> > action = <method qiime2.plugins.dummy_plugin.methods.variadic_input_method> > exp = '# ### example: variadic input simple ###\nqiime dummy-plugin > variadic-input-method \\\n --i-ints ints_a.qza \\\n ...\\n --i-int-set > single_int2.qza \\\n --p-nums 7 \\\n --p-nums 8 \\\n --p-nums 9 \\\n > --o-output out.qza' > > @pytest.mark.parametrize('action, exp', params) > def test_examples(dummy_plugin, action, exp): > action = dummy_plugin.actions[action] > result = list(examples(action)) > > assert exp == '\n'.join(result) > E AssertionError: assert '# ### exampl...utput out.qza' == '# ### > exampl...ut simple ###' > E - # ### example: variadic input simple ### > E + # ### example: variadic input simple ### > E ? + > E + qiime dummy-plugin variadic-input-method \ > E + --i-ints ints_a.qza \ > E + --i-ints ints_b.qza \ > E + --i-int-set single_int1.qza \... > E > E ...Full output truncated (6 lines hidden), use '-vv' to show > > q2cli/tests/test_usage.py:163: AssertionError > =============================== warnings summary > =============================== > ../../../../../../usr/lib/python3/dist-packages/qiime2/core/archive/provenance.py:20 > /usr/lib/python3/dist-packages/qiime2/core/archive/provenance.py:20: > DeprecationWarning: The distutils package is deprecated and slated for > removal in Python 3.12. Use setuptools or check PEP 632 for potential > alternatives > import distutils > > .pybuild/cpython3_3.10/build/q2cli/tests/test_cli.py::CliTests::test_run_deprecated_gets_warning_msg > /usr/lib/python3/dist-packages/qiime2/sdk/action.py:241: FutureWarning: > This Method is deprecated and will be removed in a future version of this > plugin. > warn(self._build_deprecation_message(), > > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html > =========================== short test summary info > ============================ > FAILED q2cli/tests/test_usage.py::test_examples[concatenate_ints-# ### > example: concatenate ints simple ###\n# This example demonstrates basic > usage.\nqiime dummy-plugin concatenate-ints \\\n --i-ints1 ints_a.qza \\\n > --i-ints2 ints_b.qza \\\n --i-ints3 ints_c.qza \\\n --p-int1 4 \\\n > --p-int2 2 \\\n --o-concatenated-ints ints_d.qza\n# ### example: > concatenate ints complex ###\n# This example demonstrates chained usage (pt > 1).\nqiime dummy-plugin concatenate-ints \\\n --i-ints1 ints_a.qza \\\n > --i-ints2 ints_b.qza \\\n --i-ints3 ints_c.qza \\\n --p-int1 4 \\\n > --p-int2 2 \\\n --o-concatenated-ints ints_d.qza\n# This example > demonstrates chained usage (pt 2).\nqiime dummy-plugin concatenate-ints \\\n > --i-ints1 ints_d.qza \\\n --i-ints2 ints_b.qza \\\n --i-ints3 > ints_c.qza \\\n --p-int1 41 \\\n --p-int2 0 \\\n > --o-concatenated-ints concatenated_ints.qza\n# ### example: comments only > ###\n# comment 1\n# comment 2\n# ### example: comments only factory ###\n# > comment 1\n# comment 2] > FAILED q2cli/tests/test_usage.py::test_examples[identity_with_metadata-# ### > example: identity with metadata simple ###\nqiime dummy-plugin > identity-with-metadata \\\n --i-ints ints.qza \\\n --m-metadata-file > md.tsv \\\n --o-out out.qza\n# ### example: identity with metadata merging > ###\nqiime dummy-plugin identity-with-metadata \\\n --i-ints ints.qza \\\n > --m-metadata-file md1.tsv \\\n --m-metadata-file md2.tsv \\\n > --o-out out.qza] > FAILED > q2cli/tests/test_usage.py::test_examples[identity_with_metadata_column-# ### > example: identity with metadata column get mdc ###\nqiime dummy-plugin > identity-with-metadata-column \\\n --i-ints ints.qza \\\n > --m-metadata-file md.tsv \\\n --m-metadata-column 'a' \\\n --o-out > out.qza] > FAILED q2cli/tests/test_usage.py::test_examples[typical_pipeline-# ### > example: typical pipeline simple ###\nqiime dummy-plugin typical-pipeline > \\\n --i-int-sequence ints.qza \\\n --i-mapping mapper.qza \\\n > --p-do-extra-thing True \\\n --o-out-map out_map.qza \\\n --o-left > left.qza \\\n --o-right right.qza \\\n --o-left-viz left_viz.qzv \\\n > --o-right-viz right_viz.qzv\n# ### example: typical pipeline complex > ###\nqiime dummy-plugin typical-pipeline \\\n --i-int-sequence ints1.qza > \\\n --i-mapping mapper1.qza \\\n --p-do-extra-thing True \\\n > --o-out-map out_map1.qza \\\n --o-left left1.qza \\\n --o-right > right1.qza \\\n --o-left-viz left_viz1.qzv \\\n --o-right-viz > right_viz1.qzv\nqiime dummy-plugin typical-pipeline \\\n --i-int-sequence > left1.qza \\\n --i-mapping out_map1.qza \\\n --p-do-extra-thing False > \\\n --o-out-map out_map2.qza \\\n --o-left left2.qza \\\n --o-right > right2.qza \\\n --o-left-viz left_viz2.qzv \\\n --o-right-viz > right_viz2.qzv] > FAILED q2cli/tests/test_usage.py::test_examples[optional_artifacts_method-# > ### example: optional inputs ###\nqiime dummy-plugin > optional-artifacts-method \\\n --i-ints ints.qza \\\n --p-num1 1 \\\n > --o-output output.qza\nqiime dummy-plugin optional-artifacts-method \\\n > --i-ints ints.qza \\\n --p-num1 1 \\\n --p-num2 2 \\\n --o-output > output.qza\nqiime dummy-plugin optional-artifacts-method \\\n --i-ints > ints.qza \\\n --p-num1 1 \\\n --p-num2 None \\\n --o-output > ints_b.qza\nqiime dummy-plugin optional-artifacts-method \\\n --i-ints > ints.qza \\\n --i-optional1 ints_b.qza \\\n --p-num1 3 \\\n --p-num2 > 4 \\\n --o-output output.qza] > FAILED q2cli/tests/test_usage.py::test_examples[variadic_input_method-# ### > example: variadic input simple ###\nqiime dummy-plugin variadic-input-method > \\\n --i-ints ints_a.qza \\\n --i-ints ints_b.qza \\\n --i-int-set > single_int1.qza \\\n --i-int-set single_int2.qza \\\n --p-nums 7 \\\n > --p-nums 8 \\\n --p-nums 9 \\\n --o-output out.qza] > ================== 6 failed, 113 passed, 2 warnings in 5.48s > =================== > E: pybuild pybuild:369: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build; python3.10 -m pytest > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.10 > returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2022/07/16/q2cli_2021.8.0-2_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20220716;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20220716&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please marking it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.