Skip to content

Build event streams generated by Bazel 6.3.0 and later no longer include the remote execution message in such a way that it's attached to the action that failed #19327

@EdSchouten

Description

@EdSchouten

Description of the bug:

PR #18757 changed the way Bazel emits remote execution messages. They are now console events instead of being attached to stdout/stderr. This change on its own is all right, but it now means that if you look at the build event file they are only part of the "progress" messages. This is really annoying, as it means the messages don't show up anywhere near the place where the actual execution failure is described.

You could in theory extract the information from the progress message, but what's annoying about that is that you likely need to use some VT100 escape sequence parser to interpret that data in a meaningful way.

Furthermore, the event that is printed to the console is incomplete. Sure, it contains the target name, but it does not have the configuration ID either. This means that if the same target is built multiple times (e.g., once for the host, once for the target), it's not possible to figure out which it belongs to.

Which category does this issue belong to?

Remote Execution

What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

Build this target against a remote execution system that generates execution messages:

genrule(
    name = "foo",
    outs = ["bar"],
    cmd = "false",
)

Then run bazel build --build_event_json_file=${HOME}/x ...

Which operating system are you running Bazel on?

Any

What is the output of bazel info release?

6.3.0

If bazel info release returns development version or (@non-git), tell us how you built Bazel.

No response

What's the output of git remote get-url origin; git rev-parse master; git rev-parse HEAD ?

No response

Is this a regression? If yes, please try to identify the Bazel commit where the bug was introduced.

#18757

Have you found anything relevant by searching the web?

No response

Any other information, logs, or outputs that you want to share?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions