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

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


** Description changed:

  [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.
+ 
+ It also turns out to be necessary to include two more upstream patches
+ that fix test suite failures with new tzdata packages.
  
  [Test case]
  Run this code:
  
  package main
  
  //
  import "C"
  
  import (
- 	"syscall"
+  "syscall"
  )
  
  func main() {
- 	syscall.Exec("/bin/true", []string{"/bin/true"}, nil)
+  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.
+ 
+ The tzdata patches are similarly well exercised as they are backports,
+ and are necessary or the build will fail!

-- 
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:
  Invalid
Status in golang-1.7 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.

  It also turns out to be necessary to include two more upstream patches
  that fix test suite failures with new tzdata packages.

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

  The tzdata patches are similarly well exercised as they are backports,
  and are necessary or the build will fail!

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