libgit2 / git2go

Git to Go; bindings for libgit2. Like McDonald's but tastier.
MIT License
1.93k stars 314 forks source link

Libgit2 return not wanted error: libgit2 was not built with OpenSSL support #873

Open dbadura opened 2 years ago

dbadura commented 2 years ago

When you run following code:

func TestLibGit2InitError(t *testing.T) {
    // the more time pass, the possibility of openssl init error occurrence is smaller, because something cleans it
    time.Sleep(3 * time.Microsecond)
    //if sleep is set to less than 3 um, then we have a high possibility of noticid git openssl init error
    gitErr := git2go.MakeGitError2(int(git2go.ErrorCodeNotFound))
    fmt.Println(gitErr)
}

Git2go sometimes return correct error, sometimes return "libgit2 was not built with OpenSSL support". It depends on sleep duration.

I have got the same results with following versions:

I found that following code is executed: https://github.com/libgit2/libgit2/blob/main/src/streams/openssl.c#L741