qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1696773] Re: golang calls to exec crash user emulation


From: Edward Vielmetti
Subject: [Qemu-devel] [Bug 1696773] Re: golang calls to exec crash user emulation
Date: Wed, 05 Sep 2018 18:24:27 -0000

This bug is mentioned in this account from Cloudflare of porting their
software stack to arm64:

https://blog.cloudflare.com/porting-our-software-to-arm64/

The relevant section from that blog reads as follows:

# Intermittent Go Failures

> With a decent amount of Go code running through our CI system, it was
easy to spot a trend of intermittent segfaults.

> Going on a hunch, we confirmed a hypothesis that non-deterministic
failures are generally due to threading issues. Unfortunately, opinion
on the issue tracker showed that Go / QEMU incompatibilities aren’t a
priority, so we were left without an upstream fix.

> The workaround we came up with is simple: if the problem is threading-
related, limit where the threads can run! When we package our internal
go binaries, we add a .deb post-install script to detect if we’re
running under ARM64 emulation, and if so, reduce the number of CPUs the
go binary can run under to one. We lose performance by pinning to one
CPU, but this slowdown is negligible when we’re already running under
emulation, and slow code is better than non-working code.

> With the workaround in place, reports of intermittent crashes dropped
to zero. Onto the next problem!

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1696773

Title:
  golang calls to exec crash user emulation

Status in QEMU:
  New

Bug description:
  An example program can be found here:

  https://github.com/willnewton/qemucrash

  This code starts a goroutine (thread) and calls exec repeatedly. This
  works ok natively but when run under ARM user emulation it segfaults
  (usually, there are occasionally other failures).

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1696773/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]