On Wed, 3 Dec 2025 11:26:15 +0000 Daniel P. Berrangé <[email protected]> wrote:
> On Wed, Dec 03, 2025 at 11:24:07AM +0100, Dan Horák wrote: > > On Tue, 2 Dec 2025 09:48:50 -0500 > > Stephen Gallagher <[email protected]> wrote: > > > > > On Tue, Dec 2, 2025 at 9:25 AM Dan Horák <[email protected]> wrote: > > > > AFAIK the cross-arch emulation uses user-mode qemu that does translate > > syscalls between the "guest" and the "host" systems, which means > > endianess changes, translating parameters, etc. needs to happen. My > > theory is that something changed in F-43+ and qemu needs to adapt to > > that. Unless it's something like unknown $TERM or such. > > > > What is needed except having qemu-user-static-s390x installed to > > successfully run the podman command? It just hangs on any of my > > non-s390x systems (x86_64, aarch64, ppc64le). > > FYI, you can reproduce it with qemu-s390x alone without podman involved, > which makes things a bit easier to debug. > > First start a podman container > > podman run --arch s390x --rm -it fedora:43-s390x > > In another shell export the rootfs > > podman export [container name] > f43.tar > > and then extract it and run under qemu > > mkdir f43 > cd f43 > tar xf ../f43.tar > qemu-s390x -L `pwd` ./usr/bin/bash > > > This lets you pass the '-strace' arg to qemu-s390x. thanks, Daniel > Normally bash in F42 runs with a prompt and we see > > 61385 ioctl(0,TCGETS,0x00007f34260697e8) = 0 ({c_iflag = ICRNL|IXON,c_oflag > = OPOST|ONLCR,c_cflag = B38400,CS8,CREAD,c_lflag = > ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHOCTL|ECHOKE|IEXTEN,c_cc = "^C^\^? > ^U^D",c_line = '^@'}) > 61385 ioctl(2,TCGETS,0x00007f34260697e8) = 0 ({c_iflag = ICRNL|IXON,c_oflag > = OPOST|ONLCR,c_cflag = B38400,CS8,CREAD,c_lflag = > ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHOCTL|ECHOKE|IEXTEN,c_cc = "^C^\^? > ^U^D",c_line = '^@'}) > > When I redirect stderr to a file/pipe the latter ioctl > obviously fails: > > 60841 ioctl(0,TCGETS,0x00007f19561fe7e8) = 0 ({c_iflag = ICRNL|IXON,c_oflag > = OPOST|ONLCR,c_cflag = B38400,CS8,CREAD,c_lflag = > ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHOCTL|ECHOKE|IEXTEN,c_cc = "^C^\^? > 60841 ioctl(2,TCGETS,0x00007f19561fe7e8) = -1 errno=25 (Inappropriate ioctl > for device) > > > Now looking at F43 bash I no longer see QEMU reporting TCGETS > ioctl, instead I see > > 61809 ioctl(0,0x802c542a,0xd73fe8f4) = -1 errno=25 (Inappropriate ioctl for > device) > > that suggests to me that bash is probably using a different (new?) > ioctl that QEMU does not have emulation for currently. which points to the termios changes in glibc 2.42, which explains why F-42 is OK and F-43+ is not, I believe. https://sourceware.org/bugzilla/show_bug.cgi?id=33340 is tracking possible regressions Dan -- _______________________________________________ devel mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
