Il 22/11/2012 17:58, Luiz Capitulino ha scritto:
>>>> It seems like mon->mc->command_mode is set wrong, looking at
>>>> qmp_cmd_mode and its callers.  Luiz may have more ideas.
>>>
>>> Checking. What I've just found is that qmp_capabilites will fail if the
>>> VM is stopped (!?).
>>
>> It's a regression somewhere. I doubt it's qmp, but could be.
>>
>> Here are the symptoms, Doc:
>>
>>  1. Start qemu and stop it right away. Connect to the QMP socket and you
>>     won't get qmp's greeting
>>
>>  2. Start qemu, connect to the QMP socket and run the qmp_capabilities
>>     command. Then stop qemu and disconnect from the qmp socket and connect
>>     again: you'll see you're still in the previous session
>>
>> I do not get this with qemu 1.0.
>>
>> Dietmar got this because the suspend command automatically stops the VM
>> after migration...
>>
>> Bisecting...
> 
> Didn't try to understand what's wrong with it, but bisect brings:
> 
> commit ac4119c023c72b15f54238af43e4a178fcf41494
> Author: Jan Kiszka <jan.kis...@siemens.com>
> Date:   Fri Oct 12 09:52:49 2012 +0200
> 
>     chardev: Use timer instead of bottom-half to postpone open event
>     
>     As the block layer may decide to flush bottom-halfs while the machine is
>     still initializing (e.g. to read geometry data from the disk), our
>     postponed open event may be processed before the last frontend
>     registered with a muxed chardev.
>     
>     Until the semantics of BHs have been clarified, use an expired timer to
>     achieve the same effect (suggested by Paolo Bonzini). This requires to
>     perform the alarm timer initialization earlier as otherwise timer
>     subsystem can be used before being ready.
>     
>     Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>

Ouch, in retrospect it actually makes sense since this patch uses a
vm_clock timer.  Elementary, Watson... :)

I don't think there is a fix, short of reverting this commit.

Paolo


Reply via email to