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

Segfault when calling index.AddAll #917

Open
pjbgf opened this issue Jul 12, 2022 · 0 comments
Open

Segfault when calling index.AddAll #917

pjbgf opened this issue Jul 12, 2022 · 0 comments

Comments

@pjbgf
Copy link

pjbgf commented Jul 12, 2022

We have experienced index.AddAll causing segfaults. The exact same code depending on the machine it is running on and the repository it is adding files to, may consistently result in a segfault from a background thread:
signal: segmentation fault (core dumped).

In other cases, it may not happen as consistently or not happen at all.
The code extract below is what led to the segfault:

	var parentC []*libgit2.Commit
	head, err := headCommit(repo)
	if err == nil {
		defer head.Free()
		parentC = append(parentC, head)
	}

	index, err := repo.Index()
	if err != nil {
		return "", err
	}
	defer index.Free()

	tracelog.Info("adding files to index")
	c := 1
	err = index.AddAll(nil, libgit2.IndexAddDefault, func(s1, s2 string) error {
		tracelog.Info("adding file", "name", s1, "count", c)
		c += 1
		return nil
	})
	if err != nil {
		return "", err
	}
	tracelog.Info("added files to index")

https://github.com/fluxcd/image-automation-controller/blob/235edabafd1ce34c15635d6c6b5aea18d298a4d3/controllers/imageupdateautomation_controller.go#L627

Versions:

  • github.com/libgit2/git2go/v33 v33.0.9
  • libgit2 v1.3.1

Relates to fluxcd/image-automation-controller#339

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

Successfully merging a pull request may close this issue.

1 participant