qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] coroutine: hung when using gthread backend


From: Wenchao Xia
Subject: Re: [Qemu-devel] coroutine: hung when using gthread backend
Date: Wed, 27 Mar 2013 10:10:27 +0800
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130307 Thunderbird/17.0.4

于 2013-3-27 0:21, Stefan Hajnoczi 写道:
On Tue, Mar 26, 2013 at 11:03:53AM +0100, Paolo Bonzini wrote:
Il 26/03/2013 10:54, Stefan Hajnoczi ha scritto:
On Tue, Mar 26, 2013 at 08:03:50AM +0100, Paolo Bonzini wrote:
Il 26/03/2013 03:50, Wenchao Xia ha scritto:
   When I using tcg with coroutine backend = gthread,
x86_64-softmmu/qemu-system-x86_64 will hung. Any one
working on it?

coroutine backend gthread hardly works for qemu, only qemu-io and qemu-img.

Do you know why it doesn't work?

Because it screws up the signals.  Coroutines can start in a thread and
later move to another.  If you use the gthread backend, coroutines keep
the signal mask of the thread where they were created.

It is basically the same bug that was fixed in commit 6ab7e54 (Replace
all setjmp()/longjmp() with sigsetjmp()/siglongjmp(), 2013-02-20).

That's interesting.  Maybe it can be fixed if the gthread backend is
actually needed.

Stefan

  If not hard I hope gthread backend works, since it works with gdb
and valgrind. I guess with default backend, gdb and valgrind need
some tricks to make they work.

--
Best Regards

Wenchao Xia




reply via email to

[Prev in Thread] Current Thread [Next in Thread]