Skip to content

extractIncludeProto deadlocks #767

@michaelliau

Description

@michaelliau

We are encountering consistent build timeouts in CI related to what appears to be deadlock during parallel execution of the extractIncludeProto task. We've cleaned up our usage of the plugin as a result of the errors but we're still seeing a relatively high rate of failures (15%).

Here are the relevant plugin configuration portions from our convention:

plugins {
    id("com.google.protobuf")
}

protobuf {
    protoc {
        val protobufVersion = extensionLibs.findLibrary("google.protobuf").orElseThrow().get().version
        artifact = "com.google.protobuf:protoc:${protobufVersion}"
    }
    plugins {
        id("grpc") {
            val grpcVersion = extensionLibs.findLibrary("grpc.protobuf").orElseThrow().get().version
            artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
        }
    }
    generateProtoTasks {
        all().forEach { task ->
            task.builtins {
                id("python") { }
            }
            task.plugins {

                id("grpc") {
                    outputSubDir = "java"
                }
            }
        }
    }
}

We have 3 projects that appear to get stuck in every build failure (timeout due to no progress):

> Task :hummingbird:interfaces:dmz:customer:extractIncludeProto
> Task :hummingbird:interfaces:dmz:quoting:extractIncludeProto
> Task :hummingbird:interfaces:dmz:user:extractIncludeProto

Two of the projects do not include any external protos but one does include common google types (timestamp, date, money, etc). There are no dependencies between these projects - each should build independently of the others.

Any insight on what could be happening here and steps to remedy?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions