[PULL v3 00/27] Block patches

Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210205164459.432714-1-stefanha@redhat.com
There is a newer version of this series
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
[PULL v3 00/27] Block patches
Posted by Stefan Hajnoczi 4 years, 2 months ago
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

Re: [PULL v3 00/27] Block patches
Posted by Peter Maydell 4 years, 2 months ago
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

Re: [PULL v3 00/27] Block patches
Posted by Peter Maydell 4 years, 2 months ago
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

Re: [PULL v3 00/27] Block patches
Posted by Stefan Hajnoczi 4 years, 2 months ago
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
Re: [PULL v3 00/27] Block patches
Posted by Philippe Mathieu-Daudé 4 years, 2 months ago
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.


Re: [PULL v3 00/27] Block patches
Posted by Stefan Hajnoczi 4 years, 2 months ago
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
Re: [PULL v3 00/27] Block patches
Posted by Thomas Huth 4 years, 2 months ago
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


Re: [PULL v3 00/27] Block patches
Posted by Jag Raman 4 years, 2 months ago

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

Re: [PULL v3 00/27] Block patches
Posted by Jag Raman 4 years, 2 months ago

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

Re: [PULL v3 00/27] Block patches
Posted by Alex Bennée 4 years, 2 months ago
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