gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000b69c5feaf58 for symbol `' out of range

Bug #1822632 reported by Tianon Gravi
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gosu (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Sergio Durigan Junior
Focal
Fix Released
Undecided
Sergio Durigan Junior
Groovy
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

After installing "gosu" on Bionic/Focal on ppc64el, attempts to run the resulting "gosu" binary result in the following error message:

    gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000b41bcc7af58 for symbol `' out of range

[Test Plan]

You will need a ppc64el machine in order to test this. This bug happens on Bionic and Focal.

# apt update
# apt install gosu
# gosu nobody true
gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000abd18d0af58 for symbol `' out of range

If you check on (e.g.) amd64, you can see that the software works fine. The following is on Bionic:

# gosu nobody true
# echo $?
0

Then on Focal:

# gosu nobody true
# echo $?
0

[Where problems could occur]

This particular update is not able to cause any regressions on ppc64el, because the software did not work before it.

As for the other architectures, one can always say that there is a chance for a regression when rebuilding an old package from Bionic against newer libraries, but in this case I think the chances are slim to none, especially because gosu depends on very few libraries (which is unusual for a Golang application).

[Original Description]

After installing "gosu" on Bionic on ppc64el, attempts to run the resulting "gosu" binary result in the following error message:

    gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000b41bcc7af58 for symbol `' out of range

