An upload of qemu to noble-proposed has been rejected from the upload queue for the following reason: "Rejected per https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2133804/comments/20".
-- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/2133804 Title: QEMU does not emulate IOCTL TCGETS2 Status in QEMU: Fix Released Status in qemu package in Ubuntu: Fix Released Status in qemu source package in Jammy: Confirmed Status in qemu source package in Noble: Incomplete Status in qemu source package in Plucky: Won't Fix Status in qemu source package in Questing: Fix Committed Status in qemu source package in Resolute: Fix Released Bug description: [ Impact ] - Terminal prompt is missing for multiarch containers with qemu-user - Users cannot see the prompt but still can type the commands However the absence of the prompt can be misleading and make users think that the container hangs. - this fix implements the missing ioctl TERMIOS2 [ Test Plan ] On an amd64 host $ sudo apt install -y docker.io qemu-user-static $ sudo usermod -aG docker ubuntu $ newgrp docker $ docker run --platform=linux/arm64 -it ubuntu:26.04 bash (this runs on AMD64 host, if you are runnig on ARM64, use -platform=linux/riscv64 instead) After docker pulls the image and run the container, you cannot see the prompt ... Status: Downloaded newer image for ubuntu:26.04 ... $ docker run --platform=linux/arm64 -it ubuntu:24.04 bash Doing the same for Ubuntu Noble image works. $ docker run --platform=linux/arm64 -it ubuntu:24.04 bash Unable to find image 'ubuntu:24.04' locally 24.04: Pulling from library/ubuntu 818154cda96d: Pull complete 352b2c3faa58: Download complete Digest: sha256:c4a8d5503dfb2a3eb8ab5f807da5bc69a85730fb49b5cfca2330194ebcc41c7b Status: Downloaded newer image for ubuntu:24.04 root@bf8124075385:/# With this fix, the users should see the prompt when they run bash interactively in the container: $ docker run --platform=linux/arm64 -it ubuntu:26.04 bash root@bf8124075385:/# [ Where problems could occur ] The fix is around the termios managament so regressions can happen there. There might be regressions on the prompt display. The prompt display is widely used so potential regressions should be visible quickly. [ Other Info ] None -- Original bug report --- In Ubuntu 25.10 we moved to glibc 2.42. Here glibc has changed the implementation of isatty(). It now uses IOCTL TCGETS2 instead of TCGETS. TCGETS2 is not emulated by static QEMU (qemu-riscv64, qemu- arm64, ...). This leads to failures in containers for foreign architectures. E.g. no console prompt is displayed. A detailed analysis is contained in LP #2133188. A proper implementation of the missing IOCTLs will include: Functions: in linux-user/syscall.c: host_to_target_termios2() target_to_host_termios2() print_termios2() Definitions: in linux-user/syscall.c #define termios2 host_termios2 in linux-user/syscall_types.h STRUCT_SPECIAL(termios2) in linux-user/ioctls.h: IOCTL(TCGETS2, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios2))) IOCTL(TCSETS2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2))) IOCTL(TCSETSF2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2))) IOCTL(TCSETSW2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2))) in linux-user/user-internals.h: void print_termios2(void *arg); To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/2133804/+subscriptions
