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>.* >