I spoke briefly with mwhudson about it (recalling he might've dealt with similar issues previously) and he suggested it probably needs a rebuild and asked me to file a bug. :)

(Something something PIC something something PIE something something Go toolchain.)

Revision history for this message
J Ferguson (yosifkit) wrote :

mwhudson, any news about a rebuild of gosu for ppc64le?

(we've definitely seen the issue on 18.04, but I'm not sure about any 19.XX)

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I get this in focal as well:
ubuntu@ppc64el-focal:~$ gosu /bin/true
gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x000001800a64af58 for symbol `' out of range

ubuntu@ppc64el-focal:~$ apt-cache policy gosu
gosu:
  Installed: 1.10-1
  Candidate: 1.10-1
  Version table:
 *** 1.10-1 500
        500 http://us.ports.ubuntu.com/ubuntu-ports focal/universe ppc64el Packages
        100 /var/lib/dpkg/status

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

A simple rebuild in focal fixed it for me:

ubuntu@ppc64el-focal:~/deb/gosu$ sudo dpkg -i *.deb
(Reading database ... 116197 files and directories currently installed.)
Preparing to unpack gosu_1.10-1_ppc64el.deb ...
Unpacking gosu (1.10-1) over (1.10-1) ...
Setting up gosu (1.10-1) ...
ubuntu@ppc64el-focal:~/deb/gosu$ gosu /bin/true
Usage: gosu user-spec command [args]
   ie: gosu tianon bash
       gosu nobody:root bash -c 'whoami && id'
       gosu 1000:1 id

gosu version: 1.10 (go1.13.8 on linux/ppc64le; gc)
     license: GPL-3 (full text at https://github.com/tianon/gosu)

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Confirmed a rebuild also fixes it for bionic:
ubuntu@ppc64el-bionic:~$ gosu
gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000f5fcb4aaf58 for symbol `' out of range

ubuntu@ppc64el-bionic:~/deb/gosu$ sudo dpkg -i *.deb
(Reading database ... 109900 files and directories currently installed.)
Preparing to unpack gosu_1.10-1build1_ppc64el.deb ...
Unpacking gosu (1.10-1build1) over (1.10-1) ...
Setting up gosu (1.10-1build1) ...
ubuntu@ppc64el-bionic:~/deb/gosu$ gosu
Usage: gosu user-spec command [args]
   ie: gosu tianon bash
       gosu nobody:root bash -c 'whoami && id'
       gosu 1000:1 id

gosu version: 1.10 (go1.10.4 on linux/ppc64le; gc)
     license: GPL-3 (full text at https://github.com/tianon/gosu)

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

groovy is fine, marking that task as fix released

Changed in gosu (Ubuntu Groovy):
status: New → Fix Released
Revision history for this message
Tianon Gravi (tianon) wrote :

This is kind of an old issue now, but it's still outstanding on both Bionic and Focal -- any chance it could get some love? It breaks our ability to build certain images on ppc64le (rabbitmq as a notable example).

description: updated
Changed in gosu (Ubuntu Bionic):
status: New → Confirmed
Changed in gosu (Ubuntu Focal):
status: New → Confirmed
Changed in gosu (Ubuntu Bionic):
assignee: nobody → Sergio Durigan Junior (sergiodj)
Changed in gosu (Ubuntu Focal):
assignee: nobody → Sergio Durigan Junior (sergiodj)
Changed in gosu (Ubuntu Bionic):
status: Confirmed → In Progress
Changed in gosu (Ubuntu Focal):
status: Confirmed → In Progress
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Thanks for the patches Sergio, the changelog entry looks good. However, I am not sure what is the SRU team policy about no-changes rebuild. Can we try to confirm with the SRU team before uploading the proposed patches? Maybe there is no manual upload involved.

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

I just noticed you asked about this on #ubuntu-release IRC channel and you got the following answer:

cjwatson> Rebuilds would be SRUs like any other
cjwatson> It's just that the proposed diff would just be the changelog

With that in mind, I believe you can proceed with the upload of the proposed patches. Thanks!

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks for the review, Lucas. I've uploaded both packages now.

Revision history for this message
Robie Basak (racb) wrote :

> This particular update is not able to cause any regressions, because the software did not work before it.

What about on amd64? Am I right in understanding that this bug only affects ppc64el? But we have no choice but to rebuild for all architectures.

Accepting, but please could you add something to the Test Plan to ensure that the package still basically works on amd64, if that's not already covered by existing tests?

Changed in gosu (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Tianon, or anyone else affected,

Accepted gosu into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gosu/1.10-1ubuntu0.20.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 on 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, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gosu (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Robie Basak (racb) wrote :

Hello Tianon, or anyone else affected,

Accepted gosu into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gosu/1.10-1ubuntu0.18.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 on 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, what testing has been performed on the package and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote : Re: [Bug 1822632] Re: gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000b69c5feaf58 for symbol `' out of range

On Wednesday, March 24 2021, Robie Basak wrote:

>> This particular update is not able to cause any regressions, because
> the software did not work before it.
>
> What about on amd64? Am I right in understanding that this bug only
> affects ppc64el? But we have no choice but to rebuild for all
> architectures.

True, thanks for the catch. I have updated the "Where problems could
occur" section and reworded it in a way that it's clear that I meant
"there can be no regressions *on ppc64el*".

> Accepting, but please could you add something to the Test Plan to ensure
> that the package still basically works on amd64, if that's not already
> covered by existing tests?

Done for both Bionic and Focal, let me know if that's enough.

Thanks,

--
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0 EB2F 106D A1C8 C3CB BF14

description: updated
description: updated
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Verification for Focal (using a ppc64el machine):

First, verifying that the problem manifests:

# apt policy gosu
gosu:
  Installed: 1.10-1
  Candidate: 1.10-1
  Version table:
 *** 1.10-1 500
        500 http://us.ports.ubuntu.com/ubuntu-ports focal/universe ppc64el Packages
        100 /var/lib/dpkg/status
# gosu nobody true
gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000b31335eaf58 for symbol `' out of range

Now, installing the package from -proposed and verifying that it fixes the problem:

# apt policy gosu
gosu:
  Installed: 1.10-1ubuntu0.20.04.1
  Candidate: 1.10-1ubuntu0.20.04.1
  Version table:
 *** 1.10-1ubuntu0.20.04.1 100
        100 /var/lib/dpkg/status
     1.10-1 500
        500 http://us.ports.ubuntu.com/ubuntu-ports focal/universe ppc64el Packages
# gosu nobody true
# echo $?
0

This concludes the verification for Focal.

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Verification for Bionic (using a ppc64el machine):

First, verifying that the problem manifests:

# apt policy gosu
gosu:
  Installed: 1.10-1
  Candidate: 1.10-1
  Version table:
 *** 1.10-1 500
        500 http://us.ports.ubuntu.com/ubuntu-ports bionic/universe ppc64el Packages
        100 /var/lib/dpkg/status
# gosu nobody true
gosu: error while loading shared libraries: R_PPC64_ADDR16_HA reloc at 0x00000f3e7ac4af58 for symbol `' out of range

Now, installing the package from -proposed and verifying that it fixes the problem:

# apt policy gosu
gosu:
  Installed: 1.10-1ubuntu0.18.04.1
  Candidate: 1.10-1ubuntu0.18.04.1
  Version table:
 *** 1.10-1ubuntu0.18.04.1 100
        100 /var/lib/dpkg/status
     1.10-1 500
        500 http://us.ports.ubuntu.com/ubuntu-ports bionic/universe ppc64el Packages
# gosu nobody true
# echo $?
0

This concludes the verification for Bionic.

tags: added: verification-done-bionic verification-done-focal
removed: verification-needed verification-needed-bionic verification-needed-focal
Revision history for this message
Brian Murray (brian-murray) wrote :

I think Robie was looking for you to test the basic functionality of gosu from -proposed on amd64. Rather than push back on this I just tested it myself and it seemed fine given the test case.

Get:1 http://ubuntu.osuosl.org/ubuntu bionic-proposed/universe amd64 gosu amd64 1.10-1ubuntu0.18.04.1 [436 kB]
Fetched 436 kB in 1s (665 kB/s)
Selecting previously unselected package gosu.
(Reading database ... 9869 files and directories currently installed.)
Preparing to unpack .../gosu_1.10-1ubuntu0.18.04.1_amd64.deb ...
Unpacking gosu (1.10-1ubuntu0.18.04.1) ...
Setting up gosu (1.10-1ubuntu0.18.04.1) ...
(bionic-amd64)root@impulse:/home/bdmurray/source-trees/ubuntu-archive-tools/upstream# gosu nobody true; echo $?
0

Get:1 http://192.168.10.7/ubuntu focal-proposed/universe amd64 gosu amd64 1.10-1ubuntu0.20.04.1 [526 kB]
Fetched 526 kB in 0s (7543 kB/s)
Selecting previously unselected package gosu.
(Reading database ... 10149 files and directories currently installed.)
Preparing to unpack .../gosu_1.10-1ubuntu0.20.04.1_amd64.deb ...
Unpacking gosu (1.10-1ubuntu0.20.04.1) ...
Setting up gosu (1.10-1ubuntu0.20.04.1) ...
(focal-amd64)root@impulse:/home/bdmurray/source-trees/ubuntu-archive-tools/upstream# gosu nobody true
(focal-amd64)root@impulse:/home/bdmurray/source-trees/ubuntu-archive-tools/upstream# gosu nobody true; echo $?
0

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gosu - 1.10-1ubuntu0.20.04.1

---------------
gosu (1.10-1ubuntu0.20.04.1) focal; urgency=medium

  * No-change rebuild to fix binary execution error (LP: #1822632).

 -- Sergio Durigan Junior <email address hidden> Wed, 24 Mar 2021 16:43:36 -0400

Changed in gosu (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for gosu has completed successfully and the package is now being 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.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gosu - 1.10-1ubuntu0.18.04.1

---------------
gosu (1.10-1ubuntu0.18.04.1) bionic; urgency=medium

  * No-change rebuild to fix binary execution error (LP: #1822632).

 -- Sergio Durigan Junior <email address hidden> Wed, 24 Mar 2021 16:43:36 -0400

Changed in gosu (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks. Perhaps I should have been clearer and said that I did test and made sure that the rebuild still worked on amd64 when Robie asked me about it, and only after doing that I updated the SRU template. When it was time to perform the verification, I found it unnecessary to check on amd64 again, because (a) I had already checked, and (b) the bug happened only on ppc64el. Either way, thank you for going the extra mile and double checking on amd64.

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.