[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.
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.
[Impact] /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.
As reported here: https:/
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() { Exec("/ bin/true" , []string{ "/bin/true" }, nil)
syscall.
}
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.