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.

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.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

-- 
_______________________________________________
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

Reply via email to