<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Andy,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks for replying.  <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Mea culpa.  I had upgraded my machine to using Python3 because flexsai/p4 uses Python3  P4c test tools use Python2.7.  Once I downgraded the machine’s Python to 2.7, my problem went away.  Also, I don’t download bmv2.  I just download p4c and use ‘make check’ to test if any code changes to p4c pass testing.  <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>A question comes up.  <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If flexsai/p4 uses Python 3, maybe someday p4c can also move to Python 3.   Or maybe flexsai/p4 can be downgraded to supporting only Python2.7.   The current state of flexsai/p4 is that if my machine only has python 2.7, the code fails to compile.  When I added python3, the code still had issues.  I changed the code and made it build and run.  I filed an Issue against flexsai/p4:  <a href="https://github.com/opencomputeproject/SAI/issues/896">https://github.com/opencomputeproject/SAI/issues/896</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I think, similar to how p4c and P4Runtime are in lock-step for common versions of protobuf etc., flexsai/p4 should also comply. <o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Hemant<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>From:</b> Andy Fingerhut <andy.fingerhut@gmail.com> <br><b>Sent:</b> Sunday, December 02, 2018 3:17 PM<br><b>To:</b> hemant@mnkcg.com<br><b>Cc:</b> p4-dev <p4-dev@lists.p4.org><br><b>Subject:</b> Re: [P4-dev] make check timeouts today<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div><div><p class=MsoNormal>I updated to latest p4c and behavioral-model, and these are the only tests I saw which took 10+ seconds:<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal> 12/1173 Test  #15: bmv2/testdata/p4_14_samples/parser_value_set2.p4 ..............................   Passed   13.47 sec<o:p></o:p></p></div><div><p class=MsoNormal> 16/1173 Test   #1: cpplint .......................................................................   Passed   29.61 sec<o:p></o:p></p></div><div><p class=MsoNormal> 26/1173 Test  #14: bmv2/testdata/p4_14_samples/switch_20160226/switch.p4 .........................   Passed   47.49 sec<o:p></o:p></p></div><div><p class=MsoNormal> 41/1173 Test  #13: bmv2/testdata/p4_14_samples/switch_20160512/switch.p4 .........................   Passed   62.92 sec<o:p></o:p></p></div><div><p class=MsoNormal>994/1173 Test #981: p14_to_16/testdata/p4_14_samples/port_vlan_mapping.p4 .........................   Passed   12.53 sec<o:p></o:p></p></div><div><p class=MsoNormal>1021/1173 Test #1007: p14_to_16/testdata/p4_14_samples/header-stack-ops-bmv2.p4 .....................   Passed   14.94 sec<o:p></o:p></p></div><div><p class=MsoNormal>1072/1173 Test #1061: p14_to_16/testdata/p4_14_samples/08-FullTPHV3.p4 ..............................   Passed   12.57 sec<o:p></o:p></p></div><div><p class=MsoNormal>1101/1173 Test #1093: p14_to_16/testdata/p4_14_samples/05-FullTPHV.p4 ...............................   Passed   10.02 sec<o:p></o:p></p></div><div><p class=MsoNormal>1172/1173 Test #1157: p14_to_16/testdata/p4_14_samples/switch_20160226/switch.p4 ....................   Passed   85.50 sec<o:p></o:p></p></div><div><p class=MsoNormal>1173/1173 Test #1156: p14_to_16/testdata/p4_14_samples/switch_20160512/switch.p4 ....................   Passed  109.28 sec<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Anything test with '-bmv2.p4' in the source file name runs not only the p4c compiler, but then runs simple_switch on the resulting BMv2 JSON file, sometimes with packets sent in as directed by a test file ending with the name suffix '.stf'.  Most of those are very quick, as evidenced by only one of them showing up in my 'long duration list' above.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Maybe try deleting and rebuilding/reinstalling both behavioral-model and p4c on your machine, if you haven't already?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If you have, is this reproducible for you?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>There are also ways to run only one of the tests in isolation, which might help you discover why one is misbehaving.  For the 'array-copy-bmv2.p4' test you mentioned, try running this command from your 'p4c/build' directory:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>% find .|grep array-copy-bmv2<o:p></o:p></p></div><div><p class=MsoNormal>./bmv2/testdata/p4_16_samples/array-copy-bmv2.p4.obs<o:p></o:p></p></div><div><p class=MsoNormal>./bmv2/testdata/p4_16_samples/array-copy-bmv2.p4.test<o:p></o:p></p></div><div><p class=MsoNormal>./bmv2/testdata/p4_16_samples/array-copy-bmv2.json<o:p></o:p></p></div><div><p class=MsoNormal>./p4/testdata/p4_16_samples/array-copy-bmv2.p4.test<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Any files whose names end with '.p4.test' are bash shell scripts, which you can look at and/or run.  For example, to run the bmv2 one above:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>% ./bmv2/testdata/p4_16_samples/array-copy-bmv2.p4.test <o:p></o:p></p></div><div><p class=MsoNormal>Check for  /home/jafinger/p4c/testdata/p4_16_samples/array-copy-bmv2.stf<o:p></o:p></p></div><div><p class=MsoNormal>Calling target program-options parser<o:p></o:p></p></div><div><p class=MsoNormal>Adding interface pcap0 as port 0 (files)<o:p></o:p></p></div><div><p class=MsoNormal>Obtaining JSON from switch...<o:p></o:p></p></div><div><p class=MsoNormal>Done<o:p></o:p></p></div><div><p class=MsoNormal>Control utility for runtime P4 table manipulation<o:p></o:p></p></div><div><p class=MsoNormal>RuntimeCmd: <o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>On my system, that last command took under 5 seconds.  On yours, it may be different, and running that command may make it clearer why (hopefully).<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Andy<o:p></o:p></p></div></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Sun, Dec 2, 2018 at 9:35 AM <<a href="mailto:hemant@mnkcg.com">hemant@mnkcg.com</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Anyone else noticed ‘make check’ with several test cases with “Timeout” today?  An example from my run is included below.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-family:"Courier New"'>207/1186 Test #207: bmv2/testdata/p4_16_samples/array-copy-bmv2.p4 ................................***</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-family:"Courier New"'>Timeout 977.36 sec</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Hemant<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div></div><p class=MsoNormal>_______________________________________________<br>P4-dev mailing list<br><a href="mailto:P4-dev@lists.p4.org" target="_blank">P4-dev@lists.p4.org</a><br><a href="http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org" target="_blank">http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org</a><o:p></o:p></p></blockquote></div></div></body></html>