On Fri, Jan 31, 2014 at 1:07 AM, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 21 November 2013 11:03, Stefan Hajnoczi <stefa...@redhat.com> 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