Skip to content

Provider OpenToFu creating zombie git processes #74

@alexmeise

Description

@alexmeise

What happened?

During normal operations provider-opentofu creates git processes that are staying in a defunct state indefinitely (until the Pod is restarted).

As a result, it creates a zombie processes that should not exist.

A few hours with a small amount of resources accumulated ~350 zombie processes. With more resources during a weekend it can go well over 10 0000.

It can be seen either by running ps from a Node or a Pod:

  • Pod: kubectl exec -it pod/PROVIDER-OPENTOFU-POD -- ps

  • Node: ps -afx

Example output (reduced):

> ps -afx
17303 ?        Ssl    0:06  \_ crossplane-opentofu-provider
17755 ?        Zs     0:00      \_ [git] <defunct>
17967 ?        Zs     0:00      \_ [git] <defunct>
18115 ?        Zs     0:00      \_ [git] <defunct>
21050 ?        Zs     0:00      \_ [git] <defunct>
21117 ?        Zs     0:00      \_ [git] <defunct>
21209 ?        Zs     0:00      \_ [git] <defunct>
23216 ?        Zs     0:00      \_ [git] <defunct>
23414 ?        Zs     0:00      \_ [git] <defunct>
23540 ?        Zs     0:00      \_ [git] <defunct>
25333 ?        Zs     0:00      \_ [git] <defunct>
25448 ?        Zs     0:00      \_ [git] <defunct>
25535 ?        Zs     0:00      \_ [git] <defunct>
27277 ?        Zs     0:00      \_ [git] <defunct>
27619 ?        Zs     0:00      \_ [git] <defunct>

How can we reproduce it?

Create any instance of a Workspace with a remote source and check the dead processes piling up. Excerpt from an actual Workspace used below:

module: git::https://<--REDACTED-->
source: Remote

What environment did it happen in?

Crossplane v1.18.1
Provider OpenToFu v0.2.5
Rancher Desktop: v1.19.3
K8S version: v1.32.6 (issue was present on other versions also)

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