The ppc64/arm versions of Juju should depend on a more recent version of libgo5

Bug #1377325 reported by Matt Bruzek
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
High
Curtis Hovey
juju-core (Ubuntu)
Fix Released
High
Robie Basak
Trusty
Fix Released
High
Robie Basak

Bug Description

The libgo5 package in trusty is not compiled with the fix for 64k PAGE_SIZE. When this old version of libgo5 is used it can cause problems on ppc64 hardware. The error can be different things, but often presents as a nil pointer dereference:

panic: runtime error: invalid memory address or nil pointer dereference

This can be caused by the version of libgo5 that is installed by default on 14.04, but the trusty-updates has a more recent version of the libgo5 package that is contains a fix.

The version I have seen work is:
$ apt-cache policy libgo5
libgo5:
  Installed: 4.9.1-0ubuntu1
  Candidate: 4.9.1-0ubuntu1
  Version table:
 *** 4.9.1-0ubuntu1 0
        500 http://ports.ubuntu.com/ubuntu-ports/ trusty-updates/main ppc64el Packages
        100 /var/lib/dpkg/status
     4.9-20140406-0ubuntu1 0
        500 http://ports.ubuntu.com/ubuntu-ports/ trusty/main ppc64el Packages

This problem is very hard to debug and we have it the golang problem with 64k page size more than once.

Can we change the debian package dependency for libgo5 to get the version that has been compiled with the right version of compiler?

Revision history for this message
Matt Bruzek (mbruzek) wrote :

I found some more information in an email from Dave Cheney:

... trying to come up with a procedure that anyone can run to detect if their juju client (ppc64/arm64 only) is using the faulty libgo5 shipped with trusty.

I had hoped to provide a simple script that would do this, but for a number of reasons this isn't going to be possible.

...

This working installation differs in only one step

a. install trusty 14.04.1
b. *enable trusty-updates*
c. follow the installation instructions from juju.ubuntu.com.

Any version of libgo5 less than 4.9.1-0ubuntu1 should be considered faulty, and this procedure should be able to confirm this.

description: updated
summary: - The ppc64 version of Juju should depend on a more recent version of
+ The ppc64/arm versions of Juju should depend on a more recent version of
libgo5
Revision history for this message
Matt Bruzek (mbruzek) wrote :

Here is one of the original bugs for the gccgo and 64k page size background for those who need more information:

https://bugs.launchpad.net/ubuntu/+source/gccgo-4.9/+bug/1304754

Revision history for this message
Antonio Rosales (arosales) wrote :

Note this affects any arch with a 64k page size.

Suggest to have Juju client built with a dependcy on on libgo5 (4.9.1-0ubuntu1) or greater.

-thanks,
Antonio

Curtis Hovey (sinzui)
tags: added: arm64 packaging ppc64el
Curtis Hovey (sinzui)
Changed in juju-core:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Curtis Hovey (sinzui)
Curtis Hovey (sinzui)
Changed in juju-core:
status: Triaged → In Progress
Curtis Hovey (sinzui)
Changed in juju-core:
status: In Progress → Fix Released
Robie Basak (racb)
Changed in juju-core (Ubuntu):
status: New → Triaged
Changed in juju-core (Ubuntu Trusty):
status: New → Triaged
Changed in juju-core (Ubuntu):
importance: Undecided → High
Changed in juju-core (Ubuntu Trusty):
importance: Undecided → High
Changed in juju-core (Ubuntu):
assignee: nobody → Robie Basak (racb)
Changed in juju-core (Ubuntu Trusty):
assignee: nobody → Robie Basak (racb)
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Matt, or anyone else affected,

Accepted juju-core into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/juju-core/1.20.11-0ubuntu0.14.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in juju-core (Ubuntu Trusty):
status: Triaged → Fix Committed
tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package juju-core - 1.20.11-0ubuntu1

---------------
juju-core (1.20.11-0ubuntu1) vivid; urgency=medium

  * New upstream bugfix release (LP: #1386144).
  * Build with a version of libgo5 that has the 64k PAGE_SIZE fix
    (LP: #1377325).
 -- Robie Basak <email address hidden> Mon, 27 Oct 2014 15:32:42 +0000

Changed in juju-core (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Robie Basak (racb) wrote :

Verified libgo5 4.9.1-0ubuntu1 was used using arm64 and ppc64el build logs. I presume a full SRU verification of the original failure case isn't needed here because this SRU is an MRE.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package juju-core - 1.20.11-0ubuntu0.14.04.1

---------------
juju-core (1.20.11-0ubuntu0.14.04.1) trusty; urgency=medium

  * New upstream release (LP: #1386144).
  * Packaging changes relating to new upstream release:
    - d/control: add build dependency on lsb-release.
    - d/control: new binary package juju-local-kvm for local KVM support
      (new in Juju 1.20).
    - d/copyright: update for Juju 1.20.11.
    - d/rules: adjust paths in upstream source corresponding to upstream
      move from Launchpad to Github.
    - d/README.source: drop; repacking is no longer required.
  * Packaging bugfixes cherry-picked from Vivid:
    - Build with a version of libgo5 that has the 64k PAGE_SIZE fix
      (LP: #1377325).
    - d/control: add dbus dependency to juju-local (LP: #1343301).
    - d/control: depend on lxc-templates as well as lxc, since lxc only
      recommends lxc-templates so it isn't always brought in.
  * Cherry-pick changes from current upstream and Ubuntu development
    release packaging. These aren't all strictly required for Trusty,
    but given extensive production use of upstream's PPAs, this reduces
    regression risk to end users by eliminating differences between this
    Trusty SRU and what is already known to work well, as well as the
    potential for mistakes because diffs exist:
    - d/{rules,control}: generate mongodb dependency dynamically, as the
      specific binary package name required differs on older releases.
    - d/juju-core.bash-completion: drop unused code.
    - d/control: recommend bash-completion.
    - d/control: update other dependencies for Juju 1.20:
      + Bump golang-go build dependency version; this newer version is
        already available on Trusty.
      + Bump minimum version of lxc dependency; this newer version is
        already available on Trusty.
  * d/control: wrap-and-sort.
 -- Robie Basak <email address hidden> Tue, 28 Oct 2014 15:37:51 +0000

Changed in juju-core (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote : Update Released

The verification of the Stable Release Update for juju-core has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.