Qemu-2.6.0 2017-08-30 14:20 GMT+08:00 Sam <batmanu...@gmail.com>:
> 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 <sam...@daynix.com>: > >> 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 <batmanu...@gmail.com> wrote: >> >>> So how to fix this bug? And where should I to report bug? >>> >>> 2017-08-29 13:52 GMT+08:00 Sam <batmanu...@gmail.com>: >>> >>> > 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 <batmanu...@gmail.com>: >>> > >>> >> 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 <batmanu...@gmail.com>: >>> >> >>> >>> 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>.* >> > >