This folder is an archive of all the bugs we have found and file while using Gauntlet. The following folder structure explains the meaning of the individual categories. Every folder also contains a fixed
(fixed bugs) and rejected
(maintainers did not deem the report a bug) subfolder. Bugs in the top-level directory are confirmed and open.
bugs
├── crash -- Crash bugs found in P4C. File numbers correspond to issues filed in https://github.com/p4lang/p4c/issues.
├── improvements -- Issues that were considered "enhancements" by the compiler maintainers. File numbers correspond to issues filed in https://github.com/p4lang/p4c/issues.
├── invalid_transformation -- These are IR transformation that did not lead to a compiler bug but violated the invariant that the compiler IR must be valid at all times during compilation.
├── simple_switch -- Bugs found in the simple switch software when running an stf test. File numbers correspond to issues filed in https://github.com/p4lang/behavioral-model/issues.
├── spec -- Specification issues that were uncovered when asking questions or filing bug reports. Numbers correspond to issues raised at https://github.com/p4lang/p4-spec/issues.
├── bf-p4c -- Bugs found in the compiler for the Tofino chip. More precisely for the tna.p4 package. We can only discuss the bugs we found and the type of the bug.
│ ├── crash -- Simple compiler crashes.
│ ├── missing_pass -- Crashes found in bf-p4c that were caused by the P4C front end not transforming passes correctly.
│ └── semantic -- Semantic bugs that were uncovered using model-based testing using PTF and test packets.
└── validation -- Semantics bugs that were uncovered in P4C using translation validation. The majority of bugs were also reproduced using model-based testing and an STF file is supplied with the bug.
Last Updated: 2022-06-14
The bug tables provide the latest, detailed breakdown of all the issues we have filed in the open-source repositories.
Legend:
Fixed: ✔️ Confirmed: ❗ rejected: ⛔ Open: ❓
Issue | Name | Compiler Stage | Status |
---|---|---|---|
1 | bug1.p4 | Front end | ⛔ |
2 | bug2.p4 | Front end | ⛔ |
3 | bug3.p4 | Back end | ⛔ (Front end issue) |
4 | bug4.p4 | Front end | ⛔ |
5 | bug5.p4 | Back end | ✔️ |
6 | bug6.p4 | Back end | ✔️ |
7 | bug7.p4 | Back end | ✔️ |
8 | bug8.p4 | Back end | ✔️ |
9 | bug9.p4 | Back end | ✔️ |
10 | bug10.p4 | Back end | ✔️ |
11 | bug11.p4 | Back end | ✔️ |
12 | bug12.p4 | Back end | ❗ |
13 | bug13.p4 | Back end | ⛔ (Front end issue) |
14 | bug14.p4 | Back end | ✔️ |
15 | bug15.p4 | Back end | ✔️ |
16 | bug16.p4 | Back end | ✔️ |
17 | bug17.p4 | Back end | ❗ |
18 | bug18.p4 | Back end | ✔️ |
19 | bug19.p4 | Back end | ✔️ |
20 | bug20.p4 | Back end | ✔️ |
21 | bug21.p4 | Back end | ✔️ |
22 | bug22.p4 | Back end | ❗ |
23 | bug23.p4 | Back end | ❗ |
24 | bug24.p4 | Back end | ✔️ |
25 | bug25.p4 | Back end | ✔️ |
26 | bug26.p4 | Back end | ❗ |
27 | bug27.p4 | Back end | ⛔ (Front end issue) |
28 | bug28.p4 | Back end | ⛔ |
29 | bug29.p4 | Back end | ⛔ (Front end issue) |
30 | bug30.p4 | Back end | ✔️ |
31 | bug31.p4 | Back end | ✔️ |
32 | bug32.p4 | Back end | ⛔ |
33 | bug33.p4 | Back end | ✔️ |
34 | bug34.p4 | Back end | ⛔ (Front end issue) |
35 | bug35.p4 | Back end | ✔️ |
Issue | Name | Compiler Stage | Status |
---|---|---|---|
1 | semantic_bug1.p4 | Back end | ✔️ |
2 | semantic_bug2.p4 | Back end | ✔️ |
3 | semantic_bug3.p4 | Back end | ✔️ |
4 | semantic_bug4.p4 | Back end | ✔️ |
5 | semantic_bug5.p4 | Back end | ✔️ |
6 | semantic_bug6.p4 | Back end | ⛔ |
7 | semantic_bug7.p4 | Back end | ✔️ |
8 | semantic_bug8.p4 | Back end | ✔️ |
9 | semantic_bug9.p4 | Back end | ⛔ |
10 | semantic_bug10.p4 | Back end | ⛔ |