← Back to team overview

touch-packages team mailing list archive

[Bug 1472650] Re: [arm64] gccgo runtime crashes with CONFIG_ARM64_PGTABLE_LEVELS=4

 

Marking as impacting juju-core/trusty. This is easily reproduced by
attempting to bootstrap a juju-local environment in trusty with juju-
core 1.24.7-0ubuntu1~14.04.1 when using a kernel w/ 4 level page tables.
This will be a supported config once the xenial-lts kernel is available
in trusty.

A no-change rebuild of juju-core trusty would be sufficient to resolve
this issue.


ubuntu@cvm2s2:~$ juju bootstrap --verbose
Bootstrapping environment "local"
Starting new instance for initial state server
Building tools to upload (1.24.7.1-trusty-arm64)
Bootstrap failed, destroying environment
ERROR failed to bootstrap environment: cannot upload bootstrap tools: cannot get version from "/tmp/juju-tools525417221/jujud": exit status 2; p=0xffff9354f000
fatal error: runtime_lfstackpush: invalid pointer

runtime stack:

        :0

        :0

        :0

        :0

        :0

        :0

        :0

        :0

        :0

        :0

goroutine 1 [garbage collection]:
github.com_juju_cmd.DefaultContext
	/build/juju-core-qiO5uV/juju-core-1.24.7/src/github.com/juju/cmd/cmd.go:261
main.Main
	/build/juju-core-qiO5uV/juju-core-1.24.7/src/github.com/juju/juju/cmd/jujud/main.go:166
main.MainWrapper
	/build/juju-core-qiO5uV/juju-core-1.24.7/src/github.com/juju/juju/cmd/jujud/main.go:151
main.main
	/build/juju-core-qiO5uV/juju-core-1.24.7/src/github.com/juju/juju/cmd/jujud/main_nix.go:13

goroutine 3 [syscall]:
	goroutine in C code; stack unavailable


** Also affects: juju-core (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: juju-core (Ubuntu)
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gccgo-4.9 in Ubuntu.
https://bugs.launchpad.net/bugs/1472650

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

Status in gcc:
  Unknown
Status in gcc-5 package in Ubuntu:
  Fix Released
Status in gccgo-4.9 package in Ubuntu:
  Invalid
Status in gccgo-5 package in Ubuntu:
  Invalid
Status in juju-core package in Ubuntu:
  Triaged
Status in gccgo-4.9 source package in Trusty:
  Fix Released
Status in gccgo-4.9 source package in Vivid:
  Invalid
Status in gccgo-5 source package in Vivid:
  Fix Released
Status in gccgo-4.9 source package in Wily:
  Invalid

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

  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.

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