From: Max Reitz <mreitz@redhat.com>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Qemu-block <qemu-block@nongnu.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
dgilbert@redhat.com
Subject: Re: [Qemu-devel] Aborts in iotest 169
Date: Wed, 23 Jan 2019 17:12:35 +0100 [thread overview]
Message-ID: <b6fd5a23-3afc-0ba2-2e24-b6d7d53c7fc2@redhat.com> (raw)
In-Reply-To: <20190123110417.69e41c38@doriath>
[-- Attachment #1: Type: text/plain, Size: 2828 bytes --]
On 23.01.19 17:04, Luiz Capitulino wrote:
> On Wed, 23 Jan 2019 16:48:49 +0100
> Max Reitz <mreitz@redhat.com> wrote:
>
>> Hi,
>>
>> When running 169 in parallel (e.g. like so:
>>
>> $ while TEST_DIR=/tmp/t0 ./check -T -qcow2 169; do; done
>> $ while TEST_DIR=/tmp/t1 ./check -T -qcow2 169; do; done
>> $ while TEST_DIR=/tmp/t2 ./check -T -qcow2 169; do; done
>> $ while TEST_DIR=/tmp/t3 ./check -T -qcow2 169; do; done
>>
>> in four different shells), I get aborts:
>
> OK, is this part of a test-suite that's also running migration
> tests in parallel or in sequence? In other words, what does
> iotests have to do with migration (sorry if this is stupid
> question, but it's been years I don't do qemu).
They run migration tests in sequence, but if you run multiple test
instances in parallel, well, then they will be run in parallel.
The only reason I CC'd you was because you were so prominent in git
blame. O:-)
> More below.
>
> [...]
>
>> The backtrace always goes like this:
>>
>> (gdb) bt
>> #0 0x00007f0acf5cc53f in raise () at /lib64/libc.so.6
>> #1 0x00007f0acf5b6895 in abort () at /lib64/libc.so.6
>> #2 0x000055a46ebbb1a6 in runstate_set (new_state=RUN_STATE_POSTMIGRATE)
>> at vl.c:742
>> #3 0x000055a46ebbb1a6 in runstate_set
>> (new_state=new_state@entry=RUN_STATE_POSTMIGRATE) at vl.c:730
>> #4 0x000055a46ed39129 in migration_iteration_finish (s=0x55a4708be000)
>> at migration/migration.c:2972
>> #5 0x000055a46ed39129 in migration_thread
>> (opaque=opaque@entry=0x55a4708be000) at migration/migration.c:3130
>> #6 0x000055a46eea665a in qemu_thread_start (args=<optimized out>) at
>> util/qemu-thread-posix.c:502
>>
>>
>> #7 0x00007f0acf76258e in start_thread () at /lib64/libpthread.so.0
>> #8 0x00007f0acf6916a3 in clone () at /lib64/libc.so.6
>> (gdb) frame 2
>> #2 0x000055a46ebbb1a6 in runstate_set (new_state=RUN_STATE_POSTMIGRATE)
>> at vl.c:742
>> 742 abort();
>> (gdb) print current_run_state
>> $1 = RUN_STATE_RUNNING
>>
>>
>> Neither of migration or runstates are my strong suite, so I thought I'd
>> report it before diving into it.
>
> So, the problem seems to be that qemu is going from running state to
> postmigrate state. IIRC, this is is an invalid state transition. The
> valid states to transition to depends if this guest is the source or
> target for migration.
>
> When this happened in the past it meant some QEMU code skipped a
> transition, but I can't tell what this has to do with iotests.
Well, this iotest (which tests a migration configuration) sometimes
apparently results in this invalid transition. But that can't be just
the test's fault, as qemu should handle that gracefully.
It's probably an issue in the migration code and not so much in vl.c, yes...
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2019-01-23 16:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-23 15:48 [Qemu-devel] Aborts in iotest 169 Max Reitz
2019-01-23 16:04 ` Luiz Capitulino
2019-01-23 16:12 ` Max Reitz [this message]
2019-01-23 16:24 ` Luiz Capitulino
2019-01-23 16:35 ` Dr. David Alan Gilbert
2019-01-23 17:16 ` Max Reitz
2019-01-23 18:08 ` Dr. David Alan Gilbert
2019-01-24 8:08 ` Vladimir Sementsov-Ogievskiy
2019-01-24 9:29 ` Vladimir Sementsov-Ogievskiy
2019-01-24 9:49 ` Vladimir Sementsov-Ogievskiy
2019-01-24 10:10 ` Dr. David Alan Gilbert
2019-01-24 10:23 ` Vladimir Sementsov-Ogievskiy
2019-01-24 10:52 ` Dr. David Alan Gilbert
2019-01-24 10:15 ` [Qemu-devel] [Qemu-block] " Kevin Wolf
2019-01-24 10:32 ` Vladimir Sementsov-Ogievskiy
2019-01-24 10:45 ` Kevin Wolf
2019-01-24 10:49 ` Dr. David Alan Gilbert
2019-01-24 11:58 ` Kevin Wolf
2019-01-24 20:15 ` Dr. David Alan Gilbert
2019-01-24 11:53 ` Vladimir Sementsov-Ogievskiy
2019-01-24 17:58 ` Eric Blake
2019-04-08 14:57 ` [Qemu-devel] " Vladimir Sementsov-Ogievskiy
2019-04-08 14:57 ` Vladimir Sementsov-Ogievskiy
2019-04-08 15:08 ` Max Reitz
2019-04-08 15:08 ` Max Reitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b6fd5a23-3afc-0ba2-2e24-b6d7d53c7fc2@redhat.com \
--to=mreitz@redhat.com \
--cc=dgilbert@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).