Jenkins build is still unstable: FreeBSD_HEAD #564

Ngie Cooper (yaneurabeya) yaneurabeya at gmail.com
Thu Sep 1 00:21:50 UTC 2016


> On Aug 31, 2016, at 16:39, Ngie Cooper (yaneurabeya) <yaneurabeya at gmail.com> wrote:
> 
>> 
>> On Aug 30, 2016, at 01:45, Ngie Cooper (yaneurabeya) <yaneurabeya at gmail.com> wrote:
>> 
>> 
>>> On Aug 29, 2016, at 11:20, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>> 
>>>> 
>>> Trust me, you're wasting your time, this is not the problem.  If it were
>>> then _nothing_ would compile from the /usr/bin/cc compiler.  It's only a
>>> problem with running the ATF tests which means it is likely storing the
>>> flags it is built with somewhere and reusing them.
>> 
>> Well, that was part of the problem, but it seems that clang is indeed caching -sysroot when running the _everything phase of buildworld. From https://jenkins.freebsd.org/job/FreeBSD_HEAD/571/consoleText :
>> 
>> 50585 --- AnalysisDeclContext.o ---
>> 50586 c++  -O2 -pipe -I/builds/workspace/FreeBSD_HEAD/src/lib/clang/libclanganalysis/../../../contrib/llvm/include -I/builds/workspace/FreeBSD_HEAD/src/lib/clang/libclanganalysis/../../../contrib/llvm/       tools/clang/include -I/builds/workspace/FreeBSD_HEAD/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/lib/Analysis -I. -I/builds/workspace/FreeBSD_HEAD/src/lib/clang/libclanganaly       sis/../../../contrib/llvm/../../lib/clang/include -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -fno-strict-aliasing -DLLVM_DEFAULT_TARGET_TRIPLE=\"x86_64-unknow       n-freebsd12.0\" -DLLVM_HOST_TRIPLE=\"x86_64-unknown-freebsd12.0\" -DDEFAULT_SYSROOT=\"/builds/workspace/FreeBSD_HEAD/obj/builds/workspace/FreeBSD_HEAD/src/tmp\" -MD -MF.depend.AnalysisDeclContext       .o -MTAnalysisDeclContext.o -Qunused-arguments -I/builds/workspace/FreeBSD_HEAD/obj/builds/workspace/FreeBSD_HEAD/src/tmp/legacy/usr/include  -std=c++11 -fno-exceptions -fno-rtti -stdlib=libc++ -       Wno-c++11-extensions  -c /builds/workspace/FreeBSD_HEAD/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp -o AnalysisDeclContext.o
>> 
>> The reason why “no one” has seen this probably is this is that is:
>> 
>> - not default (using an inaccessible ${WORLDTMP} from an install image; path isn’t standard).
>> - ^/stable/11 is still a fairly fresh branch and the number of people testing on ^/head is likely smaller than the ^/stable/... branches.
> 
> I just proved my theory wrong by doing the following:
> 
> $ sudo chown /obj /wnw
> $ sudo chown ngie /obj
> $ env MAKEOBJDIRPREFIX=/obj NO_CLEAN=1 script /tmp/bw make buildworld -j4
> $ sudo make installworld DESTDIR=/wnw
> $ sudo chroot /wnw /bin/sh
> # cat <<EOF > hello_world.c
> #include <stdio.h>
> int main(void) {
> printf("hello world\n”);
> return 0;
> }
> EOF
> # cc -o hello_world hello_world.c
> # ./hello_world
> hello world
> 
> I did however prove that there’s a bug still in the tests by doing what I did above:
> 
> # kyua report
> ===> Failed tests
> libatf-c++/atf_c++_test:include  ->  failed: Header check failed; atf-c++.hpp is not self-contained  [0.042s]
> libatf-c++/macros_test:use  ->  failed: Build of macros_hpp_test.cpp failed; some macros in atf-c++/macros.hpp are broken  [0.030s]
> ===> Summary
> Results read from /root/.kyua/store/results.usr_tests_lib_atf.20160831-233801-403911.db
> Test cases: 328 total, 0 skipped, 0 expected failures, 0 broken, 2 failed
> Total time: 7.023s
> # kyua debug libatf-c++/atf_c++_test:include
>> c++ -target x86_64-unknown-freebsd12.0 --sysroot=/obj/mnt/tmp -B/obj/mnt/tmp/usr/bin -O2 -O2 -DHAVE_CONFIG_H -O2 -I/usr/include -Wall -Werror -o test.o -c test.cpp
> In file included from test.cpp:1:
> In file included from /usr/include/atf-c++.hpp:29:
> /usr/include/atf-c++/macros.hpp:29:10: fatal error: 'sstream' file not found
> #include <sstream>
>         ^
> 1 error generated.
> c++ failed with exit code 1
> Files left in work directory after failure: test.cpp
> libatf-c++/atf_c++_test:include  ->  failed: Header check failed; atf-c++.hpp is not self-contained
> 
> Working on a fix right now.

Ok — here’s the problem:

# strings /usr/lib/libprivateatf-c.so.1 | grep /obj
cc -target x86_64-unknown-freebsd12.0 --sysroot=/obj/mnt/tmp -B/obj/mnt/tmp/usr/bin
cpp -target x86_64-unknown-freebsd12.0 --sysroot=/obj/mnt/tmp -B/obj/mnt/tmp/usr/bin
c++  -target x86_64-unknown-freebsd12.0 --sysroot=/obj/mnt/tmp -B/obj/mnt/tmp/usr/bin

Somehow the strings are getting put into libatf-c.so.1 . Getting much closer.

Thanks,
-Ngie
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-testing/attachments/20160831/7dbe9b25/attachment.sig>


More information about the freebsd-testing mailing list