qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/2] qtest: don't leak pid files and UNIX domain


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH 0/2] qtest: don't leak pid files and UNIX domain sockets
Date: Fri, 31 Jan 2014 11:56:00 +0100

On Fri, Jan 31, 2014 at 1:07 AM, Peter Maydell <address@hidden> wrote:
> On 21 November 2013 11:03, Stefan Hajnoczi <address@hidden> wrote:
>> GLib uses abort(3) to exit failed test cases.  As a result, the pid file and
>> UNIX domain sockets for a running test are leaked upon failure.
>>
>> Since abort(3) does not call atexit(3) handler functions, we could set up a
>> SIGABRT handler that performs cleanup.  But there are other conditions where
>> processes die, like SIGSEGV or SIGBUS.
>>
>> Let's unlink pid files and UNIX domain sockets as soon as the QEMU process 
>> has
>> initialized and connections have been made.  This eliminates the possibility 
>> of
>> leaking these files.
>
> So looking back through mailing list history suggests that these patches
> are supposed to avoid intermittent make check failures like:
>
> TEST: tests/qom-test... (pid=5078)
>   /i386/qom/none:                                                      **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/libqtest.c:71:init_socket:
> assertion failed (ret != -1): (-1 != -1)
> FAIL
> GTester: last random seed: R02S79ea313790bc9a8b21d9af5ed55c2fff
> (pid=5080)
>   /i386/qom/pc:                                                        OK
>   /i386/qom/isapc:                                                     OK
>   /i386/qom/q35:                                                       OK
> FAIL: tests/qom-test
>
> but this patch series doesn't actually say that's what it's for,
> so does it fix that kind of error?

I might help but I'm not sure.  The assertion failure you posted
happened on Gerd's buildslaves, I haven't reproduced it myself and
don't really understand what's wrong there.

However, I noticed that my /tmp is getting cluttered with pid files
and UNIX domain sockets from qtest.  I also noticed that QEMU
processes are left running (this is not fixed by my series) when tests
fail.

So this series at least stops us from cluttering /tmp.

I haven't reproduced the init_socket() assertion failure so I'm not
sure what the root cause is.

Stefan



reply via email to

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