qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] vl: take iothread lock very early


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] vl: take iothread lock very early
Date: Wed, 04 Mar 2015 17:40:11 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

On 03/03/2015 10:32 AM, Paolo Bonzini wrote:
> 
> 
> On 03/03/2015 18:19, Oliver Francke wrote:
>>
>> #0  __GI_exit (status=1) at exit.c:104
>> #1  0x000055555575cf15 in os_daemonize () at os-posix.c:227
>> #2  0x0000555555773f2e in main (argc=50, argv=0x7fffffffe0d8,
>> envp=0x7fffffffe270) at vl.c:3770
>>
>> compiled with "--enable-debug" and in gdb "b exit". Not a coder, so if
>> this is _not_ sufficient, please give me some adivce ;)
> 
> Try removing -daemonize (hmm, that might actually fix the bug).

I've confirmed that libvirt required -daemonize, and that (temporarily)
removing -daemonize makes things work again.  So we definitely need this.

Tested-by: Eric Blake <address@hidden>

>  You
> should not need "b exit", because the error is a SIGABRT and gdb stops
> automatically.  The fix could be something like this:
> 
> diff --git a/vl.c b/vl.c
> index e1ffd0a..af61835 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3759,7 +3759,9 @@ int main(int argc, char **argv, char **envp)
> 
>      loc_set_none();
> 
> +    qemu_mutex_unlock_iothread();
>      os_daemonize();
> +    qemu_mutex_lock_iothread();
> 
>      if (qemu_init_main_loop(&main_loop_err)) {
>          error_report_err(main_loop_err);
> 
> Paolo
> 
> 
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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