Invalid entry point for specific (working) image

Bug #1993888 reported by Niklas Schmelzle
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
golang-github-containers-toolbox (Ubuntu)
Fix Released
Undecided
Unassigned
Jammy
In Progress
Undecided
Andrej Shadura
Kinetic
Won't Fix
Undecided
Unassigned

Bug Description

[ Impact ]
The version of toolbox in Jammy is not handling the ABI of the binaries, resulting in many images being unusable. This version never shipped in a stable Debian release, so Debian is unaffected by this bug, but Jammy is. Being an LTS, it will be used by a lot of Ubuntu users in the next couple of years, resulting in them basically being unable to use toolbox at least with many of the Ubuntu images.

This upload ships two commits the upstream suggested should fix the bug. These are part of the newer toolbox releases Debian and other Ubuntu releases except Jammy and Kinetic are shipping.

[ Test Plan ]

(Leaving the original bug description here)

$ lsb_release -rd
Description: Ubuntu 22.04.1 LTS
Release: 22.04

$ apt-cache policy podman-toolbox
podman-toolbox:
  Installed: 0.0.99.2-2ubuntu1
  Candidate: 0.0.99.2-2ubuntu1
  Version table:
 *** 0.0.99.2-2ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        100 /var/lib/dpkg/status

I tried to use an Ubuntu 20.04 image with toolbox (image from here https://github.com/toolbx-images/images). Unfortunately, this image does not work (though other images, like the Ubuntu 22.04, do work).

I am able to create the toolbox without any problems, but I am unable to enter it (Error: invalid entry point PID of container ubuntu-toolbox-20.04).

$ toolbox create --image quay.io/toolbx-images/ubuntu-toolbox:20.04
Image required to create toolbox container.
Download quay.io/toolbx-images/ubuntu-toolbox:20.04 (500MB)? [y/N]: y
Created container: ubuntu-toolbox-20.04
Enter with: toolbox enter ubuntu-toolbox-20.04

$ toolbox --verbose enter ubuntu-toolbox-20.04
DEBU Running as real user ID 1000
DEBU Resolved absolute path to the executable as /usr/bin/toolbox
DEBU Running on a cgroups v2 host
DEBU Checking if /etc/subgid and /etc/subuid have entries for user niklas
DEBU Validating sub-ID file /etc/subuid
DEBU Validating sub-ID file /etc/subgid
DEBU TOOLBOX_PATH is /usr/bin/toolbox
DEBU Migrating to newer Podman
DEBU Toolbox config directory is /home/niklas/.config/toolbox
DEBU Current Podman version is 3.4.4
DEBU Creating runtime directory /run/user/1000/toolbox
DEBU Old Podman version is 3.4.4
DEBU Migration not needed: Podman version 3.4.4 is unchanged
DEBU Resolving container and image names
DEBU Container: 'ubuntu-toolbox-20.04'
DEBU Distribution: ''
DEBU Image: ''
DEBU Release: ''
DEBU Resolved container and image names
DEBU Container: 'ubuntu-toolbox-20.04'
DEBU Image: 'fedora-toolbox:33'
DEBU Release: '33'
DEBU Checking if container ubuntu-toolbox-20.04 exists
DEBU Inspecting mounts of container ubuntu-toolbox-20.04
DEBU Starting container ubuntu-toolbox-20.04
DEBU Inspecting entry point of container ubuntu-toolbox-20.04
DEBU Entry point PID is a float64
DEBU Entry point of container ubuntu-toolbox-20.04 is toolbox (PID=0)
Error: invalid entry point PID of container ubuntu-toolbox-20.04

I created an issue on GitHub in the repository of the Ubuntu images https://github.com/toolbx-images/images/issues/42. However, the author of the repository suggested that this issue is probably not caused by the image itself, but by a bug in toolbox 0.0.99.2. The issue should be fixed in 0.0.99.3 (https://github.com/toolbx-images/images/issues/42#issuecomment-1285638958).

By the way, I think a similar error occurs when running the default image (somehow set to fedora-toolbox-33).

Tags: patch
Changed in golang-github-containers-toolbox (Ubuntu):
status: New → Confirmed
Shengjing Zhu (zhsj)
Changed in golang-github-containers-toolbox (Ubuntu Jammy):
status: New → Confirmed
Changed in golang-github-containers-toolbox (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Andrej Shadura (andrew.sh) wrote :

Attaching a debdiff for a proposed upload fixing this bug.

Changed in golang-github-containers-toolbox (Ubuntu Jammy):
status: Confirmed → In Progress
description: updated
Changed in golang-github-containers-toolbox (Ubuntu):
assignee: nobody → Andrej Shadura (andrew.sh)
assignee: Andrej Shadura (andrew.sh) → nobody
Changed in golang-github-containers-toolbox (Ubuntu Jammy):
assignee: nobody → Andrej Shadura (andrew.sh)
tags: added: patch
description: updated
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hi Andrej, thanks for this fix!

Any particular reason you removed the RiscV64 build-fix patch? I'm trying to get risc enabled in a PPA to test a build and see if that patch is still needed or not, but that takes a while (I have to reach out to some people).

Revision history for this message
Andrej Shadura (andrew.sh) wrote :

Hi Andreas, that whole file was removed by the upstream patch, so that build fix was no longer relevant. I haven't verified it, but I suppose RISC-V should just work now.

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

Oh, never mind the riscv64 question, one of the patches removes that file, sorry

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

I tried your debdiff in a build for jammy, but unfortunately the error persists. Maybe more patches are necessary? Our podman in jammy is 3.4.4, maybe that's old/related?

I did try debian sid in a vm, and it worked out of the box, as you said, with version 0.99.3.

This PPA has a build with your debdiff: https://launchpad.net/~ahasenack/+archive/ubuntu/toolbox-1993888/

Revision history for this message
Steve Langasek (vorlon) wrote :

Per Andreas's comment, there is nothing here currently ready for sponsorship. Unsubscribing ubuntu-sponsors; please resubscribe the team when there is an updated patch.

Shengjing Zhu (zhsj)
Changed in golang-github-containers-toolbox (Ubuntu Kinetic):
status: New → Won't Fix
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.