[libcxx-dev] Broken libcxx-libcxxabi-libunwind bots due to Filesystem tests

Yvan Roux via libcxx-dev libcxx-dev at lists.llvm.org
Mon Apr 6 05:25:26 PDT 2020


Hi Louis and Duncan,

Sorry the issue is indeed on our si8de, the bot is not run as run root, but
some manual investigation last week accidentally created these files with
root ownership, sorry for that.

Thanks
Yvan


On Mon, 6 Apr 2020 at 10:09, Duncan Exon Smith <dexonsmith at apple.com> wrote:

>
>
> > On 2020-Apr-02, at 13:10, Duncan Exon Smith via libcxx-dev <
> libcxx-dev at lists.llvm.org> wrote:
> >
> >
> >
> >> On 2020-Apr-02, at 11:23, Louis Dionne <ldionne at apple.com <mailto:
> ldionne at apple.com>> wrote:
> >>
> >>
> >>
> >>> On Apr 2, 2020, at 14:05, Duncan Exon Smith <dexonsmith at apple.com
> <mailto:dexonsmith at apple.com>> wrote:
> >>>
> >>>> It looks like the following bots assigned to you started failing
> recently:
> >>>
> >>> I agree the bots should be fixed, but...
> >>>
> >>>> I strongly suspect this is due to the fact that your builder is
> running as root. Libc++'s filesystem tests are known to fail when run as
> root, because some of them need to check for failure to access some files
> for which there's no permission. This doesn't seem to work when run as root.
> >>>
> >>> It seems like these tests could have a line like:
> >>> ```
> >>> REQUIRES: -user=root
> >>> ```
> >>> and libcxx's lit target could export a `user=root` feature when tests
> were being run as root.  WDYT?
> >>>
> >>> WDYT?
> >>>
> >>
> >> I think you mean `// UNSUPPORTED: -user=root`? Yes, I think it would
> make sense. Either that or actually spend the time to make them work as
> root.
> >
> > I meant `REQUIRES: !user=root`, I used the wrong negation.
>
> Although UNSUPPORTED is maybe more clear.
>
> >
> >>
> >> FWIW, I think the root cause of the issue is that "traverse"
> permissions in directories are not honoured when run as root:
> >>
> >>     root $ d=$(mktemp -d)
> >>     root $ touch $d/foo
> >>     root $ chmod 000 $d
> >>     root $ stat $d/foo
> >>     16777221 234259215 -rw-r--r-- 1 root wheel 0 0 <...>
> >>
> >> When I would expect:
> >>
> >>     ldionne $ d=$(mktemp -d)
> >>     ldionne $ touch $d/foo
> >>     ldionne $ chmod 000 $d
> >>     ldionne $ stat $d/foo
> >>     stat: <...>/tmp.JoY6Ixmo/foo: stat: Permission denied
> >>
> >> Does that make sense? I didn't know 'root' had a free pass like that.
> >>
> >> Louis
> >
> > _______________________________________________
> > libcxx-dev mailing list
> > libcxx-dev at lists.llvm.org <mailto:libcxx-dev at lists.llvm.org>
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev <
> https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev>
> _______________________________________________
> linaro-toolchain mailing list
> linaro-toolchain at lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/linaro-toolchain
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-dev/attachments/20200406/e913ac6f/attachment-0001.html>


More information about the libcxx-dev mailing list