MAINTAINERS | 24 + README.rst | 4 +- docs/devel/index.rst | 1 + docs/devel/multi-process.rst | 966 ++++++++++++++++++++++ docs/system/index.rst | 1 + docs/system/multi-process.rst | 64 ++ docs/interop/parallels.txt | 2 +- configure | 10 + meson.build | 5 +- hw/remote/trace.h | 1 + include/exec/memory.h | 2 + include/exec/ram_addr.h | 4 +- include/hw/pci-host/remote.h | 30 + include/hw/pci/pci_ids.h | 3 + include/hw/remote/iohub.h | 42 + include/hw/remote/machine.h | 38 + include/hw/remote/memory.h | 19 + include/hw/remote/mpqemu-link.h | 99 +++ include/hw/remote/proxy-memory-listener.h | 28 + include/hw/remote/proxy.h | 48 ++ include/io/channel.h | 78 ++ include/qemu/mmap-alloc.h | 4 +- include/sysemu/iothread.h | 6 + backends/hostmem-memfd.c | 2 +- hw/misc/ivshmem.c | 3 +- hw/pci-host/remote.c | 75 ++ hw/remote/iohub.c | 119 +++ hw/remote/machine.c | 80 ++ hw/remote/memory.c | 65 ++ hw/remote/message.c | 230 ++++++ hw/remote/mpqemu-link.c | 267 ++++++ hw/remote/proxy-memory-listener.c | 227 +++++ hw/remote/proxy.c | 379 +++++++++ hw/remote/remote-obj.c | 203 +++++ io/channel.c | 116 ++- iothread.c | 6 + softmmu/memory.c | 3 +- softmmu/physmem.c | 12 +- util/mmap-alloc.c | 8 +- util/oslib-posix.c | 2 +- .github/lockdown.yml | 8 +- .gitlab-ci.yml | 1 - .gitmodules | 44 +- Kconfig.host | 4 + hw/Kconfig | 1 + hw/meson.build | 1 + hw/pci-host/Kconfig | 3 + hw/pci-host/meson.build | 1 + hw/remote/Kconfig | 4 + hw/remote/meson.build | 13 + hw/remote/trace-events | 4 + pc-bios/README | 4 +- scripts/get_maintainer.pl | 2 +- 53 files changed, 3296 insertions(+), 70 deletions(-) create mode 100644 docs/devel/multi-process.rst create mode 100644 docs/system/multi-process.rst create mode 100644 hw/remote/trace.h create mode 100644 include/hw/pci-host/remote.h create mode 100644 include/hw/remote/iohub.h create mode 100644 include/hw/remote/machine.h create mode 100644 include/hw/remote/memory.h create mode 100644 include/hw/remote/mpqemu-link.h create mode 100644 include/hw/remote/proxy-memory-listener.h create mode 100644 include/hw/remote/proxy.h create mode 100644 hw/pci-host/remote.c create mode 100644 hw/remote/iohub.c create mode 100644 hw/remote/machine.c create mode 100644 hw/remote/memory.c create mode 100644 hw/remote/message.c create mode 100644 hw/remote/mpqemu-link.c create mode 100644 hw/remote/proxy-memory-listener.c create mode 100644 hw/remote/proxy.c create mode 100644 hw/remote/remote-obj.c create mode 100644 hw/remote/Kconfig create mode 100644 hw/remote/meson.build create mode 100644 hw/remote/trace-events
The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
are available in the Git repository at:
https://gitlab.com/stefanha/qemu.git tags/block-pull-request
for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
----------------------------------------------------------------
Pull request
v3:
* Replace {0} array initialization with {} to make clang happy [Peter]
----------------------------------------------------------------
Denis V. Lunev (1):
docs: fix Parallels Image "dirty bitmap" section
Elena Ufimtseva (8):
multi-process: add configure and usage information
io: add qio_channel_writev_full_all helper
io: add qio_channel_readv_full_all_eof & qio_channel_readv_full_all
helpers
multi-process: define MPQemuMsg format and transmission functions
multi-process: introduce proxy object
multi-process: add proxy communication functions
multi-process: Forward PCI config space acceses to the remote process
multi-process: perform device reset in the remote process
Jagannathan Raman (11):
memory: alloc RAM from file at offset
multi-process: Add config option for multi-process QEMU
multi-process: setup PCI host bridge for remote device
multi-process: setup a machine object for remote device process
multi-process: Initialize message handler in remote device
multi-process: Associate fd of a PCIDevice with its object
multi-process: setup memory manager for remote device
multi-process: PCI BAR read/write handling for proxy & remote
endpoints
multi-process: Synchronize remote memory
multi-process: create IOHUB object to handle irq
multi-process: Retrieve PCI info from remote process
John G Johnson (1):
multi-process: add the concept description to
docs/devel/qemu-multiprocess
Stefan Hajnoczi (6):
.github: point Repo Lockdown bot to GitLab repo
gitmodules: use GitLab repos instead of qemu.org
gitlab-ci: remove redundant GitLab repo URL command
docs: update README to use GitLab repo URLs
pc-bios: update mirror URLs to GitLab
get_maintainer: update repo URL to GitLab
MAINTAINERS | 24 +
README.rst | 4 +-
docs/devel/index.rst | 1 +
docs/devel/multi-process.rst | 966 ++++++++++++++++++++++
docs/system/index.rst | 1 +
docs/system/multi-process.rst | 64 ++
docs/interop/parallels.txt | 2 +-
configure | 10 +
meson.build | 5 +-
hw/remote/trace.h | 1 +
include/exec/memory.h | 2 +
include/exec/ram_addr.h | 4 +-
include/hw/pci-host/remote.h | 30 +
include/hw/pci/pci_ids.h | 3 +
include/hw/remote/iohub.h | 42 +
include/hw/remote/machine.h | 38 +
include/hw/remote/memory.h | 19 +
include/hw/remote/mpqemu-link.h | 99 +++
include/hw/remote/proxy-memory-listener.h | 28 +
include/hw/remote/proxy.h | 48 ++
include/io/channel.h | 78 ++
include/qemu/mmap-alloc.h | 4 +-
include/sysemu/iothread.h | 6 +
backends/hostmem-memfd.c | 2 +-
hw/misc/ivshmem.c | 3 +-
hw/pci-host/remote.c | 75 ++
hw/remote/iohub.c | 119 +++
hw/remote/machine.c | 80 ++
hw/remote/memory.c | 65 ++
hw/remote/message.c | 230 ++++++
hw/remote/mpqemu-link.c | 267 ++++++
hw/remote/proxy-memory-listener.c | 227 +++++
hw/remote/proxy.c | 379 +++++++++
hw/remote/remote-obj.c | 203 +++++
io/channel.c | 116 ++-
iothread.c | 6 +
softmmu/memory.c | 3 +-
softmmu/physmem.c | 12 +-
util/mmap-alloc.c | 8 +-
util/oslib-posix.c | 2 +-
.github/lockdown.yml | 8 +-
.gitlab-ci.yml | 1 -
.gitmodules | 44 +-
Kconfig.host | 4 +
hw/Kconfig | 1 +
hw/meson.build | 1 +
hw/pci-host/Kconfig | 3 +
hw/pci-host/meson.build | 1 +
hw/remote/Kconfig | 4 +
hw/remote/meson.build | 13 +
hw/remote/trace-events | 4 +
pc-bios/README | 4 +-
scripts/get_maintainer.pl | 2 +-
53 files changed, 3296 insertions(+), 70 deletions(-)
create mode 100644 docs/devel/multi-process.rst
create mode 100644 docs/system/multi-process.rst
create mode 100644 hw/remote/trace.h
create mode 100644 include/hw/pci-host/remote.h
create mode 100644 include/hw/remote/iohub.h
create mode 100644 include/hw/remote/machine.h
create mode 100644 include/hw/remote/memory.h
create mode 100644 include/hw/remote/mpqemu-link.h
create mode 100644 include/hw/remote/proxy-memory-listener.h
create mode 100644 include/hw/remote/proxy.h
create mode 100644 hw/pci-host/remote.c
create mode 100644 hw/remote/iohub.c
create mode 100644 hw/remote/machine.c
create mode 100644 hw/remote/memory.c
create mode 100644 hw/remote/message.c
create mode 100644 hw/remote/mpqemu-link.c
create mode 100644 hw/remote/proxy-memory-listener.c
create mode 100644 hw/remote/proxy.c
create mode 100644 hw/remote/remote-obj.c
create mode 100644 hw/remote/Kconfig
create mode 100644 hw/remote/meson.build
create mode 100644 hw/remote/trace-events
--
2.29.2
On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
>
> iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
>
> are available in the Git repository at:
>
> https://gitlab.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
>
> docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
>
> ----------------------------------------------------------------
> Pull request
>
> v3:
> * Replace {0} array initialization with {} to make clang happy [Peter]
>
> ----------------------------------------------------------------
Fails 'make check' on s390x host:
socket_accept failed: Resource temporarily unavailable
**
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
signal 6 (Aborted) (core dumped)
socket_accept failed: Resource temporarily unavailable
**
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
signal 6 (Aborted) (core dumped)
ERROR qtest-s390x/pxe-test - Bail out!
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
ERROR qtest-s390x/test-netfilter - Bail out!
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
Makefile.mtest:3121: recipe for target 'run-test-388' failed
make: *** [run-test-388] Error 1
make: *** Waiting for unfinished jobs....
Makefile.mtest:3113: recipe for target 'run-test-387' failed
thanks
-- PMM
On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> >
> > The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
> >
> > iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
> >
> > are available in the Git repository at:
> >
> > https://gitlab.com/stefanha/qemu.git tags/block-pull-request
> >
> > for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
> >
> > docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
> >
> > ----------------------------------------------------------------
> > Pull request
> >
> > v3:
> > * Replace {0} array initialization with {} to make clang happy [Peter]
> >
> > ----------------------------------------------------------------
>
>
> Fails 'make check' on s390x host:
I gave this a rerun to check it was reproducible (it is) and realised
I missed what looks like an important line in the log. As usual,
trying to disentangle which lines of a parallel make check correspond
to the failure is pretty tricky, but the lines
Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
are probably the proximate causes of the assertion failures.
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
QTEST_QEMU_IMG=./qemu-img
G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
QTEST_QEMU_BINARY=./qemu-system-rx tests/qtest/qos-test --tap -k
PASS 45 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-size-summary
SKIP
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
QTEST_QEMU_IMG=./qemu-img
G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/pxe-test --tap -k
PASS 46 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-devices
Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
PASS 47 qtest-rx/qmp-cmd-test /rx/qmp/query-replay
PASS 48 qtest-rx/qmp-cmd-test /rx/qmp/query-yank
PASS 49 qtest-rx/qmp-cmd-test /rx/qmp/query-name
PASS 50 qtest-rx/qmp-cmd-test /rx/qmp/query-iothreads
PASS 51 qtest-rx/qmp-cmd-test /rx/qmp/query-fdsets
PASS 52 qtest-rx/qmp-cmd-test /rx/qmp/query-command-line-options
PASS 53 qtest-rx/qmp-cmd-test /rx/qmp/query-acpi-ospm-status
PASS 54 qtest-rx/qmp-cmd-test /rx/qmp/object-add-failure-modes
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
QTEST_QEMU_IMG=./qemu-img
G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/test-netfilter --tap
-k
Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
socket_accept failed: Resource temporarily unavailable
socket_accept failed: Resource temporarily unavailable
**
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
**
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
signal 6 (Aborted) (core dumped)
../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
signal 6 (Aborted) (core dumped)
ERROR qtest-s390x/pxe-test - Bail out!
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
ERROR qtest-s390x/test-netfilter - Bail out!
ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
Makefile.mtest:3113: recipe for target 'run-test-387' failed
make: *** [run-test-387] Error 1
make: *** Waiting for unfinished jobs....
Makefile.mtest:3121: recipe for target 'run-test-388' failed
thanks
-- PMM
On Sat, Feb 06, 2021 at 05:03:20PM +0000, Peter Maydell wrote:
> On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote:
> >
> > On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> > >
> > > The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
> > >
> > > iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
> > >
> > > are available in the Git repository at:
> > >
> > > https://gitlab.com/stefanha/qemu.git tags/block-pull-request
> > >
> > > for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
> > >
> > > docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
> > >
> > > ----------------------------------------------------------------
> > > Pull request
> > >
> > > v3:
> > > * Replace {0} array initialization with {} to make clang happy [Peter]
> > >
> > > ----------------------------------------------------------------
> >
> >
> > Fails 'make check' on s390x host:
>
> I gave this a rerun to check it was reproducible (it is) and realised
> I missed what looks like an important line in the log. As usual,
> trying to disentangle which lines of a parallel make check correspond
> to the failure is pretty tricky, but the lines
> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>
> are probably the proximate causes of the assertion failures.
>
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> QTEST_QEMU_IMG=./qemu-img
> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
> QTEST_QEMU_BINARY=./qemu-system-rx tests/qtest/qos-test --tap -k
> PASS 45 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-size-summary
> SKIP
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> QTEST_QEMU_IMG=./qemu-img
> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/pxe-test --tap -k
> PASS 46 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-devices
> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
> PASS 47 qtest-rx/qmp-cmd-test /rx/qmp/query-replay
> PASS 48 qtest-rx/qmp-cmd-test /rx/qmp/query-yank
> PASS 49 qtest-rx/qmp-cmd-test /rx/qmp/query-name
> PASS 50 qtest-rx/qmp-cmd-test /rx/qmp/query-iothreads
> PASS 51 qtest-rx/qmp-cmd-test /rx/qmp/query-fdsets
> PASS 52 qtest-rx/qmp-cmd-test /rx/qmp/query-command-line-options
> PASS 53 qtest-rx/qmp-cmd-test /rx/qmp/query-acpi-ospm-status
> PASS 54 qtest-rx/qmp-cmd-test /rx/qmp/object-add-failure-modes
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> QTEST_QEMU_IMG=./qemu-img
> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/test-netfilter --tap
> -k
> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
> socket_accept failed: Resource temporarily unavailable
> socket_accept failed: Resource temporarily unavailable
> **
> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> **
> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
> signal 6 (Aborted) (core dumped)
> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
> signal 6 (Aborted) (core dumped)
> ERROR qtest-s390x/pxe-test - Bail out!
> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> ERROR qtest-s390x/test-netfilter - Bail out!
> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> Makefile.mtest:3113: recipe for target 'run-test-387' failed
> make: *** [run-test-387] Error 1
> make: *** Waiting for unfinished jobs....
> Makefile.mtest:3121: recipe for target 'run-test-388' failed
Hi Elena and Jag,
Please take a look at this QOM failure. I guess remote-pcihost is being
built but pcie-host-bridge is missing from the s390x-softmmu target.
Thanks,
Stefan
On 2/8/21 10:27 AM, Stefan Hajnoczi wrote:
> On Sat, Feb 06, 2021 at 05:03:20PM +0000, Peter Maydell wrote:
>> On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote:
>>>
>>> On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>>>>
>>>> The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
>>>>
>>>> iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
>>>>
>>>> are available in the Git repository at:
>>>>
>>>> https://gitlab.com/stefanha/qemu.git tags/block-pull-request
>>>>
>>>> for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
>>>>
>>>> docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
>>>>
>>>> ----------------------------------------------------------------
>>>> Pull request
>>>>
>>>> v3:
>>>> * Replace {0} array initialization with {} to make clang happy [Peter]
>>>>
>>>> ----------------------------------------------------------------
>>>
>>>
>>> Fails 'make check' on s390x host:
>>
>> I gave this a rerun to check it was reproducible (it is) and realised
>> I missed what looks like an important line in the log. As usual,
>> trying to disentangle which lines of a parallel make check correspond
>> to the failure is pretty tricky, but the lines
>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>
>> are probably the proximate causes of the assertion failures.
>>
>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>> QTEST_QEMU_IMG=./qemu-img
>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>> QTEST_QEMU_BINARY=./qemu-system-rx tests/qtest/qos-test --tap -k
>> PASS 45 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-size-summary
>> SKIP
>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>> QTEST_QEMU_IMG=./qemu-img
>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/pxe-test --tap -k
>> PASS 46 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-devices
>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>> PASS 47 qtest-rx/qmp-cmd-test /rx/qmp/query-replay
>> PASS 48 qtest-rx/qmp-cmd-test /rx/qmp/query-yank
>> PASS 49 qtest-rx/qmp-cmd-test /rx/qmp/query-name
>> PASS 50 qtest-rx/qmp-cmd-test /rx/qmp/query-iothreads
>> PASS 51 qtest-rx/qmp-cmd-test /rx/qmp/query-fdsets
>> PASS 52 qtest-rx/qmp-cmd-test /rx/qmp/query-command-line-options
>> PASS 53 qtest-rx/qmp-cmd-test /rx/qmp/query-acpi-ospm-status
>> PASS 54 qtest-rx/qmp-cmd-test /rx/qmp/object-add-failure-modes
>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>> QTEST_QEMU_IMG=./qemu-img
>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/test-netfilter --tap
>> -k
>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>> socket_accept failed: Resource temporarily unavailable
>> socket_accept failed: Resource temporarily unavailable
>> **
>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>> **
>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>> signal 6 (Aborted) (core dumped)
>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>> signal 6 (Aborted) (core dumped)
>> ERROR qtest-s390x/pxe-test - Bail out!
>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>> ERROR qtest-s390x/test-netfilter - Bail out!
>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>> Makefile.mtest:3113: recipe for target 'run-test-387' failed
>> make: *** [run-test-387] Error 1
>> make: *** Waiting for unfinished jobs....
>> Makefile.mtest:3121: recipe for target 'run-test-388' failed
>
> Hi Elena and Jag,
> Please take a look at this QOM failure. I guess remote-pcihost is being
> built but pcie-host-bridge is missing from the s390x-softmmu target.
Fix suggested here:
https://www.mail-archive.com/qemu-block@nongnu.org/msg80536.html
But beside the fix what would be better is to restrict this feature
where it makes sense (we are having hard time building/testing all
features, better enable new ones where they are used).
Would it be enough to enable this feature on X86 hosts/targets for
mainstream CI?
Thanks,
Phil.
On Mon, Feb 08, 2021 at 11:02:57AM +0100, Philippe Mathieu-Daudé wrote:
> On 2/8/21 10:27 AM, Stefan Hajnoczi wrote:
> > On Sat, Feb 06, 2021 at 05:03:20PM +0000, Peter Maydell wrote:
> >> On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote:
> >>>
> >>> On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> >>>>
> >>>> The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
> >>>>
> >>>> iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
> >>>>
> >>>> are available in the Git repository at:
> >>>>
> >>>> https://gitlab.com/stefanha/qemu.git tags/block-pull-request
> >>>>
> >>>> for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
> >>>>
> >>>> docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
> >>>>
> >>>> ----------------------------------------------------------------
> >>>> Pull request
> >>>>
> >>>> v3:
> >>>> * Replace {0} array initialization with {} to make clang happy [Peter]
> >>>>
> >>>> ----------------------------------------------------------------
> >>>
> >>>
> >>> Fails 'make check' on s390x host:
> >>
> >> I gave this a rerun to check it was reproducible (it is) and realised
> >> I missed what looks like an important line in the log. As usual,
> >> trying to disentangle which lines of a parallel make check correspond
> >> to the failure is pretty tricky, but the lines
> >> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
> >>
> >> are probably the proximate causes of the assertion failures.
> >>
> >> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> >> QTEST_QEMU_IMG=./qemu-img
> >> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
> >> QTEST_QEMU_BINARY=./qemu-system-rx tests/qtest/qos-test --tap -k
> >> PASS 45 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-size-summary
> >> SKIP
> >> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> >> QTEST_QEMU_IMG=./qemu-img
> >> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
> >> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/pxe-test --tap -k
> >> PASS 46 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-devices
> >> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
> >> PASS 47 qtest-rx/qmp-cmd-test /rx/qmp/query-replay
> >> PASS 48 qtest-rx/qmp-cmd-test /rx/qmp/query-yank
> >> PASS 49 qtest-rx/qmp-cmd-test /rx/qmp/query-name
> >> PASS 50 qtest-rx/qmp-cmd-test /rx/qmp/query-iothreads
> >> PASS 51 qtest-rx/qmp-cmd-test /rx/qmp/query-fdsets
> >> PASS 52 qtest-rx/qmp-cmd-test /rx/qmp/query-command-line-options
> >> PASS 53 qtest-rx/qmp-cmd-test /rx/qmp/query-acpi-ospm-status
> >> PASS 54 qtest-rx/qmp-cmd-test /rx/qmp/object-add-failure-modes
> >> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> >> QTEST_QEMU_IMG=./qemu-img
> >> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
> >> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/test-netfilter --tap
> >> -k
> >> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
> >> socket_accept failed: Resource temporarily unavailable
> >> socket_accept failed: Resource temporarily unavailable
> >> **
> >> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> >> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> >> **
> >> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> >> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> >> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
> >> signal 6 (Aborted) (core dumped)
> >> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
> >> signal 6 (Aborted) (core dumped)
> >> ERROR qtest-s390x/pxe-test - Bail out!
> >> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> >> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> >> ERROR qtest-s390x/test-netfilter - Bail out!
> >> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
> >> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
> >> Makefile.mtest:3113: recipe for target 'run-test-387' failed
> >> make: *** [run-test-387] Error 1
> >> make: *** Waiting for unfinished jobs....
> >> Makefile.mtest:3121: recipe for target 'run-test-388' failed
> >
> > Hi Elena and Jag,
> > Please take a look at this QOM failure. I guess remote-pcihost is being
> > built but pcie-host-bridge is missing from the s390x-softmmu target.
>
> Fix suggested here:
> https://www.mail-archive.com/qemu-block@nongnu.org/msg80536.html
>
> But beside the fix what would be better is to restrict this feature
> where it makes sense (we are having hard time building/testing all
> features, better enable new ones where they are used).
>
> Would it be enough to enable this feature on X86 hosts/targets for
> mainstream CI?
Trying to check if I understand correctly:
Instead of writing configure/meson rules that enable the feature
whenever the dependencies are satisfied (KVM and PCI), explicitly enable
it on x86 targets only. The rationale is that it's not being used and
hasn't been tested on non-x86 targets, so it's not really supported
there yet.
?
I think that approach makes sense too. We just need to make a clear
distinction in the configure/meson rules which conditionals are true
dependencies and which indicate support. In other words x86 isn't
actually a dependency, it's just a condition expressing that the
architecture is supported and others aren't yet. That way people will be
able to modify the logic in the future without accidentally dropping a
true dependency condition, etc.
Stefan
On 08/02/2021 21.21, Stefan Hajnoczi wrote:
> On Mon, Feb 08, 2021 at 11:02:57AM +0100, Philippe Mathieu-Daudé wrote:
>> On 2/8/21 10:27 AM, Stefan Hajnoczi wrote:
>>> On Sat, Feb 06, 2021 at 05:03:20PM +0000, Peter Maydell wrote:
>>>> On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote:
>>>>>
>>>>> On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>>>>>>
>>>>>> The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
>>>>>>
>>>>>> iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
>>>>>>
>>>>>> are available in the Git repository at:
>>>>>>
>>>>>> https://gitlab.com/stefanha/qemu.git tags/block-pull-request
>>>>>>
>>>>>> for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
>>>>>>
>>>>>> docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
>>>>>>
>>>>>> ----------------------------------------------------------------
>>>>>> Pull request
>>>>>>
>>>>>> v3:
>>>>>> * Replace {0} array initialization with {} to make clang happy [Peter]
>>>>>>
>>>>>> ----------------------------------------------------------------
>>>>>
>>>>>
>>>>> Fails 'make check' on s390x host:
>>>>
>>>> I gave this a rerun to check it was reproducible (it is) and realised
>>>> I missed what looks like an important line in the log. As usual,
>>>> trying to disentangle which lines of a parallel make check correspond
>>>> to the failure is pretty tricky, but the lines
>>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>>>
>>>> are probably the proximate causes of the assertion failures.
>>>>
>>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>>> QTEST_QEMU_IMG=./qemu-img
>>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>>> QTEST_QEMU_BINARY=./qemu-system-rx tests/qtest/qos-test --tap -k
>>>> PASS 45 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-size-summary
>>>> SKIP
>>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>>> QTEST_QEMU_IMG=./qemu-img
>>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/pxe-test --tap -k
>>>> PASS 46 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-devices
>>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>>> PASS 47 qtest-rx/qmp-cmd-test /rx/qmp/query-replay
>>>> PASS 48 qtest-rx/qmp-cmd-test /rx/qmp/query-yank
>>>> PASS 49 qtest-rx/qmp-cmd-test /rx/qmp/query-name
>>>> PASS 50 qtest-rx/qmp-cmd-test /rx/qmp/query-iothreads
>>>> PASS 51 qtest-rx/qmp-cmd-test /rx/qmp/query-fdsets
>>>> PASS 52 qtest-rx/qmp-cmd-test /rx/qmp/query-command-line-options
>>>> PASS 53 qtest-rx/qmp-cmd-test /rx/qmp/query-acpi-ospm-status
>>>> PASS 54 qtest-rx/qmp-cmd-test /rx/qmp/object-add-failure-modes
>>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>>> QTEST_QEMU_IMG=./qemu-img
>>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/test-netfilter --tap
>>>> -k
>>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>>> socket_accept failed: Resource temporarily unavailable
>>>> socket_accept failed: Resource temporarily unavailable
>>>> **
>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>> **
>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>>>> signal 6 (Aborted) (core dumped)
>>>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>>>> signal 6 (Aborted) (core dumped)
>>>> ERROR qtest-s390x/pxe-test - Bail out!
>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>> ERROR qtest-s390x/test-netfilter - Bail out!
>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>> Makefile.mtest:3113: recipe for target 'run-test-387' failed
>>>> make: *** [run-test-387] Error 1
>>>> make: *** Waiting for unfinished jobs....
>>>> Makefile.mtest:3121: recipe for target 'run-test-388' failed
>>>
>>> Hi Elena and Jag,
>>> Please take a look at this QOM failure. I guess remote-pcihost is being
>>> built but pcie-host-bridge is missing from the s390x-softmmu target.
>>
>> Fix suggested here:
>> https://www.mail-archive.com/qemu-block@nongnu.org/msg80536.html
>>
>> But beside the fix what would be better is to restrict this feature
>> where it makes sense (we are having hard time building/testing all
>> features, better enable new ones where they are used).
>>
>> Would it be enough to enable this feature on X86 hosts/targets for
>> mainstream CI?
>
> Trying to check if I understand correctly:
>
> Instead of writing configure/meson rules that enable the feature
> whenever the dependencies are satisfied (KVM and PCI), explicitly enable
> it on x86 targets only. The rationale is that it's not being used and
> hasn't been tested on non-x86 targets, so it's not really supported
> there yet.
I haven't looked very close at the patches, but if I got that right, the
problem is that this features depends on the availability of a certain PCI-e
device. So the easiest solution is maybe to add a "depends on PCI_EXPRESS"
in the "config MULTIPROCESS", since that switch is not active on s390x.
Thomas
> On Feb 9, 2021, at 1:03 AM, Thomas Huth <thuth@redhat.com> wrote:
>
> On 08/02/2021 21.21, Stefan Hajnoczi wrote:
>> On Mon, Feb 08, 2021 at 11:02:57AM +0100, Philippe Mathieu-Daudé wrote:
>>> On 2/8/21 10:27 AM, Stefan Hajnoczi wrote:
>>>> On Sat, Feb 06, 2021 at 05:03:20PM +0000, Peter Maydell wrote:
>>>>> On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote:
>>>>>>
>>>>>> On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>>>>>>>
>>>>>>> The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
>>>>>>>
>>>>>>> iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
>>>>>>>
>>>>>>> are available in the Git repository at:
>>>>>>>
>>>>>>> https://gitlab.com/stefanha/qemu.git tags/block-pull-request
>>>>>>>
>>>>>>> for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
>>>>>>>
>>>>>>> docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
>>>>>>>
>>>>>>> ----------------------------------------------------------------
>>>>>>> Pull request
>>>>>>>
>>>>>>> v3:
>>>>>>> * Replace {0} array initialization with {} to make clang happy [Peter]
>>>>>>>
>>>>>>> ----------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> Fails 'make check' on s390x host:
>>>>>
>>>>> I gave this a rerun to check it was reproducible (it is) and realised
>>>>> I missed what looks like an important line in the log. As usual,
>>>>> trying to disentangle which lines of a parallel make check correspond
>>>>> to the failure is pretty tricky, but the lines
>>>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>>>>
>>>>> are probably the proximate causes of the assertion failures.
>>>>>
>>>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>>>> QTEST_QEMU_IMG=./qemu-img
>>>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>>>> QTEST_QEMU_BINARY=./qemu-system-rx tests/qtest/qos-test --tap -k
>>>>> PASS 45 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-size-summary
>>>>> SKIP
>>>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>>>> QTEST_QEMU_IMG=./qemu-img
>>>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>>>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/pxe-test --tap -k
>>>>> PASS 46 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-devices
>>>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>>>> PASS 47 qtest-rx/qmp-cmd-test /rx/qmp/query-replay
>>>>> PASS 48 qtest-rx/qmp-cmd-test /rx/qmp/query-yank
>>>>> PASS 49 qtest-rx/qmp-cmd-test /rx/qmp/query-name
>>>>> PASS 50 qtest-rx/qmp-cmd-test /rx/qmp/query-iothreads
>>>>> PASS 51 qtest-rx/qmp-cmd-test /rx/qmp/query-fdsets
>>>>> PASS 52 qtest-rx/qmp-cmd-test /rx/qmp/query-command-line-options
>>>>> PASS 53 qtest-rx/qmp-cmd-test /rx/qmp/query-acpi-ospm-status
>>>>> PASS 54 qtest-rx/qmp-cmd-test /rx/qmp/object-add-failure-modes
>>>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>>>> QTEST_QEMU_IMG=./qemu-img
>>>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>>>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/test-netfilter --tap
>>>>> -k
>>>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>>>> socket_accept failed: Resource temporarily unavailable
>>>>> socket_accept failed: Resource temporarily unavailable
>>>>> **
>>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>>> **
>>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>>>>> signal 6 (Aborted) (core dumped)
>>>>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>>>>> signal 6 (Aborted) (core dumped)
>>>>> ERROR qtest-s390x/pxe-test - Bail out!
>>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>>> ERROR qtest-s390x/test-netfilter - Bail out!
>>>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>>>> Makefile.mtest:3113: recipe for target 'run-test-387' failed
>>>>> make: *** [run-test-387] Error 1
>>>>> make: *** Waiting for unfinished jobs....
>>>>> Makefile.mtest:3121: recipe for target 'run-test-388' failed
>>>>
>>>> Hi Elena and Jag,
>>>> Please take a look at this QOM failure. I guess remote-pcihost is being
>>>> built but pcie-host-bridge is missing from the s390x-softmmu target.
>>>
>>> Fix suggested here:
>>> https://www.mail-archive.com/qemu-block@nongnu.org/msg80536.html
>>>
>>> But beside the fix what would be better is to restrict this feature
>>> where it makes sense (we are having hard time building/testing all
>>> features, better enable new ones where they are used).
>>>
>>> Would it be enough to enable this feature on X86 hosts/targets for
>>> mainstream CI?
>> Trying to check if I understand correctly:
>> Instead of writing configure/meson rules that enable the feature
>> whenever the dependencies are satisfied (KVM and PCI), explicitly enable
>> it on x86 targets only. The rationale is that it's not being used and
>> hasn't been tested on non-x86 targets, so it's not really supported
>> there yet.
>
> I haven't looked very close at the patches, but if I got that right, the problem is that this features depends on the availability of a certain PCI-e device. So the easiest solution is maybe to add a "depends on PCI_EXPRESS" in the "config MULTIPROCESS", since that switch is not active on s390x.
Thank you for the suggestion, Thomas!
I agree that adding a “depends on PCI_EXPRESS” to “config MULTIPROCESS” would resolve the build issue on s390x.
Thank you very much!
--
Jag
>
> Thomas
>
> On Feb 8, 2021, at 5:02 AM, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> On 2/8/21 10:27 AM, Stefan Hajnoczi wrote:
>> On Sat, Feb 06, 2021 at 05:03:20PM +0000, Peter Maydell wrote:
>>> On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote:
>>>>
>>>> On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>>>>>
>>>>> The following changes since commit e2c5093c993ef646e4e28f7aa78429853bcc06ac:
>>>>>
>>>>> iotests: 30: drop from auto group (and effectively from make check) (2021-02-05 15:16:13 +0000)
>>>>>
>>>>> are available in the Git repository at:
>>>>>
>>>>> https://gitlab.com/stefanha/qemu.git tags/block-pull-request
>>>>>
>>>>> for you to fetch changes up to b07011f375bda3319cf72eee7cb18d310078387b:
>>>>>
>>>>> docs: fix Parallels Image "dirty bitmap" section (2021-02-05 16:36:36 +0000)
>>>>>
>>>>> ----------------------------------------------------------------
>>>>> Pull request
>>>>>
>>>>> v3:
>>>>> * Replace {0} array initialization with {} to make clang happy [Peter]
>>>>>
>>>>> ----------------------------------------------------------------
>>>>
>>>>
>>>> Fails 'make check' on s390x host:
>>>
>>> I gave this a rerun to check it was reproducible (it is) and realised
>>> I missed what looks like an important line in the log. As usual,
>>> trying to disentangle which lines of a parallel make check correspond
>>> to the failure is pretty tricky, but the lines
>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>>
>>> are probably the proximate causes of the assertion failures.
>>>
>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>> QTEST_QEMU_IMG=./qemu-img
>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>> QTEST_QEMU_BINARY=./qemu-system-rx tests/qtest/qos-test --tap -k
>>> PASS 45 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-size-summary
>>> SKIP
>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>> QTEST_QEMU_IMG=./qemu-img
>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/pxe-test --tap -k
>>> PASS 46 qtest-rx/qmp-cmd-test /rx/qmp/query-memory-devices
>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>> PASS 47 qtest-rx/qmp-cmd-test /rx/qmp/query-replay
>>> PASS 48 qtest-rx/qmp-cmd-test /rx/qmp/query-yank
>>> PASS 49 qtest-rx/qmp-cmd-test /rx/qmp/query-name
>>> PASS 50 qtest-rx/qmp-cmd-test /rx/qmp/query-iothreads
>>> PASS 51 qtest-rx/qmp-cmd-test /rx/qmp/query-fdsets
>>> PASS 52 qtest-rx/qmp-cmd-test /rx/qmp/query-command-line-options
>>> PASS 53 qtest-rx/qmp-cmd-test /rx/qmp/query-acpi-ospm-status
>>> PASS 54 qtest-rx/qmp-cmd-test /rx/qmp/object-add-failure-modes
>>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>>> QTEST_QEMU_IMG=./qemu-img
>>> G_TEST_DBUS_DAEMON=/home/ubuntu/qemu/tests/dbus-vmstate-daemon.sh
>>> QTEST_QEMU_BINARY=./qemu-system-s390x tests/qtest/test-netfilter --tap
>>> -k
>>> Type 'remote-pcihost' is missing its parent 'pcie-host-bridge'
>>> socket_accept failed: Resource temporarily unavailable
>>> socket_accept failed: Resource temporarily unavailable
>>> **
>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>> **
>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>>> signal 6 (Aborted) (core dumped)
>>> ../../tests/qtest/libqtest.c:181: kill_qemu() detected QEMU death from
>>> signal 6 (Aborted) (core dumped)
>>> ERROR qtest-s390x/pxe-test - Bail out!
>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>> ERROR qtest-s390x/test-netfilter - Bail out!
>>> ERROR:../../tests/qtest/libqtest.c:308:qtest_init_without_qmp_handshake:
>>> assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
>>> Makefile.mtest:3113: recipe for target 'run-test-387' failed
>>> make: *** [run-test-387] Error 1
>>> make: *** Waiting for unfinished jobs....
>>> Makefile.mtest:3121: recipe for target 'run-test-388' failed
>>
>> Hi Elena and Jag,
>> Please take a look at this QOM failure. I guess remote-pcihost is being
>> built but pcie-host-bridge is missing from the s390x-softmmu target.
Hi All,
Thank you for letting us know about this build issue! We are working on resolving it.
We would like to ensure that the next version we send doesn’t cause too many
problems like this. Should the Travis/GitLab CI have caught this problem?
We ran the following tests before sending the patches out for review:
- “make docker”
- Travis CI (will use GitLab going forward)
- Tests in the “tests/acceptance” folder.
Is there any other tests we could run before sending the next revision?
Thank you very much!
--
Jag
>
> Fix suggested here:
> https://www.mail-archive.com/qemu-block@nongnu.org/msg80536.html
>
> But beside the fix what would be better is to restrict this feature
> where it makes sense (we are having hard time building/testing all
> features, better enable new ones where they are used).
>
> Would it be enough to enable this feature on X86 hosts/targets for
> mainstream CI?
>
> Thanks,
>
> Phil.
>
Jag Raman <jag.raman@oracle.com> writes: >> On Feb 8, 2021, at 5:02 AM, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: >> >> On 2/8/21 10:27 AM, Stefan Hajnoczi wrote: >>> On Sat, Feb 06, 2021 at 05:03:20PM +0000, Peter Maydell wrote: >>>> On Fri, 5 Feb 2021 at 22:53, Peter Maydell <peter.maydell@linaro.org> wrote: >>>>> >>>>> On Fri, 5 Feb 2021 at 16:45, Stefan Hajnoczi <stefanha@redhat.com> wrote: <snip> >>> >>> Hi Elena and Jag, >>> Please take a look at this QOM failure. I guess remote-pcihost is being >>> built but pcie-host-bridge is missing from the s390x-softmmu target. > > Hi All, > > Thank you for letting us know about this build issue! We are working on resolving it. > > We would like to ensure that the next version we send doesn’t cause too many > problems like this. Should the Travis/GitLab CI have caught this problem? > > We ran the following tests before sending the patches out for review: > - “make docker” On it's own it won't do much. You could go with: make docker-test-build@debian-s390-cross You can't run make check for most cross builds but you can at least run the builds themselves: make docker-test-build should run the test build on all capable images. docker-all-tests should be all possible tests. > - Travis CI (will use GitLab going forward) > - Tests in the “tests/acceptance” folder. > > Is there any other tests we could run before sending the next > revision? Manually running: make check-block > > Thank you very much! -- Alex Bennée
© 2016 - 2026 Red Hat, Inc.