[P4-dev] P4lang nightly packages builds

Mihai Budiu mbudiu at vmware.com
Fri Apr 19 18:04:35 EDT 2019

This test actually crashes the compiler:

nasty_meta.p4(24): [--Werror=invalid] error: extract: Invalid argument. Expected a header not struct ethernet_t
terminate called after throwing an instance of 'Util::CompilerBug'
+  what():  In file: /<<PKGBUILDDIR>>/lib/crash.cpp:229
+[31mCompiler Bug[0m: Exiting with SIGSEGV

Would be nice to run this under a debugger…


From: P4-dev <p4-dev-bounces at lists.p4.org> On Behalf Of Fréderic LOUI
Sent: Friday, April 19, 2019 2:45 PM
To: Andy Fingerhut <andy.fingerhut at gmail.com>
Cc: p4-dev <p4-dev at lists.p4.org>
Subject: Re: [P4-dev] P4lang nightly packages builds


Just to let you know that the corresponding commit was fruitful. The ebpf failing tests have been cleared in the last build.
Only one failing test is remaining only on bionic
 (The same test succeeds in xenial).

Label Time Summary:

XFAIL        =  22.36 sec*proc (22 tests)

bmv2         = 997.36 sec*proc (374 tests)

cpplint      =  21.70 sec*proc (1 test)

ebpf         =  15.94 sec*proc (14 tests)

ebpf-bcc     =   4.82 sec*proc (14 tests)

err          =  16.59 sec*proc (166 tests)

gtest        =   3.04 sec*proc (1 test)

p14_to_16    = 215.40 sec*proc (205 tests)

p4           = 230.30 sec*proc (528 tests)

Total Test time (real) = 1505.73 sec

The following tests FAILED:

        1301 - p14_to_16/testdata/p4_14_errors/nasty_meta.p4 (Failed)

Errors while running CTest
The build log is here:

Best regards

Le 18 avr. 2019 18:31, Andy Fingerhut <andy.fingerhut at gmail.com<mailto:andy.fingerhut at gmail.com>> a écrit :
Thanks Frédéric.  Just a quick note that I believe that the test failures you mentioned for bionic builds will probably be fixed with this recent commit: https://github.com/p4lang/p4c/pull/1862<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4c%2Fpull%2F1862&data=02%7C01%7Cmbudiu%40vmware.com%7Cc1403971be5e4ae39a5a08d6c5105541%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636913071283718003&sdata=40xH0iSUCp6odOi9zYHc9enVHhdbpBTlYUS6WOofwr4%3D&reserved=0>

As you say, there are commits going into behavioral-model and p4c repositories on a regular basis, so the build might break sporadically at any time, but folks are pretty good at getting it back to building in a fairly short time on the fairly unusual occasions when this happens.


On Thu, Apr 18, 2019 at 11:28 AM Frédéric LOUI <frederic.loui at renater.fr<mailto:frederic.loui at renater.fr>> wrote:

Just to let you know that p4lang nightly builds are available from 2 distributions:

Xenial builds are using PPA - p4lang-xenial.

Bionic builds are using PPA - p4lang-3rd-party

The packages have « make check » step activated for all software (PI/bmv2/p4c) during the building process.

If you notice, some packages fail to build. This is because Launchpad refuse to create the corresponding .deb when "make check" fails.
You can observe the build logs here for example:  (click on the build log URL)

(Log visualisation in Launchpad is a bit tedious as the log is huge and you have to scroll down in order to find the build fail reason ... )

This is the case for:

* bmv2 only on i386 (amd64 deb is available):
  Reported issue here: https://github.com/p4lang/behavioral-model/issues/756<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fbehavioral-model%2Fissues%2F756&data=02%7C01%7Cmbudiu%40vmware.com%7Cc1403971be5e4ae39a5a08d6c5105541%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636913071283737994&sdata=DuMopGOnhcF155N0Cq1Wd%2B3amPRd%2BpFdh%2BIHqOCKdh8%3D&reserved=0>
  If it make sense I can disable i386 arch build during building process and let only amd64 arch.

* p4c
  - xenial:
99% tests passed, 2 tests failed out of 1303

Label Time Summary:
XFAIL        =  30.83 sec (25 tests)
bmv2         = 947.65 sec (374 tests)
cpplint      =  21.62 sec (1 test)
ebpf         =  12.80 sec (14 tests)
ebpf-bcc     =   2.87 sec (14 tests)
err          =  14.08 sec (166 tests)
gtest        =   2.91 sec (1 test)
p14_to_16    = 217.80 sec (205 tests)
p4           = 221.57 sec (528 tests)

Total Test time (real) = 1441.84 sec

The following tests FAILED:
371 - bmv2/testdata/p4_16_samples/psa-multicast-basic-bmv2.p4 (Failed)
372 - bmv2/testdata/p4_16_samples/psa-unicast-or-drop-bmv2.p4 (Failed)
Errors while running CTest

  - bionic:
99% tests passed, 3 tests failed out of 1303

Label Time Summary:
XFAIL        =  32.82 sec*proc (25 tests)
bmv2         = 995.22 sec*proc (374 tests)
cpplint      =  22.24 sec*proc (1 test)
ebpf         =  15.71 sec*proc (14 tests)
ebpf-bcc     =   4.66 sec*proc (14 tests)
err          =  15.63 sec*proc (166 tests)
gtest        =   2.88 sec*proc (1 test)
p14_to_16    = 206.37 sec*proc (205 tests)
p4           = 223.04 sec*proc (528 tests)

Total Test time (real) = 1486.32 sec

The following tests FAILED:
373 - bmv2/testdata/p4_16_samples/psa-multicast-basic-bmv2.p4 (Failed)
375 - bmv2/testdata/p4_16_samples/psa-unicast-or-drop-bmv2.p4 (Failed)
1301 - p14_to_16/testdata/p4_14_errors/nasty_meta.p4 (Failed)
Errors while running CTest

p4c code is getting several recent commits on Github so the number of failing tests can be different day to day.
One difference to note though between Xenial and Bionic is the nasty_meta.p4 that is failing only on Bionic from the same code base.

Finally, If you need p4c installation you can still compile and install it manually.

We will use these builds to stage the environment in our project and also use them as material for potential training within our academic community.

All feedback is welcome.

Happy p4.

À bientôt,
--  Frederic

P4-dev mailing list
P4-dev at lists.p4.org<mailto:P4-dev at lists.p4.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-dev_lists.p4.org/attachments/20190419/ef1db7d5/attachment-0001.html>

More information about the P4-dev mailing list