Skip to content

Problem in the expansion phase #4

@eduardocoelholima

Description

@eduardocoelholima

Bf4 expansion phase error

I was able to compile bf4 on an Ubuntu 20.04, linux-headers-5.4.0-90-generic from apt, apt packages most up to date, z3 4.8.7 from apt, ninja 2.2.0 from repository, json 3.7.3 from repository, libboost-graph-dev from 1.71.0 from apt, BMV2 compiled from repository, protobuf 3.2.0 compiled from source, eBPF bpfcc 0.12.0 from apt.

But when I try to run bf4:
cd build/
make cptemplate
python3 ../sigcomm-2020/cleanup_v1.py ../sigcomm-2020/running_example/runinng.p4

I got this:
cleaned up running.p4 -> ./running-clean.p4. Validating...
done instrumentation in 162ms
Traceback (most recent call last):
File "../sigcomm-2020/cleanup_v1.py", line 100, in
subprocess.check_call([args.bf4_exec, '--expand-to', outexpd, outinstr],
File "/home/user/anaconda3/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['p4c-analysis', '--expand-to', './running-instrumented-expanded.p4', './running-instrumented.p4']' returned non-zero exit status 255.

So I called the executable directly to see the output:
(base) user@machine:~/code/bf4/build$ p4c-analysis --expand-to ./running-instrumented-expanded.p4 ./running-instrumented.p4
/usr/local/share/p4c/p4include/v1model.p4(31): [--Wwarn=unknown] warning: Unknown annotation: metadata
@metadata @name("standard_metadata")
^^^^^^^^
/usr/local/share/p4c/p4include/v1model.p4(59): [--Wwarn=unknown] warning: Unknown annotation: alias
@alias("queueing_metadata.enq_timestamp")
^^^^^
/usr/local/share/p4c/p4include/v1model.p4(442): [--Wwarn=unknown] warning: Unknown annotation: pipeline
@pipeline
^^^^^^^^
/usr/local/share/p4c/p4include/v1model.p4(460): [--Wwarn=unknown] warning: Unknown annotation: deparser
@deparser
^^^^^^^^
./running-instrumented.p4(206): [--Wwarn=unknown] warning: Unknown annotation: instrument_keys
@name(".nat") @instrument_keys() table nat {
^^^^^^^^^^^^^^^
./running-instrumented.p4(231): [--Wwarn=shadow] warning: ingress.do_drop shadows do_drop
@name("ingress.do_drop") action do_drop() {
^^^^^^^
./running-instrumented.p4(9)
extern void do_drop();
^^^^^^^
terminate called after throwing an instance of 'Util::CompilerBug'
what(): In file: /home/user/code/bf4/lib/crash.cpp:229
Compiler Bug: Exiting with SIGSEGV

Any comments appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions