Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

extractIncludeProto deadlocks #767

Open
michaelliau opened this issue Dec 13, 2024 · 0 comments
Open

extractIncludeProto deadlocks #767

michaelliau opened this issue Dec 13, 2024 · 0 comments

Comments

@michaelliau
Copy link

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant