[Bug 1681294] [NEW] ugly "pthread_create failed: Resource temporarily unavailable" running snaps

Michael Hudson-Doyle michael.hudson+lp at canonical.com
Mon Apr 10 01:16:24 UTC 2017


Public bug reported:

[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.

** Affects: golang-1.6 (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: golang-1.6 (Ubuntu Xenial)
     Importance: Undecided
         Status: New

** Affects: golang-1.6 (Ubuntu Yakkety)
     Importance: Undecided
         Status: New

** Also affects: golang-1.6 (Ubuntu Yakkety)
   Importance: Undecided
       Status: New

** Also affects: golang-1.6 (Ubuntu Xenial)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to golang-1.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1681294

Title:
  ugly "pthread_create failed: Resource temporarily unavailable" running
  snaps

Status in golang-1.6 package in Ubuntu:
  New
Status in golang-1.6 source package in Xenial:
  New
Status in golang-1.6 source package in Yakkety:
  New

Bug description:
  [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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/golang-1.6/+bug/1681294/+subscriptions



More information about the foundations-bugs mailing list