On 27/11/18 19:44, Eric Blake wrote:
> On 11/27/18 12:35 PM, Paolo Bonzini wrote:
>> Subprocesses are created by glib without leaving the file descriptors
>> open.  Therefore, g_test_message (and assertion failures, but those
>> trigger when things are going bad anyway) will think that it is writing
>> to the log file descriptor, but while actually stomping on the QMP
>> file descriptor or similar.  This causes spurious failures, which are
>> as nice to debug as the reader can imagine.  While I have opened a
>> pull request on GLib, this will probably take a while to propagate
>> to distros.
>>
>> I found this while working on qgraph, but the fix is generic.
>>
>> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
>> ---
>>   include/glib-compat.h | 6 ++++++
>>   1 file changed, 6 insertions(+)
> 
> Wow. I don't envy the debug session that you went through to finally
> realize this problem.

It only took me 4 hours actually, but not really the fun kind of
debugging. :(  Lots of cursing when I found the culprit...

> Reviewed-by: Eric Blake <ebl...@redhat.com>
> 
> I think this is safe for 3.1-rc3 if you want it there, as minimizing
> spurious test failures is a good thing.

I suspect it is the cause of QTEST_VHOST_USER_FIXME but I am not sure it
is.  In any case, I was not planning to merge it in 3.1-rc3 since we do
not have any case where it breaks CI or maintainers' tests.

Paolo


Reply via email to