qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [QGA] Bug of qga?


From: Sam
Subject: Re: [Qemu-devel] [QGA] Bug of qga?
Date: Wed, 30 Aug 2017 14:20:58 +0800

Hi all,

I could repeat it, host os and guest os is Centos-7, qemu-ga is alive in
guest. the step to repeat it is:

1. run python script just like the first email.
2. send qmp command1(cmd in the python script, like `route -n` command or
something, of course it's qmp format), and interrupt it immediately(use
`ctrl+c`).
3. then use that script to send command2(do not send command1) again, then
you could get the result of command1.


2017-08-29 17:04 GMT+08:00 Sameeh Jubran <address@hidden>:

> Hi Sam,
>
> Thanks for reporting this, in order to debug this efficiently I need you
> to provide me with more info, if you can provide it that would be great.
> Can you reproduce the issue with ncat? You can use ncat to connect to the
> socket by running the following command:
>
> nc -U /tmp/qga.sock
>
> Which OS are you running? Which qemu-ga version are you running? can you
> reproduce with upstream qemu-ga?
>
> On Tue, Aug 29, 2017 at 9:19 AM, Sam <address@hidden> wrote:
>
>> So how to fix this bug? And where should I to report bug?
>>
>> 2017-08-29 13:52 GMT+08:00 Sam <address@hidden>:
>>
>> > I could repeat this several times, I think it's mis-order of qmp in qga
>> > socket.
>> >
>> > 2017-08-25 11:09 GMT+08:00 Sam <address@hidden>:
>> >
>> >> Also I found:
>> >>
>> >> when I use `socat` to take a qga socket, then I use `socat` to
>> >> communicate it will got error.
>> >> But also SOMETIMES, I will not got error and will communicate OK.
>> >>
>> >> If one user take qga socket, another user should got error, is it? But
>> >> why sometimes, the communicate is OK?
>> >>
>> >> 2017-08-25 10:11 GMT+08:00 Sam <address@hidden>:
>> >>
>> >>> Hi all,
>> >>>
>> >>> I'm using qga to send `route -n` and `ping` command to guest. But I
>> >>> found SOMETIMES, the second `ping` command's result is the same as
>> `route
>> >>> -n` command.
>> >>>
>> >>> So I guess is there some cache mechanism of qga command result? So
>> when
>> >>> I send the second command, and receive from qga socket, I receive the
>> >>> result of first command.
>> >>>
>> >>> Or is this bug happened because of I use async mechanism of python
>> code
>> >>> to operate qga socket?
>> >>>
>> >>> This is the python code I use to operate on this qga socket:
>> >>>
>> >>> try:
>> >>>>         sock=socket(AF_UNIX, SOCK_STREAM)
>> >>>>         sock.settimeout(20)
>> >>>>         sock.connect(vm_qga_sockpath)
>> >>>>         sock.send(cmd)
>> >>>>         while True:
>> >>>>             res = sock.recv(1024)
>> >>>>             if len(res):
>> >>>>                 break
>> >>>>     except Exception as e:
>> >>>>         res = -1
>> >>>>     finally:
>> >>>>         sock.settimeout(None)
>> >>>>         sock.close()
>> >>>
>> >>>
>> >>
>> >
>>
>
>
>
> --
> Respectfully,
> *Sameeh Jubran*
> *Linkedin <https://il.linkedin.com/pub/sameeh-jubran/87/747/a8a>*
> *Software Engineer @ Daynix <http://www.daynix.com>.*
>


reply via email to

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