qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] OSX build issues


From: François Revol
Subject: Re: [Qemu-devel] OSX build issues
Date: Thu, 17 Mar 2011 11:28:46 +0100

Hi,

Le 16 mars 2011 à 08:57, Tristan Gingold a écrit :

>> It should fix the build issue.
>> But QEMU is unreliable on OSX even when it gets built.
>> I tried to bisect but lost some time trying to find a revision that actually 
>> builds. I thought I updated more this month...
>> 
>> 55f8d6ac3e03d2859393c281737f60c65dfc9ab3 definitely works ok.
> 
> J'utilise ce hack pour eviter ce probleme.

Indeed this hack works (quite a hack for someone working on ada :p)...

> diff --git a/cpus.c b/cpus.c
> index 5d14468..e976452 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -548,6 +548,7 @@ static void qemu_tcg_init_cpu_signals(void)
> #ifndef CONFIG_IOTHREAD
> int qemu_init_main_loop(void)
> {
> +#if 0
>     int ret;
> 
>     ret = qemu_signal_init();
> @@ -558,6 +559,7 @@ int qemu_init_main_loop(void)
>     qemu_init_sigbus();
> 
>     return qemu_event_init();
> +#endif
> }
> 
> void qemu_main_loop_start(void)

(Added a return 0 for the sake of it).

From the content of the functions called it's either one of the added fds which 
cause problem on select() (but why ?), or likely some signal masks which 
interfere with some internal thread in the process.

I sampled the process and took some screenshots without and with the #if 0 hack:
http://revolf.free.fr/osx/shots/shot_qemu_init_main_loop_if0.png
Things work but oddly what is supposed to be an internal dispatcher thread ends 
up executing qemu code. The main thread includes lots of calls from arbitrary 
addresses indicating it receives some signals.

http://revolf.free.fr/osx/shots/shot_qemu_init_main_loop_if1.png
Things stale, and there are 2 more threads that wait, and the main thread seems 
quite stuck in select().

François.




reply via email to

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