qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Emilio G. Cota" <cota@braap.org>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
	riku.voipio@iki.fi, Laurent Vivier <laurent@vivier.eu>,
	Nikolay Igotti <igotti@gmail.com>
Subject: Re: [PATCH 3/3] plugins: avoid failing plugin when CPU is inited several times
Date: Tue, 12 May 2020 21:11:46 +0100	[thread overview]
Message-ID: <87zhacewvx.fsf@linaro.org> (raw)
In-Reply-To: <20200512005521.GA198983@sff>


Emilio G. Cota <cota@braap.org> writes:

> On Mon, May 11, 2020 at 18:53:19 +0300, Nikolay Igotti wrote:
>> Attached to the mail counter.c when running with attached test.c compiled
>> to Linux standalone binary shows failing assert, unless the patch is
>> applied.
>
> I didn't get the attachment. Can you paste the code at the end of your
> reply?

So the problem is we are recycling cpu_index:

  21:01:54 [alex@zen:~/l/q/b/all.plugin] plugins/next|●2✚3…(+8 insertions(+)) 127 + ./x86_64-linux-user/qemu-x86_64 ./tests/tcg/x86_64-linux-user/threadcount
  cpu_list_add: 0x5605598579f0
  cpu_get_free_index: 0
  cpu_list_add: 0x5605598c6010
  cpu_get_free_index: 1
  cpu_list_add: 0x5605598ec330
  cpu_get_free_index: 2
  cpu_list_add: 0x560559912a30
  cpu_get_free_index: 3
  cpu_list_add: 0x560559939130
  cpu_get_free_index: 4
  cpu_list_add: 0x56055995d360
  cpu_get_free_index: 1
  **
  ERROR:/home/alex/lsrc/qemu.git/plugins/core.c:205:qemu_plugin_vcpu_init_hook: assertion failed: (success)
  qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x7fa29c702613

However I'm confused as to how. The cpu_index is really just a function
of the number of CPUs in the cpus list and I can't see where we free
them up. We never call cpu_common_unrealizefn so the list should never
shrink. We should just end up with a slowly growing list of now dead CPU
states.

I'm giving up for now but will have a look again in the morning if no
one else has figured out what is going on by then.

>
> Thanks,
> 		Emilio


-- 
Alex Bennée


  parent reply	other threads:[~2020-05-12 20:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-20  9:15 [PATCH 3/3] plugins: avoid failing plugin when CPU is inited several times Nikolay Igotti
2020-04-20  9:51 ` Laurent Vivier
2020-04-20 10:04   ` Nikolay Igotti
2020-05-09 23:00     ` Emilio G. Cota
2020-05-11 15:53       ` Nikolay Igotti
2020-05-12  0:55         ` Emilio G. Cota
2020-05-12  8:38           ` Nikolay Igotti
2020-05-12 19:35             ` Alex Bennée
2020-05-12 20:11           ` Alex Bennée [this message]
2020-05-24 14:11             ` Emilio G. Cota
2020-04-20 10:11 ` Peter Maydell
2020-04-20 10:18   ` Nikolay Igotti
2020-04-20 10:30     ` Peter Maydell
2020-04-20 15:07   ` Alex Bennée
2020-04-20 16:14     ` Nikolay Igotti

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=87zhacewvx.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=cota@braap.org \
    --cc=igotti@gmail.com \
    --cc=laurent@vivier.eu \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /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).