// Copyright 2020 The Bazel Authors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // This file's messages describe any failure(s) that occurred during Bazel's // handling of a request. The intent is to provide more detail to a Bazel client // than is conveyed with an exit code, to help those clients decide how to // respond to, or classify, a failure. syntax = "proto3"; package failure_details; option java_package = "com.google.devtools.build.lib.server"; import "google/protobuf/descriptor.proto"; message FailureDetailMetadata { uint32 exit_code = 1; } extend google.protobuf.EnumValueOptions { FailureDetailMetadata metadata = 1078; } // The FailureDetail message type is designed such that consumers can extract a // basic classification of a FailureDetail message even if the consumer was // built with a stale definition. This forward compatibility is implemented via // conventions on FailureDetail and its submessage types, as follows. // // *** FailureDetail field numbers // // Field numbers 1 through 100 (inclusive) are reserved for generally applicable // values. Any number of these fields may be set on a FailureDetail message. // // Field numbers 101 through 10,000 (inclusive) are reserved for use inside the // "oneof" structure. Only one of these values should be set on a FailureDetail // message. // // Additional fields numbers are unlikely to be needed, but, for extreme future- // proofing purposes, field numbers 10,001 through 1,000,000 (inclusive; // excluding protobuf's reserved range 19000 through 19999) are reserved for // additional generally applicable values. // // *** FailureDetail's "oneof" submessages // // Each field in the "oneof" structure is a submessage corresponding to a // category of failure. // // In each of these submessage types, field number 1 is an enum whose values // correspond to a subcategory of the failure. Generally, the enum's constant // which maps to 0 should be interpreted as "unspecified", though this is not // required. // // *** Recommended forward compatibility strategy // // The recommended forward compatibility strategy is to reduce a FailureDetail // message to a pair of integers. // // The first integer corresponds to the field number of the submessage set // inside FailureDetail's "oneof", which corresponds with the failure's // category. // // The second integer corresponds to the value of the enum at field number 1 // within that submessage, which corresponds with the failure's subcategory. // // WARNING: This functionality is experimental and should not be relied on at // this time. // TODO(mschaller): remove experimental warning message FailureDetail { // A short human-readable message describing the failure, for debugging. // // This value is *not* intended to be used algorithmically. string message = 1; // Reserved for future generally applicable values. Any of these may be set. reserved 2 to 100; oneof category { Interrupted interrupted = 101; ExternalRepository external_repository = 103; BuildProgress build_progress = 104; RemoteOptions remote_options = 106; ClientEnvironment client_environment = 107; Crash crash = 108; SymlinkForest symlink_forest = 110; PackageOptions package_options = 114; RemoteExecution remote_execution = 115; Execution execution = 116; Workspaces workspaces = 117; CrashOptions crash_options = 118; Filesystem filesystem = 119; ExecutionOptions execution_options = 121; Command command = 122; Spawn spawn = 123; GrpcServer grpc_server = 124; CanonicalizeFlags canonicalize_flags = 125; BuildConfiguration build_configuration = 126; InfoCommand info_command = 127; MemoryOptions memory_options = 129; Query query = 130; LocalExecution local_execution = 132; ActionCache action_cache = 134; FetchCommand fetch_command = 135; SyncCommand sync_command = 136; Sandbox sandbox = 137; IncludeScanning include_scanning = 139; TestCommand test_command = 140; ActionQuery action_query = 141; TargetPatterns target_patterns = 142; CleanCommand clean_command = 144; ConfigCommand config_command = 145; ConfigurableQuery configurable_query = 146; DumpCommand dump_command = 147; HelpCommand help_command = 148; MobileInstall mobile_install = 150; ProfileCommand profile_command = 151; RunCommand run_command = 152; VersionCommand version_command = 153; PrintActionCommand print_action_command = 154; WorkspaceStatus workspace_status = 158; JavaCompile java_compile = 159; ActionRewinding action_rewinding = 160; CppCompile cpp_compile = 161; StarlarkAction starlark_action = 162; NinjaAction ninja_action = 163; DynamicExecution dynamic_execution = 164; FailAction fail_action = 166; SymlinkAction symlink_action = 167; CppLink cpp_link = 168; LtoAction lto_action = 169; TestAction test_action = 172; Worker worker = 173; Analysis analysis = 174; PackageLoading package_loading = 175; Toolchain toolchain = 177; StarlarkLoading starlark_loading = 179; ExternalDeps external_deps = 181; DiffAwareness diff_awareness = 182; ModqueryCommand modquery_command = 183; BuildReport build_report = 184; } reserved 102; // For internal use reserved 105; // For internal use reserved 109; // For internal use reserved 111 to 113; // For internal use reserved 120; // For internal use reserved 128; // For internal use reserved 131; // For internal use reserved 133; // For internal use reserved 138; // For internal use reserved 143; // For internal use reserved 149; // For internal use reserved 155 to 157; // For internal use reserved 165; // For internal use reserved 170 to 171; // For internal use reserved 176; // For internal use reserved 178; // For internal use reserved 180; // For internal use } message Interrupted { enum Code { // Unknown interrupt. Avoid using this code, instead use INTERRUPTED. INTERRUPTED_UNKNOWN = 0 [(metadata) = { exit_code: 8 }]; // Command was interrupted (cancelled). INTERRUPTED = 28 [(metadata) = { exit_code: 8 }]; // The following more specific interrupt codes have been deprecated and // consolidated into INTERRUPTED. DEPRECATED_BUILD = 4 [(metadata) = { exit_code: 8 }]; DEPRECATED_BUILD_COMPLETION = 5 [(metadata) = { exit_code: 8 }]; DEPRECATED_PACKAGE_LOADING_SYNC = 6 [(metadata) = { exit_code: 8 }]; DEPRECATED_EXECUTOR_COMPLETION = 7 [(metadata) = { exit_code: 8 }]; DEPRECATED_COMMAND_DISPATCH = 8 [(metadata) = { exit_code: 8 }]; DEPRECATED_INFO_ITEM = 9 [(metadata) = { exit_code: 8 }]; DEPRECATED_AFTER_QUERY = 10 [(metadata) = { exit_code: 8 }]; DEPRECATED_FETCH_COMMAND = 17 [(metadata) = { exit_code: 8 }]; DEPRECATED_SYNC_COMMAND = 18 [(metadata) = { exit_code: 8 }]; DEPRECATED_CLEAN_COMMAND = 20 [(metadata) = { exit_code: 8 }]; DEPRECATED_MOBILE_INSTALL_COMMAND = 21 [(metadata) = { exit_code: 8 }]; DEPRECATED_QUERY = 22 [(metadata) = { exit_code: 8 }]; DEPRECATED_RUN_COMMAND = 23 [(metadata) = { exit_code: 8 }]; DEPRECATED_OPTIONS_PARSING = 27 [(metadata) = { exit_code: 8 }]; reserved 1 to 3; // For internal use reserved 11 to 16; // For internal use reserved 19; // For internal use reserved 24 to 26; // For internal use } Code code = 1; } message Spawn { enum Code { SPAWN_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; // See the SpawnResult.Status Java enum for definitions of the following // Spawn failure codes. NON_ZERO_EXIT = 1 [(metadata) = { exit_code: 1 }]; TIMEOUT = 2 [(metadata) = { exit_code: 1 }]; // Note: Spawn OUT_OF_MEMORY leads to a BUILD_FAILURE exit_code because the // build tool itself did not run out of memory. OUT_OF_MEMORY = 3 [(metadata) = { exit_code: 1 }]; EXECUTION_FAILED = 4 [(metadata) = { exit_code: 34 }]; EXECUTION_DENIED = 5 [(metadata) = { exit_code: 1 }]; REMOTE_CACHE_FAILED = 6 [(metadata) = { exit_code: 34 }]; COMMAND_LINE_EXPANSION_FAILURE = 7 [(metadata) = { exit_code: 1 }]; EXEC_IO_EXCEPTION = 8 [(metadata) = { exit_code: 36 }]; INVALID_TIMEOUT = 9 [(metadata) = { exit_code: 1 }]; INVALID_REMOTE_EXECUTION_PROPERTIES = 10 [(metadata) = { exit_code: 1 }]; NO_USABLE_STRATEGY_FOUND = 11 [(metadata) = { exit_code: 1 }]; // TODO(b/138456686): this code should be deprecated when SpawnResult is // refactored to prohibit undetailed failures UNSPECIFIED_EXECUTION_FAILURE = 12 [(metadata) = { exit_code: 1 }]; FORBIDDEN_INPUT = 13 [(metadata) = { exit_code: 1 }]; } Code code = 1; // For Codes describing generic failure to spawn (eg. EXECUTION_FAILED and // EXECUTION_DENIED) the `catastrophic` field may be set to true indicating a // failure that immediately terminated the entire build tool. bool catastrophic = 2; // If Code is NON_ZERO_EXIT, the `spawn_exit_code` field may be set to the // non-zero exit code returned by the spawned process to the OS. // // NOTE: This field must not be confused with the build tool's overall // exit code. int32 spawn_exit_code = 3; } message ExternalRepository { enum Code { EXTERNAL_REPOSITORY_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; OVERRIDE_DISALLOWED_MANAGED_DIRECTORIES = 1 [(metadata) = { exit_code: 2 }]; BAD_DOWNLOADER_CONFIG = 2 [(metadata) = { exit_code: 2 }]; REPOSITORY_MAPPING_RESOLUTION_FAILED = 3 [(metadata) = { exit_code: 37 }]; } Code code = 1; // Additional data could include external repository names. } message BuildProgress { enum Code { BUILD_PROGRESS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; OUTPUT_INITIALIZATION = 3 [(metadata) = { exit_code: 36 }]; BES_RUNS_PER_TEST_LIMIT_UNSUPPORTED = 4 [(metadata) = { exit_code: 2 }]; BES_LOCAL_WRITE_ERROR = 5 [(metadata) = { exit_code: 36 }]; BES_INITIALIZATION_ERROR = 6 [(metadata) = { exit_code: 36 }]; BES_UPLOAD_TIMEOUT_ERROR = 7 [(metadata) = { exit_code: 38 }]; BES_FILE_WRITE_TIMEOUT = 8 [(metadata) = { exit_code: 38 }]; BES_FILE_WRITE_IO_ERROR = 9 [(metadata) = { exit_code: 38 }]; BES_FILE_WRITE_INTERRUPTED = 10 [(metadata) = { exit_code: 38 }]; BES_FILE_WRITE_CANCELED = 11 [(metadata) = { exit_code: 38 }]; BES_FILE_WRITE_UNKNOWN_ERROR = 12 [(metadata) = { exit_code: 38 }]; BES_UPLOAD_LOCAL_FILE_ERROR = 13 [(metadata) = { exit_code: 38 }]; BES_STREAM_NOT_RETRYING_FAILURE = 14 [(metadata) = { exit_code: 45 }]; BES_STREAM_COMPLETED_WITH_UNACK_EVENTS_ERROR = 15 [(metadata) = { exit_code: 45 }]; BES_STREAM_COMPLETED_WITH_UNSENT_EVENTS_ERROR = 16 [(metadata) = { exit_code: 45 }]; BES_STREAM_COMPLETED_WITH_REMOTE_ERROR = 19 [(metadata) = { exit_code: 45 }]; BES_UPLOAD_RETRY_LIMIT_EXCEEDED_FAILURE = 17 [(metadata) = { exit_code: 38 }]; reserved 1, 2, 18; // For internal use } Code code = 1; // Additional data could include the build progress upload endpoint. } message RemoteOptions { enum Code { REMOTE_OPTIONS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; REMOTE_DEFAULT_EXEC_PROPERTIES_LOGIC_ERROR = 1 [(metadata) = { exit_code: 2 }]; // Credentials could not be read from the requested file/socket/process/etc. CREDENTIALS_READ_FAILURE = 2 [(metadata) = { exit_code: 36 }]; // Credentials could not be written to a shared, temporary file. CREDENTIALS_WRITE_FAILURE = 3 [(metadata) = { exit_code: 36 }]; DOWNLOADER_WITHOUT_GRPC_CACHE = 4 [(metadata) = { exit_code: 2 }]; EXECUTION_WITH_INVALID_CACHE = 5 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message ClientEnvironment { enum Code { CLIENT_ENVIRONMENT_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; CLIENT_CWD_MALFORMED = 1 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message Crash { enum Code { CRASH_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; CRASH_OOM = 1 [(metadata) = { exit_code: 33 }]; } Code code = 1; // The cause chain of the crash, with the outermost throwable first. Limited // to the outermost exception and at most 4 nested causes (so, max size of 5). repeated Throwable causes = 2; } message Throwable { // The class name of the java.lang.Throwable. string throwable_class = 1; // The throwable's message. string message = 2; // The result of calling toString on the deepest (i.e. closest to the // throwable's construction site) 1000 (or fewer) StackTraceElements. // Unstructured to simplify string matching. repeated string stack_trace = 3; } message SymlinkForest { enum Code { SYMLINK_FOREST_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; TOPLEVEL_OUTDIR_PACKAGE_PATH_CONFLICT = 1 [(metadata) = { exit_code: 2 }]; TOPLEVEL_OUTDIR_USED_AS_SOURCE = 2 [(metadata) = { exit_code: 2 }]; CREATION_FAILED = 3 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message BuildReport { enum Code { BUILD_REPORT_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; BUILD_REPORT_UPLOADER_NEEDS_PACKAGE_PATHS = 1 [(metadata) = { exit_code: 36 }]; BUILD_REPORT_WRITE_FAILED = 2 [(metadata) = { exit_code: 36 }]; } Code code = 1; // Additional data for partial failures might include the build report that // failed to be written. } message PackageOptions { enum Code { reserved 2, 3; // For internal use PACKAGE_OPTIONS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; PACKAGE_PATH_INVALID = 1 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message RemoteExecution { // The association of some of these options with exit code 2, "command line // error", seems sketchy. Especially worth reconsidering are the channel init // failure modes, which can correspond to failures occurring in gRPC setup. // These all correspond with current Bazel behavior. enum Code { REMOTE_EXECUTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; CAPABILITIES_QUERY_FAILURE = 1 [(metadata) = { exit_code: 34 }]; CREDENTIALS_INIT_FAILURE = 2 [(metadata) = { exit_code: 2 }]; CACHE_INIT_FAILURE = 3 [(metadata) = { exit_code: 2 }]; RPC_LOG_FAILURE = 4 [(metadata) = { exit_code: 2 }]; EXEC_CHANNEL_INIT_FAILURE = 5 [(metadata) = { exit_code: 2 }]; CACHE_CHANNEL_INIT_FAILURE = 6 [(metadata) = { exit_code: 2 }]; DOWNLOADER_CHANNEL_INIT_FAILURE = 7 [(metadata) = { exit_code: 2 }]; LOG_DIR_CLEANUP_FAILURE = 8 [(metadata) = { exit_code: 36 }]; CLIENT_SERVER_INCOMPATIBLE = 9 [(metadata) = { exit_code: 34 }]; DOWNLOADED_INPUTS_DELETION_FAILURE = 10 [(metadata) = { exit_code: 34 }]; REMOTE_DOWNLOAD_OUTPUTS_MINIMAL_WITHOUT_INMEMORY_DOTD = 11 [(metadata) = { exit_code: 2 }]; REMOTE_DOWNLOAD_OUTPUTS_MINIMAL_WITHOUT_INMEMORY_JDEPS = 12 [(metadata) = { exit_code: 2 }]; INCOMPLETE_OUTPUT_DOWNLOAD_CLEANUP_FAILURE = 13 [(metadata) = { exit_code: 36 }]; REMOTE_DEFAULT_PLATFORM_PROPERTIES_PARSE_FAILURE = 14 [(metadata) = { exit_code: 1 }]; ILLEGAL_OUTPUT = 15 [(metadata) = { exit_code: 1 }]; INVALID_EXEC_AND_PLATFORM_PROPERTIES = 16 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message Execution { enum Code { EXECUTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; EXECUTION_LOG_INITIALIZATION_FAILURE = 1 [(metadata) = { exit_code: 2 }]; EXECUTION_LOG_WRITE_FAILURE = 2 [(metadata) = { exit_code: 36 }]; EXECROOT_CREATION_FAILURE = 3 [(metadata) = { exit_code: 36 }]; TEMP_ACTION_OUTPUT_DIRECTORY_DELETION_FAILURE = 4 [(metadata) = { exit_code: 36 }]; TEMP_ACTION_OUTPUT_DIRECTORY_CREATION_FAILURE = 5 [(metadata) = { exit_code: 36 }]; PERSISTENT_ACTION_OUTPUT_DIRECTORY_CREATION_FAILURE = 6 [(metadata) = { exit_code: 36 }]; LOCAL_OUTPUT_DIRECTORY_SYMLINK_FAILURE = 7 [(metadata) = { exit_code: 36 }]; reserved 8; // was ACTION_INPUT_FILES_MISSING, now mostly // SOURCE_INPUT_MISSING LOCAL_TEMPLATE_EXPANSION_FAILURE = 9 [(metadata) = { exit_code: 36 }]; INPUT_DIRECTORY_CHECK_IO_EXCEPTION = 10 [(metadata) = { exit_code: 36 }]; EXTRA_ACTION_OUTPUT_CREATION_FAILURE = 11 [(metadata) = { exit_code: 36 }]; TEST_RUNNER_IO_EXCEPTION = 12 [(metadata) = { exit_code: 36 }]; FILE_WRITE_IO_EXCEPTION = 13 [(metadata) = { exit_code: 36 }]; TEST_OUT_ERR_IO_EXCEPTION = 14 [(metadata) = { exit_code: 36 }]; SYMLINK_TREE_MANIFEST_COPY_IO_EXCEPTION = 15 [(metadata) = { exit_code: 36 }]; SYMLINK_TREE_MANIFEST_LINK_IO_EXCEPTION = 16 [(metadata) = { exit_code: 36 }]; SYMLINK_TREE_CREATION_IO_EXCEPTION = 17 [(metadata) = { exit_code: 36 }]; SYMLINK_TREE_CREATION_COMMAND_EXCEPTION = 18 [(metadata) = { exit_code: 36 }]; ACTION_INPUT_READ_IO_EXCEPTION = 19 [(metadata) = { exit_code: 36 }]; ACTION_NOT_UP_TO_DATE = 20 [(metadata) = { exit_code: 1 }]; PSEUDO_ACTION_EXECUTION_PROHIBITED = 21 [(metadata) = { exit_code: 1 }]; DISCOVERED_INPUT_DOES_NOT_EXIST = 22 [(metadata) = { exit_code: 36 }]; ACTION_OUTPUTS_DELETION_FAILURE = 23 [(metadata) = { exit_code: 1 }]; ACTION_OUTPUTS_NOT_CREATED = 24 [(metadata) = { exit_code: 1 }]; ACTION_FINALIZATION_FAILURE = 25 [(metadata) = { exit_code: 1 }]; ACTION_INPUT_LOST = 26 [(metadata) = { exit_code: 1 }]; FILESYSTEM_CONTEXT_UPDATE_FAILURE = 27 [(metadata) = { exit_code: 1 }]; ACTION_OUTPUT_CLOSE_FAILURE = 28 [(metadata) = { exit_code: 1 }]; INPUT_DISCOVERY_IO_EXCEPTION = 29 [(metadata) = { exit_code: 1 }]; TREE_ARTIFACT_DIRECTORY_CREATION_FAILURE = 30 [(metadata) = { exit_code: 1 }]; ACTION_OUTPUT_DIRECTORY_CREATION_FAILURE = 31 [(metadata) = { exit_code: 1 }]; ACTION_FS_OUTPUT_DIRECTORY_CREATION_FAILURE = 32 [(metadata) = { exit_code: 1 }]; ACTION_FS_OUT_ERR_DIRECTORY_CREATION_FAILURE = 33 [(metadata) = { exit_code: 1 }]; NON_ACTION_EXECUTION_FAILURE = 34 [(metadata) = { exit_code: 1 }]; CYCLE = 35 [(metadata) = { exit_code: 1 }]; SOURCE_INPUT_MISSING = 36 [(metadata) = { exit_code: 1 }]; UNEXPECTED_EXCEPTION = 37 [(metadata) = { exit_code: 1 }]; reserved 38; SOURCE_INPUT_IO_EXCEPTION = 39 [(metadata) = { exit_code: 1 }]; } Code code = 1; } // Failure details about Bazel's WORKSPACE features. message Workspaces { enum Code { WORKSPACES_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; WORKSPACES_LOG_INITIALIZATION_FAILURE = 1 [(metadata) = { exit_code: 2 }]; WORKSPACES_LOG_WRITE_FAILURE = 2 [(metadata) = { exit_code: 36 }]; // See `managed_directories` in // https://bazel.build/rules/lib/globals#workspace. ILLEGAL_WORKSPACE_FILE_SYMLINK_WITH_MANAGED_DIRECTORIES = 3 [(metadata) = { exit_code: 1 }]; WORKSPACE_FILE_READ_FAILURE_WITH_MANAGED_DIRECTORIES = 4 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message CrashOptions { enum Code { CRASH_OPTIONS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; reserved 1; // For internal use } Code code = 1; } message Filesystem { enum Code { FILESYSTEM_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; reserved 1; reserved 2; EMBEDDED_BINARIES_ENUMERATION_FAILURE = 3 [(metadata) = { exit_code: 36 }]; SERVER_PID_TXT_FILE_READ_FAILURE = 4 [(metadata) = { exit_code: 36 }]; SERVER_FILE_WRITE_FAILURE = 5 [(metadata) = { exit_code: 36 }]; DEFAULT_DIGEST_HASH_FUNCTION_INVALID_VALUE = 6 [(metadata) = { exit_code: 2 }]; reserved 7; // For internal use } Code code = 1; } message ExecutionOptions { // All numerical exit code associations correspond to pre-existing Bazel // behavior. These associations are suspicious: // - REQUESTED_STRATEGY_INCOMPATIBLE_WITH_SANDBOXING (instead: 2?) // - DEPRECATED_LOCAL_RESOURCES_USED (instead: 2?) // TODO(b/138456686): Revise these after the (intentionally non-breaking) // initial rollout of FailureDetail-based encoding. enum Code { EXECUTION_OPTIONS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; INVALID_STRATEGY = 3 [(metadata) = { exit_code: 2 }]; REQUESTED_STRATEGY_INCOMPATIBLE_WITH_SANDBOXING = 4 [(metadata) = { exit_code: 36 }]; DEPRECATED_LOCAL_RESOURCES_USED = 5 [(metadata) = { exit_code: 36 }]; INVALID_CYCLIC_DYNAMIC_STRATEGY = 6 [(metadata) = { exit_code: 36 }]; RESTRICTION_UNMATCHED_TO_ACTION_CONTEXT = 7 [(metadata) = { exit_code: 2 }]; REMOTE_FALLBACK_STRATEGY_NOT_ABSTRACT_SPAWN = 8 [(metadata) = { exit_code: 2 }]; STRATEGY_NOT_FOUND = 9 [(metadata) = { exit_code: 2 }]; DYNAMIC_STRATEGY_NOT_SANDBOXED = 10 [(metadata) = { exit_code: 2 }]; reserved 1, 2; // For internal use } Code code = 1; } message Command { enum Code { // The name "COMMAND_UNKNOWN" might reasonably be interpreted as "command // not found". The enum's default value should represent a lack of knowledge // about the failure instead. COMMAND_FAILURE_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; COMMAND_NOT_FOUND = 1 [(metadata) = { exit_code: 2 }]; ANOTHER_COMMAND_RUNNING = 2 [(metadata) = { exit_code: 9 }]; PREVIOUSLY_SHUTDOWN = 3 [(metadata) = { exit_code: 36 }]; STARLARK_CPU_PROFILE_FILE_INITIALIZATION_FAILURE = 4 [(metadata) = { exit_code: 36 }]; STARLARK_CPU_PROFILING_INITIALIZATION_FAILURE = 5 [(metadata) = { exit_code: 36 }]; STARLARK_CPU_PROFILE_FILE_WRITE_FAILURE = 6 [(metadata) = { exit_code: 36 }]; INVOCATION_POLICY_PARSE_FAILURE = 7 [(metadata) = { exit_code: 2 }]; INVOCATION_POLICY_INVALID = 8 [(metadata) = { exit_code: 2 }]; OPTIONS_PARSE_FAILURE = 9 [(metadata) = { exit_code: 2 }]; STARLARK_OPTIONS_PARSE_FAILURE = 10 [(metadata) = { exit_code: 2 }]; ARGUMENTS_NOT_RECOGNIZED = 11 [(metadata) = { exit_code: 2 }]; NOT_IN_WORKSPACE = 12 [(metadata) = { exit_code: 2 }]; SPACES_IN_WORKSPACE_PATH = 13 [(metadata) = { exit_code: 36 }]; IN_OUTPUT_DIRECTORY = 14 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message GrpcServer { enum Code { GRPC_SERVER_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; GRPC_SERVER_NOT_COMPILED_IN = 1 [(metadata) = { exit_code: 37 }]; SERVER_BIND_FAILURE = 2 [(metadata) = { exit_code: 1 }]; BAD_COOKIE = 3 [(metadata) = { exit_code: 36 }]; NO_CLIENT_DESCRIPTION = 4 [(metadata) = { exit_code: 36 }]; reserved 5; // For internal use } Code code = 1; } message CanonicalizeFlags { enum Code { CANONICALIZE_FLAGS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; FOR_COMMAND_INVALID = 1 [(metadata) = { exit_code: 2 }]; } Code code = 1; } // Failure modes described by this category pertain to the Bazel invocation // configuration consumed by Bazel's analysis phase. This category is not // intended as a grab-bag for all Bazel flag value constraint violations, which // instead generally belong in the category for the subsystem whose flag values // participate in the constraint. message BuildConfiguration { enum Code { BUILD_CONFIGURATION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; PLATFORM_MAPPING_EVALUATION_FAILURE = 1 [(metadata) = { exit_code: 2 }]; PLATFORM_MAPPINGS_FILE_IS_DIRECTORY = 2 [(metadata) = { exit_code: 1 }]; PLATFORM_MAPPINGS_FILE_NOT_FOUND = 3 [(metadata) = { exit_code: 1 }]; TOP_LEVEL_CONFIGURATION_CREATION_FAILURE = 4 [(metadata) = { exit_code: 1 }]; INVALID_CONFIGURATION = 5 [(metadata) = { exit_code: 2 }]; INVALID_BUILD_OPTIONS = 6 [(metadata) = { exit_code: 2 }]; MULTI_CPU_PREREQ_UNMET = 7 [(metadata) = { exit_code: 2 }]; HEURISTIC_INSTRUMENTATION_FILTER_INVALID = 8 [(metadata) = { exit_code: 2 }]; CYCLE = 9 [(metadata) = { exit_code: 2 }]; CONFLICTING_CONFIGURATIONS = 10 [(metadata) = { exit_code: 2 }]; // This can come from either an invalid user-specified option or a // configuration transition. There's no sure-fire way to distinguish the two // possibilities in Bazel, so we go with the more straightforward // command-line error exit code 2. INVALID_OUTPUT_DIRECTORY_MNEMONIC = 11 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message InfoCommand { // The distinction between a failure to write a single info item and a failure // to write them all seems sketchy. Why do they have different exit codes? // This reflects current Bazel behavior, but deserves more thought. enum Code { INFO_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; TOO_MANY_KEYS = 1 [(metadata) = { exit_code: 2 }]; KEY_NOT_RECOGNIZED = 2 [(metadata) = { exit_code: 2 }]; INFO_BLOCK_WRITE_FAILURE = 3 [(metadata) = { exit_code: 7 }]; ALL_INFO_WRITE_FAILURE = 4 [(metadata) = { exit_code: 36 }]; } Code code = 1; } message MemoryOptions { enum Code { MEMORY_OPTIONS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; EXPERIMENTAL_OOM_MORE_EAGERLY_THRESHOLD_INVALID_VALUE = 1 [(metadata) = { exit_code: 2 }]; EXPERIMENTAL_OOM_MORE_EAGERLY_NO_TENURED_COLLECTORS_FOUND = 2 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message Query { enum Code { QUERY_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; QUERY_FILE_WITH_COMMAND_LINE_EXPRESSION = 1 [(metadata) = { exit_code: 2 }]; QUERY_FILE_READ_FAILURE = 2 [(metadata) = { exit_code: 2 }]; COMMAND_LINE_EXPRESSION_MISSING = 3 [(metadata) = { exit_code: 2 }]; OUTPUT_FORMAT_INVALID = 4 [(metadata) = { exit_code: 2 }]; GRAPHLESS_PREREQ_UNMET = 5 [(metadata) = { exit_code: 2 }]; QUERY_OUTPUT_WRITE_FAILURE = 6 [(metadata) = { exit_code: 36 }]; QUERY_STDOUT_FLUSH_FAILURE = 13 [(metadata) = { exit_code: 36 }]; ANALYSIS_QUERY_PREREQ_UNMET = 14 [(metadata) = { exit_code: 2 }]; QUERY_RESULTS_FLUSH_FAILURE = 15 [(metadata) = { exit_code: 36 }]; // Deprecated - folded into SYNTAX_ERROR. DEPRECATED_UNCLOSED_QUOTATION_EXPRESSION_ERROR = 16 [(metadata) = { exit_code: 2 }]; VARIABLE_NAME_INVALID = 17 [(metadata) = { exit_code: 7 }]; VARIABLE_UNDEFINED = 18 [(metadata) = { exit_code: 7 }]; BUILDFILES_AND_LOADFILES_CANNOT_USE_OUTPUT_LOCATION_ERROR = 19 [(metadata) = { exit_code: 2 }]; BUILD_FILE_ERROR = 20 [(metadata) = { exit_code: 7 }]; CYCLE = 21 [(metadata) = { exit_code: 7 }]; UNIQUE_SKYKEY_THRESHOLD_EXCEEDED = 22 [(metadata) = { exit_code: 7 }]; TARGET_NOT_IN_UNIVERSE_SCOPE = 23 [(metadata) = { exit_code: 2 }]; INVALID_FULL_UNIVERSE_EXPRESSION = 24 [(metadata) = { exit_code: 7 }]; UNIVERSE_SCOPE_LIMIT_EXCEEDED = 25 [(metadata) = { exit_code: 7 }]; INVALIDATION_LIMIT_EXCEEDED = 26 [(metadata) = { exit_code: 7 }]; OUTPUT_FORMAT_PREREQ_UNMET = 27 [(metadata) = { exit_code: 2 }]; ARGUMENTS_MISSING = 28 [(metadata) = { exit_code: 7 }]; RBUILDFILES_FUNCTION_REQUIRES_SKYQUERY = 29 [(metadata) = { exit_code: 7 }]; FULL_TARGETS_NOT_SUPPORTED = 30 [(metadata) = { exit_code: 7 }]; // Deprecated - folded into SYNTAX_ERROR. DEPRECATED_UNEXPECTED_TOKEN_ERROR = 31 [(metadata) = { exit_code: 2 }]; // Deprecated - folded into SYNTAX_ERROR. DEPRECATED_INTEGER_LITERAL_MISSING = 32 [(metadata) = { exit_code: 2 }]; // Deprecated - folded into SYNTAX_ERROR. DEPRECATED_INVALID_STARTING_CHARACTER_ERROR = 33 [(metadata) = { exit_code: 2 }]; // Deprecated - folded into SYNTAX_ERROR. DEPRECATED_PREMATURE_END_OF_INPUT_ERROR = 34 [(metadata) = { exit_code: 2 }]; // Indicates the user specified invalid query syntax. SYNTAX_ERROR = 35 [(metadata) = { exit_code: 2 }]; OUTPUT_FORMATTER_IO_EXCEPTION = 36 [(metadata) = { exit_code: 36 }]; SKYQUERY_TRANSITIVE_TARGET_ERROR = 37 [(metadata) = { exit_code: 7 }]; SKYQUERY_TARGET_EXCEPTION = 38 [(metadata) = { exit_code: 7 }]; INVALID_LABEL_IN_TEST_SUITE = 39 [(metadata) = { exit_code: 7 }]; // Indicates any usage of flags that must not be combined. ILLEGAL_FLAG_COMBINATION = 40 [(metadata) = { exit_code: 2 }]; // Indicates a non-detailed exception that halted a query. This is a // deficiency in Blaze/Bazel and code should be changed to attach a detailed // exit code to this failure mode. NON_DETAILED_ERROR = 41 [(metadata) = { exit_code: 1 }]; reserved 7 to 12; // For internal use } Code code = 1; } message LocalExecution { enum Code { LOCAL_EXECUTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; LOCKFREE_OUTPUT_PREREQ_UNMET = 1 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message ActionCache { enum Code { ACTION_CACHE_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; INITIALIZATION_FAILURE = 1 [(metadata) = { exit_code: 36 }]; } Code code = 1; } message FetchCommand { enum Code { FETCH_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; EXPRESSION_MISSING = 1 [(metadata) = { exit_code: 2 }]; OPTIONS_INVALID = 2 [(metadata) = { exit_code: 2 }]; QUERY_PARSE_ERROR = 3 [(metadata) = { exit_code: 2 }]; QUERY_EVALUATION_ERROR = 4 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message SyncCommand { enum Code { SYNC_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; PACKAGE_LOOKUP_ERROR = 1 [(metadata) = { exit_code: 7 }]; WORKSPACE_EVALUATION_ERROR = 2 [(metadata) = { exit_code: 7 }]; REPOSITORY_FETCH_ERRORS = 3 [(metadata) = { exit_code: 7 }]; REPOSITORY_NAME_INVALID = 4 [(metadata) = { exit_code: 7 }]; } Code code = 1; } message Sandbox { enum Code { SANDBOX_FAILURE_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; INITIALIZATION_FAILURE = 1 [(metadata) = { exit_code: 36 }]; EXECUTION_IO_EXCEPTION = 2 [(metadata) = { exit_code: 36 }]; DOCKER_COMMAND_FAILURE = 3 [(metadata) = { exit_code: 1 }]; NO_DOCKER_IMAGE = 4 [(metadata) = { exit_code: 1 }]; DOCKER_IMAGE_PREPARATION_FAILURE = 5 [(metadata) = { exit_code: 1 }]; BIND_MOUNT_ANALYSIS_FAILURE = 6 [(metadata) = { exit_code: 1 }]; MOUNT_SOURCE_DOES_NOT_EXIST = 7 [(metadata) = { exit_code: 1 }]; MOUNT_SOURCE_TARGET_TYPE_MISMATCH = 8 [(metadata) = { exit_code: 1 }]; MOUNT_TARGET_DOES_NOT_EXIST = 9 [(metadata) = { exit_code: 1 }]; SUBPROCESS_START_FAILED = 10 [(metadata) = { exit_code: 36 }]; FORBIDDEN_INPUT = 11 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message IncludeScanning { enum Code { INCLUDE_SCANNING_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; INITIALIZE_INCLUDE_HINTS_ERROR = 1 [(metadata) = { exit_code: 36 }]; SCANNING_IO_EXCEPTION = 2 [(metadata) = { exit_code: 36 }]; INCLUDE_HINTS_FILE_NOT_IN_PACKAGE = 3 [(metadata) = { exit_code: 36 }]; INCLUDE_HINTS_READ_FAILURE = 4 [(metadata) = { exit_code: 36 }]; ILLEGAL_ABSOLUTE_PATH = 5 [(metadata) = { exit_code: 1 }]; // TODO(b/166268889): this code should be deprecated in favor of more finely // resolved loading-phase codes. PACKAGE_LOAD_FAILURE = 6 [(metadata) = { exit_code: 1 }]; USER_PACKAGE_LOAD_FAILURE = 7 [(metadata) = { exit_code: 1 }]; SYSTEM_PACKAGE_LOAD_FAILURE = 8 [(metadata) = { exit_code: 36 }]; UNDIFFERENTIATED_PACKAGE_LOAD_FAILURE = 9 [(metadata) = { exit_code: 1 }]; } Code code = 1; PackageLoading.Code package_loading_code = 2; } message TestCommand { enum Code { TEST_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; NO_TEST_TARGETS = 1 [(metadata) = { exit_code: 4 }]; TEST_WITH_NOANALYZE = 2 [(metadata) = { exit_code: 1 }]; TESTS_FAILED = 3 [(metadata) = { exit_code: 3 }]; } Code code = 1; } message ActionQuery { // All numerical exit code associations correspond to pre-existing Bazel // behavior. These associations are suspicious: // - COMMAND_LINE_EXPANSION_FAILURE: this is associated with 2, the numerical // exit code for "bad Bazel command line", but is generated when an // action's command line fails to expand, which sounds similar but is // completely different. // - OUTPUT_FAILURE: this is associated with 6, an undocumented exit code. // - INVALID_AQUERY_EXPRESSION: this is associate with 1, which is not // documented for (a)query. // TODO(b/138456686): Revise these after the (intentionally non-breaking) // initial rollout of FailureDetail-based encoding. enum Code { ACTION_QUERY_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; COMMAND_LINE_EXPANSION_FAILURE = 1 [(metadata) = { exit_code: 2 }]; OUTPUT_FAILURE = 2 [(metadata) = { exit_code: 6 }]; COMMAND_LINE_EXPRESSION_MISSING = 3 [(metadata) = { exit_code: 2 }]; EXPRESSION_PARSE_FAILURE = 4 [(metadata) = { exit_code: 2 }]; SKYFRAME_STATE_WITH_COMMAND_LINE_EXPRESSION = 5 [(metadata) = { exit_code: 2 }]; INVALID_AQUERY_EXPRESSION = 6 [(metadata) = { exit_code: 1 }]; SKYFRAME_STATE_PREREQ_UNMET = 7 [(metadata) = { exit_code: 2 }]; AQUERY_OUTPUT_TOO_BIG = 8 [(metadata) = { exit_code: 7 }]; ILLEGAL_PATTERN_SYNTAX = 9 [(metadata) = { exit_code: 2 }]; INCORRECT_ARGUMENTS = 10 [(metadata) = { exit_code: 2 }]; TOP_LEVEL_TARGETS_WITH_SKYFRAME_STATE_NOT_SUPPORTED = 11 [(metadata) = { exit_code: 2 }]; SKYFRAME_STATE_AFTER_EXECUTION = 12 [(metadata) = { exit_code: 1 }]; LABELS_FUNCTION_NOT_SUPPORTED = 13 [(metadata) = { exit_code: 2 }]; TEMPLATE_EXPANSION_FAILURE = 14 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message TargetPatterns { enum Code { TARGET_PATTERNS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; TARGET_PATTERN_FILE_WITH_COMMAND_LINE_PATTERN = 1 [(metadata) = { exit_code: 2 }]; TARGET_PATTERN_FILE_READ_FAILURE = 2 [(metadata) = { exit_code: 2 }]; TARGET_PATTERN_PARSE_FAILURE = 3 [(metadata) = { exit_code: 1 }]; PACKAGE_NOT_FOUND = 4 [(metadata) = { exit_code: 1 }]; TARGET_FORMAT_INVALID = 5 [(metadata) = { exit_code: 1 }]; ABSOLUTE_TARGET_PATTERN_INVALID = 6 [(metadata) = { exit_code: 1 }]; CANNOT_DETERMINE_TARGET_FROM_FILENAME = 7 [(metadata) = { exit_code: 1 }]; LABEL_SYNTAX_ERROR = 8 [(metadata) = { exit_code: 1 }]; TARGET_CANNOT_BE_EMPTY_STRING = 9 [(metadata) = { exit_code: 1 }]; PACKAGE_PART_CANNOT_END_IN_SLASH = 10 [(metadata) = { exit_code: 1 }]; CYCLE = 11 [(metadata) = { exit_code: 1 }]; CANNOT_PRELOAD_TARGET = 12 [(metadata) = { exit_code: 1 }]; TARGETS_MISSING = 13 [(metadata) = { exit_code: 1 }]; RECURSIVE_TARGET_PATTERNS_NOT_ALLOWED = 14 [(metadata) = { exit_code: 1 }]; UP_LEVEL_REFERENCES_NOT_ALLOWED = 15 [(metadata) = { exit_code: 1 }]; NEGATIVE_TARGET_PATTERN_NOT_ALLOWED = 16 [(metadata) = { exit_code: 1 }]; TARGET_MUST_BE_A_FILE = 17 [(metadata) = { exit_code: 1 }]; DEPENDENCY_NOT_FOUND = 18 [(metadata) = { exit_code: 1 }]; PACKAGE_NAME_INVALID = 19 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message CleanCommand { enum Code { CLEAN_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; OUTPUT_SERVICE_CLEAN_FAILURE = 1 [(metadata) = { exit_code: 6 }]; ACTION_CACHE_CLEAN_FAILURE = 2 [(metadata) = { exit_code: 36 }]; OUT_ERR_CLOSE_FAILURE = 3 [(metadata) = { exit_code: 36 }]; OUTPUT_BASE_DELETE_FAILURE = 4 [(metadata) = { exit_code: 36 }]; OUTPUT_BASE_TEMP_MOVE_FAILURE = 5 [(metadata) = { exit_code: 36 }]; ASYNC_OUTPUT_BASE_DELETE_FAILURE = 6 [(metadata) = { exit_code: 6 }]; EXECROOT_DELETE_FAILURE = 7 [(metadata) = { exit_code: 36 }]; EXECROOT_TEMP_MOVE_FAILURE = 8 [(metadata) = { exit_code: 36 }]; ASYNC_EXECROOT_DELETE_FAILURE = 9 [(metadata) = { exit_code: 6 }]; ARGUMENTS_NOT_RECOGNIZED = 10 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message ConfigCommand { enum Code { CONFIG_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; TOO_MANY_CONFIG_IDS = 1 [(metadata) = { exit_code: 2 }]; CONFIGURATION_NOT_FOUND = 2 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message ConfigurableQuery { enum Code { CONFIGURABLE_QUERY_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; COMMAND_LINE_EXPRESSION_MISSING = 1 [(metadata) = { exit_code: 2 }]; EXPRESSION_PARSE_FAILURE = 2 [(metadata) = { exit_code: 2 }]; FILTERS_NOT_SUPPORTED = 3 [(metadata) = { exit_code: 2 }]; BUILDFILES_FUNCTION_NOT_SUPPORTED = 4 [(metadata) = { exit_code: 2 }]; SIBLINGS_FUNCTION_NOT_SUPPORTED = 5 [(metadata) = { exit_code: 2 }]; VISIBLE_FUNCTION_NOT_SUPPORTED = 6 [(metadata) = { exit_code: 2 }]; ATTRIBUTE_MISSING = 7 [(metadata) = { exit_code: 2 }]; INCORRECT_CONFIG_ARGUMENT_ERROR = 8 [(metadata) = { exit_code: 2 }]; TARGET_MISSING = 9 [(metadata) = { exit_code: 2 }]; STARLARK_SYNTAX_ERROR = 10 [(metadata) = { exit_code: 2 }]; STARLARK_EVAL_ERROR = 11 [(metadata) = { exit_code: 2 }]; // Indicates failure to correctly define a format function FORMAT_FUNCTION_ERROR = 12 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message DumpCommand { enum Code { DUMP_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; NO_OUTPUT_SPECIFIED = 1 [(metadata) = { exit_code: 7 }]; ACTION_CACHE_DUMP_FAILED = 2 [(metadata) = { exit_code: 7 }]; COMMAND_LINE_EXPANSION_FAILURE = 3 [(metadata) = { exit_code: 7 }]; ACTION_GRAPH_DUMP_FAILED = 4 [(metadata) = { exit_code: 7 }]; STARLARK_HEAP_DUMP_FAILED = 5 [(metadata) = { exit_code: 8 }]; reserved 6; // For internal use } Code code = 1; } message HelpCommand { enum Code { HELP_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; MISSING_ARGUMENT = 1 [(metadata) = { exit_code: 2 }]; COMMAND_NOT_FOUND = 2 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message MobileInstall { enum Code { MOBILE_INSTALL_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; CLASSIC_UNSUPPORTED = 1 [(metadata) = { exit_code: 2 }]; NO_TARGET_SPECIFIED = 2 [(metadata) = { exit_code: 2 }]; MULTIPLE_TARGETS_SPECIFIED = 3 [(metadata) = { exit_code: 2 }]; TARGET_TYPE_INVALID = 4 [(metadata) = { exit_code: 6 }]; NON_ZERO_EXIT = 5 [(metadata) = { exit_code: 6 }]; ERROR_RUNNING_PROGRAM = 6 [(metadata) = { exit_code: 6 }]; } Code code = 1; } message ProfileCommand { enum Code { PROFILE_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; OLD_BINARY_FORMAT_UNSUPPORTED = 1 [(metadata) = { exit_code: 1 }]; FILE_READ_FAILURE = 2 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message RunCommand { enum Code { RUN_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; NO_TARGET_SPECIFIED = 1 [(metadata) = { exit_code: 2 }]; TOO_MANY_TARGETS_SPECIFIED = 2 [(metadata) = { exit_code: 2 }]; TARGET_NOT_EXECUTABLE = 3 [(metadata) = { exit_code: 2 }]; TARGET_BUILT_BUT_PATH_NOT_EXECUTABLE = 4 [(metadata) = { exit_code: 1 }]; TARGET_BUILT_BUT_PATH_VALIDATION_FAILED = 5 [(metadata) = { exit_code: 36 }]; RUN_UNDER_TARGET_NOT_BUILT = 6 [(metadata) = { exit_code: 2 }]; RUN_PREREQ_UNMET = 7 [(metadata) = { exit_code: 2 }]; TOO_MANY_TEST_SHARDS_OR_RUNS = 8 [(metadata) = { exit_code: 2 }]; TEST_ENVIRONMENT_SETUP_FAILURE = 9 [(metadata) = { exit_code: 36 }]; COMMAND_LINE_EXPANSION_FAILURE = 10 [(metadata) = { exit_code: 36 }]; NO_SHELL_SPECIFIED = 11 [(metadata) = { exit_code: 2 }]; SCRIPT_WRITE_FAILURE = 12 [(metadata) = { exit_code: 6 }]; RUNFILES_DIRECTORIES_CREATION_FAILURE = 13 [(metadata) = { exit_code: 36 }]; RUNFILES_SYMLINKS_CREATION_FAILURE = 14 [(metadata) = { exit_code: 36 }]; TEST_ENVIRONMENT_SETUP_INTERRUPTED = 15 [(metadata) = { exit_code: 8 }]; } Code code = 1; } message VersionCommand { enum Code { VERSION_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; NOT_AVAILABLE = 1 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message PrintActionCommand { enum Code { PRINT_ACTION_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; TARGET_NOT_FOUND = 1 [(metadata) = { exit_code: 1 }]; COMMAND_LINE_EXPANSION_FAILURE = 2 [(metadata) = { exit_code: 1 }]; TARGET_KIND_UNSUPPORTED = 3 [(metadata) = { exit_code: 1 }]; ACTIONS_NOT_FOUND = 4 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message WorkspaceStatus { enum Code { WORKSPACE_STATUS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; NON_ZERO_EXIT = 1 [(metadata) = { exit_code: 1 }]; ABNORMAL_TERMINATION = 2 [(metadata) = { exit_code: 1 }]; EXEC_FAILED = 3 [(metadata) = { exit_code: 1 }]; PARSE_FAILURE = 4 [(metadata) = { exit_code: 36 }]; VALIDATION_FAILURE = 5 [(metadata) = { exit_code: 1 }]; CONTENT_UPDATE_IO_EXCEPTION = 6 [(metadata) = { exit_code: 1 }]; STDERR_IO_EXCEPTION = 7 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message JavaCompile { enum Code { JAVA_COMPILE_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; REDUCED_CLASSPATH_FAILURE = 1 [(metadata) = { exit_code: 1 }]; COMMAND_LINE_EXPANSION_FAILURE = 2 [(metadata) = { exit_code: 1 }]; JDEPS_READ_IO_EXCEPTION = 3 [(metadata) = { exit_code: 36 }]; REDUCED_CLASSPATH_FALLBACK_CLEANUP_FAILURE = 4 [(metadata) = { exit_code: 36 }]; } Code code = 1; } message ActionRewinding { enum Code { ACTION_REWINDING_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; LOST_INPUT_TOO_MANY_TIMES = 1 [(metadata) = { exit_code: 1 }]; LOST_INPUT_IS_SOURCE = 2 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message CppCompile { enum Code { CPP_COMPILE_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; FIND_USED_HEADERS_IO_EXCEPTION = 1 [(metadata) = { exit_code: 36 }]; COPY_OUT_ERR_FAILURE = 2 [(metadata) = { exit_code: 36 }]; D_FILE_READ_FAILURE = 3 [(metadata) = { exit_code: 36 }]; COMMAND_GENERATION_FAILURE = 4 [(metadata) = { exit_code: 1 }]; MODULE_EXPANSION_TIMEOUT = 5 [(metadata) = { exit_code: 1 }]; INCLUDE_PATH_OUTSIDE_EXEC_ROOT = 6 [(metadata) = { exit_code: 1 }]; FAKE_COMMAND_GENERATION_FAILURE = 7 [(metadata) = { exit_code: 1 }]; UNDECLARED_INCLUSIONS = 8 [(metadata) = { exit_code: 1 }]; D_FILE_PARSE_FAILURE = 9 [(metadata) = { exit_code: 1 }]; COVERAGE_NOTES_CREATION_FAILURE = 10 [(metadata) = { exit_code: 1 }]; MODULE_EXPANSION_MISSING_DATA = 11 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message StarlarkAction { enum Code { STARLARK_ACTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; UNUSED_INPUT_LIST_READ_FAILURE = 1 [(metadata) = { exit_code: 36 }]; UNUSED_INPUT_LIST_FILE_NOT_FOUND = 2 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message NinjaAction { enum Code { NINJA_ACTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; INVALID_DEPFILE_DECLARED_DEPENDENCY = 1 [(metadata) = { exit_code: 36 }]; D_FILE_PARSE_FAILURE = 2 [(metadata) = { exit_code: 36 }]; } Code code = 1; } message DynamicExecution { enum Code { DYNAMIC_EXECUTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; XCODE_RELATED_PREREQ_UNMET = 1 [(metadata) = { exit_code: 36 }]; ACTION_LOG_MOVE_FAILURE = 2 [(metadata) = { exit_code: 1 }]; RUN_FAILURE = 3 [(metadata) = { exit_code: 1 }]; NO_USABLE_STRATEGY_FOUND = 4 [(metadata) = { exit_code: 2 }]; } Code code = 1; } message FailAction { enum Code { FAIL_ACTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; INTENTIONAL_FAILURE = 1 [(metadata) = { exit_code: 1 }]; INCORRECT_PYTHON_VERSION = 2 [(metadata) = { exit_code: 1 }]; PROGUARD_SPECS_MISSING = 3 [(metadata) = { exit_code: 1 }]; DYNAMIC_LINKING_NOT_SUPPORTED = 4 [(metadata) = { exit_code: 1 }]; SOURCE_FILES_MISSING = 5 [(metadata) = { exit_code: 1 }]; INCORRECT_TOOLCHAIN = 6 [(metadata) = { exit_code: 1 }]; FRAGMENT_CLASS_MISSING = 7 [(metadata) = { exit_code: 1 }]; reserved 8, 9; // For internal use CANT_BUILD_INCOMPATIBLE_TARGET = 10 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message SymlinkAction { enum Code { SYMLINK_ACTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; EXECUTABLE_INPUT_NOT_FILE = 1 [(metadata) = { exit_code: 1 }]; EXECUTABLE_INPUT_IS_NOT = 2 [(metadata) = { exit_code: 1 }]; EXECUTABLE_INPUT_CHECK_IO_EXCEPTION = 3 [(metadata) = { exit_code: 1 }]; LINK_CREATION_IO_EXCEPTION = 4 [(metadata) = { exit_code: 1 }]; LINK_TOUCH_IO_EXCEPTION = 5 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message CppLink { enum Code { CPP_LINK_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; COMMAND_GENERATION_FAILURE = 1 [(metadata) = { exit_code: 1 }]; FAKE_COMMAND_GENERATION_FAILURE = 2 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message LtoAction { enum Code { LTO_ACTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; INVALID_ABSOLUTE_PATH_IN_IMPORTS = 1 [(metadata) = { exit_code: 1 }]; MISSING_BITCODE_FILES = 2 [(metadata) = { exit_code: 1 }]; IMPORTS_READ_IO_EXCEPTION = 3 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message TestAction { enum Code { TEST_ACTION_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; NO_KEEP_GOING_TEST_FAILURE = 1 [(metadata) = { exit_code: 1 }]; LOCAL_TEST_PREREQ_UNMET = 2 [(metadata) = { exit_code: 1 }]; COMMAND_LINE_EXPANSION_FAILURE = 3 [(metadata) = { exit_code: 1 }]; DUPLICATE_CPU_TAGS = 4 [(metadata) = { exit_code: 1 }]; INVALID_CPU_TAG = 5 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message Worker { enum Code { WORKER_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; MULTIPLEXER_INSTANCE_REMOVAL_FAILURE = 1 [(metadata) = { exit_code: 1 }]; MULTIPLEXER_DOES_NOT_EXIST = 2 [(metadata) = { exit_code: 1 }]; NO_TOOLS = 3 [(metadata) = { exit_code: 1 }]; NO_FLAGFILE = 4 [(metadata) = { exit_code: 1 }]; VIRTUAL_INPUT_MATERIALIZATION_FAILURE = 5 [(metadata) = { exit_code: 1 }]; BORROW_FAILURE = 6 [(metadata) = { exit_code: 1 }]; PREFETCH_FAILURE = 7 [(metadata) = { exit_code: 36 }]; PREPARE_FAILURE = 8 [(metadata) = { exit_code: 1 }]; REQUEST_FAILURE = 9 [(metadata) = { exit_code: 1 }]; PARSE_RESPONSE_FAILURE = 10 [(metadata) = { exit_code: 1 }]; NO_RESPONSE = 11 [(metadata) = { exit_code: 1 }]; FINISH_FAILURE = 12 [(metadata) = { exit_code: 1 }]; FORBIDDEN_INPUT = 13 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message Analysis { enum Code { ANALYSIS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; LOAD_FAILURE = 1 [(metadata) = { exit_code: 1 }]; // TODO(b/138456686): this code should be deprecated in favor of more finely // resolved loading-phase codes. GENERIC_LOADING_PHASE_FAILURE = 2 [(metadata) = { exit_code: 1 }]; NOT_ALL_TARGETS_ANALYZED = 3 [(metadata) = { exit_code: 1 }]; CYCLE = 4 [(metadata) = { exit_code: 1 }]; PARAMETERIZED_TOP_LEVEL_ASPECT_INVALID = 5 [(metadata) = { exit_code: 1 }]; ASPECT_LABEL_SYNTAX_ERROR = 6 [(metadata) = { exit_code: 1 }]; ASPECT_PREREQ_UNMET = 7 [(metadata) = { exit_code: 1 }]; ASPECT_NOT_FOUND = 8 [(metadata) = { exit_code: 1 }]; ACTION_CONFLICT = 9 [(metadata) = { exit_code: 1 }]; ARTIFACT_PREFIX_CONFLICT = 10 [(metadata) = { exit_code: 1 }]; UNEXPECTED_ANALYSIS_EXCEPTION = 11 [(metadata) = { exit_code: 1 }]; TARGETS_MISSING_ENVIRONMENTS = 12 [(metadata) = { exit_code: 1 }]; INVALID_ENVIRONMENT = 13 [(metadata) = { exit_code: 1 }]; ENVIRONMENT_MISSING_FROM_GROUPS = 14 [(metadata) = { exit_code: 1 }]; EXEC_GROUP_MISSING = 15 [(metadata) = { exit_code: 1 }]; INVALID_EXECUTION_PLATFORM = 16 [(metadata) = { exit_code: 1 }]; ASPECT_CREATION_FAILED = 17 [(metadata) = { exit_code: 1 }]; CONFIGURED_VALUE_CREATION_FAILED = 18 [(metadata) = { exit_code: 1 }]; INCOMPATIBLE_TARGET_REQUESTED = 19 [(metadata) = { exit_code: 1 }]; ANALYSIS_FAILURE_PROPAGATION_FAILED = 20 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message PackageLoading { enum Code { PACKAGE_LOADING_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; WORKSPACE_FILE_ERROR = 1 [(metadata) = { exit_code: 1 }]; MAX_COMPUTATION_STEPS_EXCEEDED = 2 [(metadata) = { exit_code: 1 }]; BUILD_FILE_MISSING = 3 [(metadata) = { exit_code: 1 }]; REPOSITORY_MISSING = 4 [(metadata) = { exit_code: 1 }]; PERSISTENT_INCONSISTENT_FILESYSTEM_ERROR = 5 [(metadata) = { exit_code: 36 }]; TRANSIENT_INCONSISTENT_FILESYSTEM_ERROR = 6 [(metadata) = { exit_code: 36 }]; INVALID_NAME = 7 [(metadata) = { exit_code: 1 }]; // was: PRELUDE_FILE_READ_ERROR. Replaced by IMPORT_STARLARK_FILE_ERROR // when the prelude was changed to be loaded as a Starlark module. reserved 8; EVAL_GLOBS_SYMLINK_ERROR = 9 [(metadata) = { exit_code: 1 }]; IMPORT_STARLARK_FILE_ERROR = 10 [(metadata) = { exit_code: 1 }]; PACKAGE_MISSING = 11 [(metadata) = { exit_code: 1 }]; TARGET_MISSING = 12 [(metadata) = { exit_code: 1 }]; NO_SUCH_THING = 13 [(metadata) = { exit_code: 1 }]; GLOB_IO_EXCEPTION = 14 [(metadata) = { exit_code: 36 }]; DUPLICATE_LABEL = 15 [(metadata) = { exit_code: 1 }]; INVALID_PACKAGE_SPECIFICATION = 16 [(metadata) = { exit_code: 1 }]; SYNTAX_ERROR = 17 [(metadata) = { exit_code: 1 }]; ENVIRONMENT_IN_DIFFERENT_PACKAGE = 18 [(metadata) = { exit_code: 1 }]; DEFAULT_ENVIRONMENT_UNDECLARED = 19 [(metadata) = { exit_code: 1 }]; ENVIRONMENT_IN_MULTIPLE_GROUPS = 20 [(metadata) = { exit_code: 1 }]; ENVIRONMENT_DOES_NOT_EXIST = 21 [(metadata) = { exit_code: 1 }]; ENVIRONMENT_INVALID = 22 [(metadata) = { exit_code: 1 }]; ENVIRONMENT_NOT_IN_GROUP = 23 [(metadata) = { exit_code: 1 }]; PACKAGE_NAME_INVALID = 24 [(metadata) = { exit_code: 1 }]; STARLARK_EVAL_ERROR = 25 [(metadata) = { exit_code: 1 }]; LICENSE_PARSE_FAILURE = 26 [(metadata) = { exit_code: 1 }]; DISTRIBUTIONS_PARSE_FAILURE = 27 [(metadata) = { exit_code: 1 }]; LABEL_CROSSES_PACKAGE_BOUNDARY = 28 [(metadata) = { exit_code: 1 }]; // Failure while evaluating or applying @_builtins injection. Since the // builtins .bzl files are always packaged with Blaze in production, a // failure here generally indicates a bug in Blaze. BUILTINS_INJECTION_FAILURE = 29 [(metadata) = { exit_code: 1 }]; SYMLINK_CYCLE_OR_INFINITE_EXPANSION = 30 [(metadata) = { exit_code: 1 }]; OTHER_IO_EXCEPTION = 31 [(metadata) = { exit_code: 36 }]; } Code code = 1; } message Toolchain { enum Code { TOOLCHAIN_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; MISSING_PROVIDER = 1 [(metadata) = { exit_code: 1 }]; INVALID_CONSTRAINT_VALUE = 2 [(metadata) = { exit_code: 1 }]; INVALID_PLATFORM_VALUE = 3 [(metadata) = { exit_code: 1 }]; INVALID_TOOLCHAIN = 4 [(metadata) = { exit_code: 1 }]; NO_MATCHING_EXECUTION_PLATFORM = 5 [(metadata) = { exit_code: 1 }]; NO_MATCHING_TOOLCHAIN = 6 [(metadata) = { exit_code: 1 }]; INVALID_TOOLCHAIN_TYPE = 7 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message StarlarkLoading { enum Code { STARLARK_LOADING_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; CYCLE = 1 [(metadata) = { exit_code: 1 }]; COMPILE_ERROR = 2 [(metadata) = { exit_code: 1 }]; PARSE_ERROR = 3 [(metadata) = { exit_code: 1 }]; EVAL_ERROR = 4 [(metadata) = { exit_code: 1 }]; CONTAINING_PACKAGE_NOT_FOUND = 5 [(metadata) = { exit_code: 1 }]; PACKAGE_NOT_FOUND = 6 [(metadata) = { exit_code: 1 }]; IO_ERROR = 7 [(metadata) = { exit_code: 1 }]; LABEL_CROSSES_PACKAGE_BOUNDARY = 8 [(metadata) = { exit_code: 1 }]; BUILTINS_ERROR = 9 [(metadata) = { exit_code: 1 }]; VISIBILITY_ERROR = 10 [(metadata) = { exit_code: 1 }]; } Code code = 1; } message ExternalDeps { enum Code { EXTERNAL_DEPS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; MODULE_NOT_FOUND = 1 [(metadata) = { exit_code: 48 }]; BAD_MODULE = 2 [(metadata) = { exit_code: 48 }]; VERSION_RESOLUTION_ERROR = 3 [(metadata) = { exit_code: 48 }]; INVALID_REGISTRY_URL = 4 [(metadata) = { exit_code: 48 }]; ERROR_ACCESSING_REGISTRY = 5 [(metadata) = { exit_code: 32 }]; } Code code = 1; } message DiffAwareness { enum Code { DIFF_AWARENESS_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; DIFF_STAT_FAILED = 1 [(metadata) = { exit_code: 36 }]; } Code code = 1; } message ModqueryCommand { enum Code { MODQUERY_COMMAND_UNKNOWN = 0 [(metadata) = { exit_code: 37 }]; MISSING_ARGUMENTS = 1 [(metadata) = { exit_code: 2 }]; TOO_MANY_ARGUMENTS = 2 [(metadata) = { exit_code: 2 }]; INVALID_ARGUMENTS = 3 [(metadata) = { exit_code: 2 }]; } Code code = 1; }