Comment 0 for bug 1681294

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

[Impact]
As reported here: https://lists.ubuntu.com/archives/snapcraft/2017-March/003497.html (and on internal lists), it is possible for a golang executable that calls syscall.Exec to print an ugly "pthread_create failed: Resource temporarily unavailable" message before it starts the new process. There is no functional effect, but snapd runs into this frequently so it interferes with a nice snappy experience.

Luckily for us, the bug was fixed upstream in the 1.8 release (https://github.com/golang/go/issues/18146) so I can just backport the fix to Xenial and Yakkety.

[Test case]
Run this code:

package main

//
import "C"

import (
 "syscall"
)

func main() {
 syscall.Exec("/bin/true", []string{"/bin/true"}, nil)
}

a few thousand times and check for messages (it prints a message ~2% of the time or so without the fix).

[Regression potential]
The patch is simple, if a bit verbose (it has some per-architecture changes). It has not been the cause of any bug reports in 1.8 as far as I am aware. So I would characterise the regression potential as very low.