** Description changed:

- lxd 0.12-0ubuntu2
- libgo7/5.1.1-12ubuntu1
+ [Impact]
+ Various go-based packages crash on startup on arm64 when booted with a kernel 
where CONFIG_ARM64_PGTABLE_LEVELS=4. LXD, docker and juju are examples.
  
- Jul 08 00:11:16 vital-beggar systemd[1]: Starting Container hypervisor based 
on LXC...
- -- Subject: Unit lxd.service has begun start-up
- -- Defined-By: systemd
- -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- -- 
- -- Unit lxd.service has begun starting up.
- Jul 08 00:11:16 vital-beggar lxd[1712]: p=0xffff98d18000
- Jul 08 00:11:16 vital-beggar lxd[1712]: fatal error: runtime_lfstackpush: 
invalid pointer
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime stack:
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_dopanic
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/panic.c:135
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_throw
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/panic.c:193
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime.lfstackpush
- Jul 08 00:11:16 vital-beggar lxd[1712]: 
../../../src/libgo/runtime/lfstack.goc:40
- Jul 08 00:11:16 vital-beggar lxd[1712]: getempty
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/mgc0.c:1377
- Jul 08 00:11:16 vital-beggar lxd[1712]: enqueue1
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/mgc0.c:1255
- Jul 08 00:11:16 vital-beggar lxd[1712]: markroot
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/mgc0.c:1285
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_parfordo
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/parfor.c:88
- Jul 08 00:11:16 vital-beggar lxd[1712]: gc
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/mgc0.c:2266
- Jul 08 00:11:16 vital-beggar lxd[1712]: mgc
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/mgc0.c:2211
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_mstart
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/proc.c:1076
- Jul 08 00:11:16 vital-beggar lxd[1712]: goroutine 16 [garbage collection]:
- Jul 08 00:11:16 vital-beggar systemd[1]: lxd.service: Main process exited, 
code=exited, status=2/INVALIDARGUMENT
- Jul 08 00:11:16 vital-beggar systemd[1]: lxd.service: Unit entered failed 
state.
- Jul 08 00:11:16 vital-beggar systemd[1]: lxd.service: Failed with result 
'exit-code'.
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_mcall
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/proc.c:295
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_gc
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/mgc0.c:2187
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_mallocgc
- Jul 08 00:11:16 vital-beggar lxd[1712]: 
../../../src/libgo/runtime/malloc.goc:259
- Jul 08 00:11:16 vital-beggar lxd[1712]: :0
- Jul 08 00:11:16 vital-beggar lxd[1712]: :0
- Jul 08 00:11:16 vital-beggar lxd[1712]: runtime_main
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/proc.c:626
- Jul 08 00:11:16 vital-beggar lxd[1712]: goroutine 17 [runnable]:
- Jul 08 00:11:16 vital-beggar lxd[1712]: kickoff
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/proc.c:232
- Jul 08 00:11:16 vital-beggar lxd[1712]: created by runtime_main
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/proc.c:598
- Jul 08 00:11:16 vital-beggar lxd[1712]: goroutine 18 [runnable]:
- Jul 08 00:11:16 vital-beggar lxd[1712]: kickoff
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/proc.c:232
- Jul 08 00:11:16 vital-beggar lxd[1712]: created by runtime_createfing
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/mgc0.c:2572
- Jul 08 00:11:16 vital-beggar lxd[1712]: goroutine 19 [runnable]:
- Jul 08 00:11:16 vital-beggar lxd[1712]: kickoff
- Jul 08 00:11:16 vital-beggar lxd[1712]: ../../../src/libgo/runtime/proc.c:232
- Jul 08 00:11:16 vital-beggar lxd[1712]: created by os_signal..import
- Jul 08 00:11:16 vital-beggar lxd[1712]: 
../../../src/libgo/go/os/signal/signal_unix.go:25
- Jul 08 00:11:16 vital-beggar systemd[1]: lxd.service: Service hold-off time 
over, scheduling restart.
- Jul 08 00:11:16 vital-beggar systemd[1]: lxd.service: Start request repeated 
too quickly.
- Jul 08 00:11:16 vital-beggar systemd[1]: Failed to start Container hypervisor 
based on LXC.
- -- Subject: Unit lxd.service has failed
- -- Defined-By: systemd
- -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- -- 
- -- Unit lxd.service has failed.
- -- 
- -- The result is failed.
- Jul 08 00:11:16 vital-beggar systemd[1]: lxd.service: Unit entered failed 
state.
- Jul 08 00:11:16 vital-beggar systemd[1]: lxd.service: Failed with result 
'start-limit'.
+ Ubuntu does not ship with this config, so it is currently not impacted.
+ However, we would like to enable this config to add new hardware support
+ in 15.10. The 15.10 kernel will eventually be provided in trusty as an
+ lts backport, at which point this will begin to break users.
+ 
+ [Test Case]
+ Boot an arm64 system with CONFIG_ARM64_PGTABLE_LEVELS=4 enabled in the 
kernel. Install docker.io and run "docker help". If it fails, you'll see "fatal 
error: runtime_lfstackpush" followed by a stack trace. If it succeeds, you'll 
get normal help output.
+ 
+ [Regression Risk]
+ The risk of regression is lessened by testing this release on existing Ubuntu 
kernels w/ 3 level page tables.

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

Title:
  [arm64] gccgo runtime crashes with CONFIG_ARM64_PGTABLE_LEVELS=4

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to