[PATCH v3 0/5] fcntl fortification

Frederic Berat fberat@redhat.com
Tue Jun 20 14:21:42 GMT 2023


On Tue, Jun 20, 2023 at 2:50 PM Adhemerval Zanella Netto
<adhemerval.zanella@linaro.org> wrote:
>
>
>
> On 20/06/23 02:59, Maxim Kuvyrkov wrote:
> >> On Jun 19, 2023, at 22:36, Adhemerval Zanella Netto <adhemerval.zanella@linaro.org> wrote:
> >>
> >>
> >>
> >> On 19/06/23 11:23, Sergey Bugaev via Libc-alpha wrote:
> >>> On Mon, Jun 19, 2023 at 3:58 PM Carlos O'Donell <carlos@redhat.com> wrote:
> >>>> Pre-commit CI regression caused by this series on both aarch64 and aarch32.
> >>>> https://patchwork.sourceware.org/project/glibc/patch/20230617222218.642125-6-bugaevc@gmail.com/
> >>>>
> >>>> # Running glibc:io ...
> >>>> # FAIL: io/check-installed-headers-c
> >>>> # FAIL: io/check-installed-headers-cxx
> >>>> #
> >>>> # Running glibc:misc ...
> >>>> # FAIL: misc/check-installed-headers-c
> >>>> # FAIL: misc/check-installed-headers-cxx
> >>>> #
> >>>> # Running glibc:rt ...
> >>>> # FAIL: rt/check-installed-headers-c
> >>>> # FAIL: rt/check-installed-headers-cxx
> >>>
> >>> Thank you :(
> >>>
> >>> I'm a little bit lost in the Jenkins web UI -- is there anywhere I can
> >>> view the output of the failing tests to understand what exactly went
> >>> wrong? I see the sum files here [0], but not the .out files.
> >>>
> >>> [0]: https://ci.linaro.org/job/tcwg_glibc_check--master-arm-build/386/artifact/artifacts/artifacts.precommit/sumfiles/
> >
> > Hi Sergey,
> >
> > See the attached tarball with output from failed tests:
> > ===
> > Running glibc:io ...
> > FAIL: io/check-installed-headers-c
> > FAIL: io/check-installed-headers-cxx
> >
> > Running glibc:misc ...
> > FAIL: misc/check-installed-headers-c
> > FAIL: misc/check-installed-headers-cxx
> >
> > Running glibc:rt ...
> > FAIL: rt/check-installed-headers-c
> > FAIL: rt/check-installed-headers-cxx
> > ===
> >
> > Let me know if you need any help in reproducing these.  The results are for Ubuntu 22.04 armhf target, but results for Ubuntu 22.04 aarch64 show the same regressions.
> >
> > Interestingly the top-level check-installed-headers-* tests PASS:
> > ===
> > PASS: check-installed-headers-c
> > PASS: check-installed-headers-cxx
> > ===
> >
> >>
> >> I could not reproduce it locally, so I think it is a limitation of our
> >> (Linaro) CI framework, where not all tests artifacts are being removed
> >> with make test-clean. Maxim already sent a fix for this [1].
> >>
> >> [1] https://patchwork.sourceware.org/project/glibc/patch/20230615152547.2924770-1-maxim.kuvyrkov@linaro.org/
> >
> > Hi Adhemerval,
> >
> > We (Linaro) have fixed or added workarounds for all known testsuite stability problems in our CI before enabling reporting for failed patches.  I am surprised that you could not reproduce the above failures in your setup; let's troubleshoot your local setup offline.
>
> I think I figure out what is happening here. I am using toolchains built with
> scripts/build-many-glibcs.py which does not set fortify as default, different
> than distro that are now setting the it as default.
>
> Since in our CI we use the system compiler to check for header, fortify will
> be always enabled and thus breaking the testing.
>
> Frédéric is fixing a lot of tests to assume fortify is enabled as default, so
> maybe it is something that he is already tracking.  In any case, I think we
> should fix scripts/check-installed-headers.sh to check for different levels
> of _FORTIFY_SOURCE along with already in places flags.
>

I'm indeed working on a patch series to enable _FORTIFY_SOURCE while
building Glibc, which may improve your situation.
I expect the patchset will be out in the next few days (or even hours
if everything goes right), so you might be able to check soon.



More information about the Libc-alpha mailing list