[PATCH 0/8] migration fixes

Fabiano Rosas posted 8 patches 1 week, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230918172822.19052-1-farosas@suse.de
Maintainers: Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Leonardo Bras <leobras@redhat.com>
migration/migration.c    | 145 +++++++++++++++------------------------
migration/migration.h    |  14 +++-
migration/postcopy-ram.c |  38 +++++++++-
3 files changed, 106 insertions(+), 91 deletions(-)
[PATCH 0/8] migration fixes
Posted by Fabiano Rosas 1 week, 6 days ago
This series contains fixes for the two currently know failures that
show up in migration tests plus a set of fixes for some theoretical
race conditions around QEMUFile handling.

Patch 1 addresses the issue found in the postcopy/preempt/plain test:
https://gitlab.com/qemu-project/qemu/-/issues/1886

Patch 7 fixes a rare crash during the postocpy/preempt/recovery/plain test:

  Thread 7 "return path" received signal SIGSEGV, Segmentation fault.
      0x00005555560e4893 in qemu_file_get_error_obj (f=0x0, errp=0x0) at ../migration/qemu-file.c:154
      154         return f->last_error;

CI run: https://gitlab.com/farosas/qemu/-/pipelines/1008652837

Fabiano Rosas (7):
  migration: Fix possible race when setting rp_state.error
  migration: Fix possible races when shutting down the return path
  migration: Fix possible race when shutting down to_dst_file
  migration: Remove redundant cleanup of postcopy_qemufile_src
  migration: Consolidate return path closing code
  migration: Replace the return path retry logic
  migration: Move return path cleanup to main migration thread

Peter Xu (1):
  migration: Fix race that dest preempt thread close too early

 migration/migration.c    | 145 +++++++++++++++------------------------
 migration/migration.h    |  14 +++-
 migration/postcopy-ram.c |  38 +++++++++-
 3 files changed, 106 insertions(+), 91 deletions(-)

-- 
2.35.3
Re: [PATCH 0/8] migration fixes
Posted by Stefan Hajnoczi 4 days, 14 hours ago
On Mon, Sep 18, 2023 at 02:28:14PM -0300, Fabiano Rosas wrote:
> This series contains fixes for the two currently know failures that
> show up in migration tests plus a set of fixes for some theoretical
> race conditions around QEMUFile handling.
> 
> Patch 1 addresses the issue found in the postcopy/preempt/plain test:
> https://gitlab.com/qemu-project/qemu/-/issues/1886
> 
> Patch 7 fixes a rare crash during the postocpy/preempt/recovery/plain test:
> 
>   Thread 7 "return path" received signal SIGSEGV, Segmentation fault.
>       0x00005555560e4893 in qemu_file_get_error_obj (f=0x0, errp=0x0) at ../migration/qemu-file.c:154
>       154         return f->last_error;
> 
> CI run: https://gitlab.com/farosas/qemu/-/pipelines/1008652837
> 
> Fabiano Rosas (7):
>   migration: Fix possible race when setting rp_state.error
>   migration: Fix possible races when shutting down the return path
>   migration: Fix possible race when shutting down to_dst_file
>   migration: Remove redundant cleanup of postcopy_qemufile_src
>   migration: Consolidate return path closing code
>   migration: Replace the return path retry logic
>   migration: Move return path cleanup to main migration thread
> 
> Peter Xu (1):
>   migration: Fix race that dest preempt thread close too early
> 
>  migration/migration.c    | 145 +++++++++++++++------------------------
>  migration/migration.h    |  14 +++-
>  migration/postcopy-ram.c |  38 +++++++++-
>  3 files changed, 106 insertions(+), 91 deletions(-)

Applied to staging.

Thanks,
Stefan
Re: [PATCH 0/8] migration fixes
Posted by Fabiano Rosas 4 days, 20 hours ago
Fabiano Rosas <farosas@suse.de> writes:

> This series contains fixes for the two currently know failures that
> show up in migration tests plus a set of fixes for some theoretical
> race conditions around QEMUFile handling.
>
> Patch 1 addresses the issue found in the postcopy/preempt/plain test:
> https://gitlab.com/qemu-project/qemu/-/issues/1886
>
> Patch 7 fixes a rare crash during the postocpy/preempt/recovery/plain test:
>
>   Thread 7 "return path" received signal SIGSEGV, Segmentation fault.
>       0x00005555560e4893 in qemu_file_get_error_obj (f=0x0, errp=0x0) at ../migration/qemu-file.c:154
>       154         return f->last_error;
>
> CI run: https://gitlab.com/farosas/qemu/-/pipelines/1008652837
>
> Fabiano Rosas (7):
>   migration: Fix possible race when setting rp_state.error
>   migration: Fix possible races when shutting down the return path
>   migration: Fix possible race when shutting down to_dst_file
>   migration: Remove redundant cleanup of postcopy_qemufile_src
>   migration: Consolidate return path closing code
>   migration: Replace the return path retry logic
>   migration: Move return path cleanup to main migration thread
>
> Peter Xu (1):
>   migration: Fix race that dest preempt thread close too early
>
>  migration/migration.c    | 145 +++++++++++++++------------------------
>  migration/migration.h    |  14 +++-
>  migration/postcopy-ram.c |  38 +++++++++-
>  3 files changed, 106 insertions(+), 91 deletions(-)

Ping
Re: [PATCH 0/8] migration fixes
Posted by Peter Xu 4 days, 18 hours ago
On Wed, Sep 27, 2023 at 09:39:33AM -0300, Fabiano Rosas wrote:
> Fabiano Rosas <farosas@suse.de> writes:
> 
> > This series contains fixes for the two currently know failures that
> > show up in migration tests plus a set of fixes for some theoretical
> > race conditions around QEMUFile handling.
> >
> > Patch 1 addresses the issue found in the postcopy/preempt/plain test:
> > https://gitlab.com/qemu-project/qemu/-/issues/1886
> >
> > Patch 7 fixes a rare crash during the postocpy/preempt/recovery/plain test:
> >
> >   Thread 7 "return path" received signal SIGSEGV, Segmentation fault.
> >       0x00005555560e4893 in qemu_file_get_error_obj (f=0x0, errp=0x0) at ../migration/qemu-file.c:154
> >       154         return f->last_error;
> >
> > CI run: https://gitlab.com/farosas/qemu/-/pipelines/1008652837
> >
> > Fabiano Rosas (7):
> >   migration: Fix possible race when setting rp_state.error
> >   migration: Fix possible races when shutting down the return path
> >   migration: Fix possible race when shutting down to_dst_file
> >   migration: Remove redundant cleanup of postcopy_qemufile_src
> >   migration: Consolidate return path closing code
> >   migration: Replace the return path retry logic
> >   migration: Move return path cleanup to main migration thread
> >
> > Peter Xu (1):
> >   migration: Fix race that dest preempt thread close too early
> >
> >  migration/migration.c    | 145 +++++++++++++++------------------------
> >  migration/migration.h    |  14 +++-
> >  migration/postcopy-ram.c |  38 +++++++++-
> >  3 files changed, 106 insertions(+), 91 deletions(-)
> 
> Ping

Stefan,

This is the series I mentioned to you before that will solve all known
migration-test intermittent failures.  It covers two bugs we're aware of.

I've already provided all R-bs on the patches.

Feel free to merge this series if you want even before Juan's back.

Thanks!

-- 
Peter Xu
Re: [PATCH 0/8] migration fixes
Posted by Stefan Hajnoczi 4 days, 12 hours ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.