[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [Bug 1696773] Re: golang calls to exec crash user emulation,
Edward Vielmetti <=