From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NjnLk-0005NM-J2 for qemu-devel@nongnu.org; Tue, 23 Feb 2010 00:30:24 -0500 Received: from [199.232.76.173] (port=59834 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NjnLk-0005N2-0e for qemu-devel@nongnu.org; Tue, 23 Feb 2010 00:30:24 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NjnLg-000079-Hw for qemu-devel@nongnu.org; Tue, 23 Feb 2010 00:30:23 -0500 Received: from mail-ww0-f45.google.com ([74.125.82.45]:52302) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NjnLg-000073-0x for qemu-devel@nongnu.org; Tue, 23 Feb 2010 00:30:20 -0500 Received: by wwb28 with SMTP id 28so116985wwb.4 for ; Mon, 22 Feb 2010 21:30:19 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20100222175120.615b1908@redhat.com> References: <9ae48b021002191021r7e7afb4bxd1d47624e07db1e9@mail.gmail.com> <20100222175120.615b1908@redhat.com> Date: Mon, 22 Feb 2010 21:30:18 -0800 Message-ID: <9ae48b021002222130i2cbb84d5yfebd82f6129e084a@mail.gmail.com> Subject: Re: [Qemu-devel] getfd monitor command broken From: Ed Swierk Content-Type: multipart/mixed; boundary=0016e6db2d6d68022d04803dd81a List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: qemu-devel@nongnu.org --0016e6db2d6d68022d04803dd81a Content-Type: text/plain; charset=ISO-8859-1 On Mon, Feb 22, 2010 at 12:51 PM, Luiz Capitulino wrote: > How do you reproduce it? Here's a test program that reproduces the problem. Start qemu with -chardev socket,id=monitor,path=/tmp/qemu-monitor,server,nowait -mon chardev=monitor,mode=readline and run check_getfd /tmp/qemu-monitor. It will print an error and return nonzero if the monitor output indicates getfd or closefd failed. --Ed --0016e6db2d6d68022d04803dd81a Content-Type: text/x-csrc; charset=US-ASCII; name="check_getfd.c" Content-Disposition: attachment; filename="check_getfd.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g60993w50 LyoKICogY2hlY2tfZ2V0ZmQKICoKICogVGVzdHMgdGhlIHFlbXUgZ2V0ZmQgbW9uaXRvciBjb21t YW5kCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMCBBcmlzdGEgTmV0d29ya3MsIEluYy4KICogCiAq IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy c29uIG9idGFpbmluZyBhIGNvcHkKICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBk b2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKICogaW4gdGhlIFNv ZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24g dGhlIHJpZ2h0cwogKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3Ry aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwogKiBmdXJuaXNo ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgogKgogKiBU aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs bCBiZSBpbmNsdWRlZCBpbgogKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m IHRoZSBTb2Z0d2FyZS4KICoKICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJ VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKICogSU1QTElFRCwgSU5DTFVE SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFks CiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu IElOIE5PIEVWRU5UIFNIQUxMCiAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF IExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiAqIExJQUJJTElUWSwgV0hF VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H IEZST00sCiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4KICogVEhFIFNPRlRXQVJFLgogKi8KCiNpbmNsdWRl IDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1 ZGUgPGZjbnRsLmg+CgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0 Lmg+CiNpbmNsdWRlIDxzeXMvdW4uaD4KCmludCByZWNlaXZlX291dHB1dChpbnQgcywgY2hhciAq bSkgewogICB1bnNpZ25lZCBpbnQgaSA9IDA7CiAgIGNoYXIgYnVmWzEwMjQwXTsKCiAgIGJ1Zlsw XSA9ICdcMCc7CiAgIHdoaWxlICgxKSB7CiAgICAgIGlmIChyZWN2KHMsICZidWZbaV0sIDEsIDAp IDwgMCkgewogICAgICAgICBwZXJyb3IoIkZhaWxlZCB0byByZWNlaXZlIik7CiAgICAgICAgIHJl dHVybiAtMTsKICAgICAgfQogICAgICBidWZbKytpXSA9ICdcMCc7CiAgICAgIGlmICgoaSA+IDcp ICYmICFzdHJjbXAoJmJ1ZltpLTddLCAiKHFlbXUpICIpKQogICAgICAgICBicmVhazsKICAgfQoK ICAgaWYgKG0gJiYKICAgICAgICgoaSA8IHN0cmxlbihtKSArIDcpIHx8IHN0cm5jbXAoJmJ1Zltp LTctc3RybGVuKG0pXSwgbSwgc3RybGVuKG0pKSkpIHsKICAgICAgZnByaW50ZihzdGRlcnIsICIl c1xuIiwgYnVmKTsKICAgICAgcmV0dXJuIC0xOwogICB9CgogICByZXR1cm4gMDsKfQoKaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewogICBzdHJ1Y3Qgc29ja2FkZHJfdW4gYWRkcjsK ICAgaW50IHM7CiAgIGludCBmZDsKICAgY2hhciBmZGJ1ZltDTVNHX1NQQUNFKHNpemVvZihmZCkp XTsKICAgc3RydWN0IG1zZ2hkciBtc2c7CiAgIHN0cnVjdCBjbXNnaGRyICpjbXNnOwogICBzdHJ1 Y3QgaW92ZWMgbXZlYzsKICAgY2hhciAqY21kID0gImdldGZkIE1ZRkRcbmNsb3NlZmQgTVlGRFxu IjsKCiAgIGlmIChhcmdjICE9IDIpIHsKICAgICAgcHJpbnRmKCJVc2FnZTogJXMgUUVNVV9NT05J VE9SXG5cbiIsIGFyZ3ZbMF0pOwogICAgICBwcmludGYoIiAgKHN0YXJ0IHFlbXUgd2l0aCAtY2hh cmRldiBzb2NrZXQsaWQ9bW9uaXRvcixwYXRoPVFFTVVfTU9OSVRPUiIKICAgICAgICAgICAgICIs c2VydmVyLG5vd2FpdCAtbW9uIGNoYXJkZXY9bW9uaXRvcixtb2RlPXJlYWRsaW5lKVxuIik7CiAg ICAgIHJldHVybiAxOwogICB9CgogICBmZCA9IG9wZW4oIi9kZXYvbnVsbCIsIE9fUkRXUik7CiAg IGlmIChmZCA8IDApIHsKICAgICAgcGVycm9yKCJGYWlsZWQgdG8gb3BlbiAvZGV2L251bGwiKTsK ICAgICAgcmV0dXJuIDE7CiAgIH0KCiAgIG1lbXNldCgmYWRkciwgMCwgc2l6ZW9mKGFkZHIpKTsK ICAgYWRkci5zdW5fZmFtaWx5ID0gQUZfVU5JWDsKICAgc3RybmNweShhZGRyLnN1bl9wYXRoLCBh cmd2WzFdLCBzaXplb2YoYWRkci5zdW5fcGF0aCkpOwoKICAgcyA9IHNvY2tldChQRl9VTklYLCBT T0NLX1NUUkVBTSwgMCk7CiAgIGlmIChzIDwgMCkgewogICAgICBwZXJyb3IoIk5vIHNvY2tldCIp OwogICAgICByZXR1cm4gMTsKICAgfQoKICAgaWYgKGNvbm5lY3QocywgKHN0cnVjdCBzb2NrYWRk ciAqKSAmYWRkciwgc2l6ZW9mKGFkZHIpKSA8IDApIHsKICAgICAgcGVycm9yKCJGYWlsZWQgdG8g Y29ubmVjdCIpOwogICAgICByZXR1cm4gMTsKICAgfQoKICAgaWYgKHJlY2VpdmVfb3V0cHV0KHMs IE5VTEwpIDwgMCkKICAgICAgcmV0dXJuIDE7CgogICBtdmVjLmlvdl9iYXNlID0gY21kOwogICBt dmVjLmlvdl9sZW4gPSBzdHJsZW4oY21kKSArIDE7CiAgIG1zZy5tc2dfbmFtZSA9IE5VTEw7CiAg IG1zZy5tc2dfbmFtZWxlbiA9IDA7CiAgIG1zZy5tc2dfaW92ID0gJm12ZWM7CiAgIG1zZy5tc2df aW92bGVuID0gMTsKICAgbXNnLm1zZ19jb250cm9sID0gZmRidWY7CiAgIG1zZy5tc2dfY29udHJv bGxlbiA9IENNU0dfTEVOKHNpemVvZihmZCkpOwogICBtc2cubXNnX2ZsYWdzID0gMDsKCiAgIGNt c2cgPSBDTVNHX0ZJUlNUSERSKCZtc2cpOwogICBjbXNnLT5jbXNnX2xldmVsID0gU09MX1NPQ0tF VDsKICAgY21zZy0+Y21zZ190eXBlID0gU0NNX1JJR0hUUzsKICAgY21zZy0+Y21zZ19sZW4gPSBt c2cubXNnX2NvbnRyb2xsZW47CiAgIG1lbWNweShDTVNHX0RBVEEoY21zZyksICZmZCwgc2l6ZW9m KGZkKSk7CiAgIAogICBpZiAoc2VuZG1zZyhzLCAmbXNnLCAwKSA8IDApIHsKICAgICAgcGVycm9y KCJGYWlsZWQgdG8gc2VuZCIpOwogICAgICByZXR1cm4gMTsKICAgfQoKICAgaWYgKHJlY2VpdmVf b3V0cHV0KHMsICJcMDMzW0tcclxuIikgPCAwKQogICAgICByZXR1cm4gMTsKICAgaWYgKHJlY2Vp dmVfb3V0cHV0KHMsICJcMDMzW0tcclxuIikgPCAwKQogICAgICByZXR1cm4gMTsKCiAgIHJldHVy biAwOwp9Cg== --0016e6db2d6d68022d04803dd81a--