✗ GitLab.Pipeline: warning for Add support for hook script

Gustavo Sousa gustavo.sousa at intel.com
Wed Jun 19 19:07:54 UTC 2024


Quoting Lucas De Marchi (2024-05-20 16:44:15-03:00)
>On Thu, May 09, 2024 at 02:04:15PM GMT, Gustavo Sousa wrote:
>>Quoting Patchwork (2024-05-09 13:13:43-03:00)
>>>== Series Details ==
>>>
>>>Series: Add support for hook script
>>>URL   : https://patchwork.freedesktop.org/series/133391/
>>>State : warning
>>>
>>>== Summary ==
>>>
>>>Pipeline status: FAILED.
>>>
>>>see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1173738 for the overview.
>>>
>>>test:ninja-test-minimal has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/58540606):
>>>  26/30 lib i915_perf_data_alignment            OK       0.42 s
>>>  27/30 lib bad_subtest_type                    EXPECTEDFAIL 0.37 s
>>>  28/30 lib igt_no_subtest                      EXPECTEDFAIL 0.42 s
>>>  29/30 lib igt_simple_test_subtests            EXPECTEDFAIL 0.27 s
>>>  30/30 lib igt_timeout                         EXPECTEDFAIL 1.32 s
>>>
>>>  Ok:                   25
>>>  Expected Fail:         4
>>>  Fail:                  1
>>>  Unexpected Pass:       0
>>>  Skipped:               0
>>>  Timeout:               0
>>>
>>>  Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
>>>  section_end:1715270916:step_script
>>>  section_start:1715270916:cleanup_file_variables
>>>  Cleaning up project directory and file based variables
>>>  section_end:1715270917:cleanup_file_variables
>>>  ERROR: Job failed: exit code 1
>>>
>>>== Logs ==
>>>
>>>For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1173738
>>
>>Looking at the output on the page linked above, I see that the test I
>>introduced (igt_hook_integration) is failing but I passes locally for
>>me.
>>
>>Is there any way I get more details on the failure to investigate? The
>>job output says:
>>
>>    "Full log written to
>>    /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt"
>>
>>, but I'm not sure if that is available somewhere for me to check.
>
>GitLab.Pipeline is the one executed in fdo infra, not in the intel
>infra. You use the container it's using to repro it locally:
>
>https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/58540606
>
>        Using docker image sha256:08904a47f4efcc161569a9b7f88c458fc6e3e85a2225132246af9cf5cc6c4e5b
>        for registry.freedesktop.org/gfx-ci/igt-ci-tags/build-debian-minimal:commit-c21f9e2242955d29c7bb2fd9703230bd9799eb8c
>        with digest registry.freedesktop.org/gfx-ci/igt-ci-tags/build-debian-minimal at sha256:8b51a86fd81e64c501c9521c37fc8ad6f2550976931c510eb0ff4f6a328d477a ...
>
>Note that this is the "test" phase. You should also reproduce the build
>phase. From the logs:
>
>        Downloading artifacts for build:tests-debian-minimal (58540184)...
>
>which points to: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/58540184
>
>The builder and test container are the same, so you can use to fetch:
>
>        $ c=registry.freedesktop.org/gfx-ci/igt-ci-tags/build-debian-minimal:commit-c21f9e2242955d29c7bb2fd9703230bd9799eb8c
>        $ podman pull $c
>
>and to run (first line I conveniently alias to "pod" locally):
>
>        $ podman run --rm -v $(pwd):/src --net host -w /src -it $c /bin/bash
>
>        /src # meson -Dtests=disabled -Dlibdrm_drivers="" build
>        /src # ninja -C build -j${FDO_CI_CONCURRENT:-4} || ninja -C build -j 1
>        /src # meson test -C build --num-processes ${FDO_CI_CONCURRENT:-4}
>        ninja: Entering directory `/src/build'
>        [2/2] Generating intel-ci-tests with a custom command.
>        ...
>        13/30 lib igt_hook_integration                FAIL     0.12 s (killed by signal 11 SIGSEGV)
>        ...
>        Full log written to /src/build/meson-logs/testlog.txt
>
>
>I see a bunch of lines like
>
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>        Unexpected envline from hook:
>
>until it's eventually killed and line is truncated:
>
>        Unexpected envli
>
>
>Given the fact it passed in some distros, I think that debian minimal
>installation doesn't like something in
>
>                 "%1$s:printenv -0 | grep -z ^IGT_HOOK >&%2$d; echo -en ---\\\\x00 >&%2$d",

Thanks, Lucas, for the help in reproducing it!

I was able to download the container image and reproduce the issue
locally. Looks like the "echo" built-in in that image's default shell
does not support "-en", which ends up spilled directly to the output.

Replacing that echo command with "printf -- ---\\\\00" fixes the issue.
The next version of this series will contain that fix. From my tests,
looks like that printf form is compatible with both sh and bash.

Thanks a lot!

--
Gustavo Sousa

>
>
>Lucas De Marchi
>
>>
>>--
>>Gustavo


More information about the igt-dev mailing list