qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] qtest: setitimer() failures on Darwin and illumos


From: Andreas Färber
Subject: Re: [Qemu-devel] qtest: setitimer() failures on Darwin and illumos
Date: Tue, 29 May 2012 14:33:05 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0

Am 28.05.2012 22:15, schrieb Paolo Bonzini:
> Il 28/05/2012 21:40, Andreas Färber ha scritto:
>> I'm seeing qemu-timer.c:unix_rearm_timer()'s setitimer() abort with
>> EINVAL during `make check` on both platforms. The value of
>> nearest_delta_ns appears to be INT64_MAX. Is this expected? Is it
>> possible that this value is too large for it_value on some platforms?
>> Apple's man page mentions that as possible reason for EINVAL but doesn't
>> describe how to obtain such an upper value, nor of course where in the
>> QEMU code base we would need to make adaptions. ;)
>>
>> Any suggestions?
> 
> You shouldn't call the rearm function at all if you get INT64_MAX.  This
> applies to all timers.

I had tried doing if (... == INT64_MAX) return; in unix_rearm_timer()
this morning. That avoided the abort, but the process ran at close to
100% CPU and seemed to hang make check. Don't know if that's related to
timers though.

Not a 1.1 release blocker anyway.

It's unfortunate though that qtest has such bad error handling with lots
of assertions - the previous accept() issue on illumos left zombie child
processes behind and on my machine I've seen intermittent hangs of
tests. I can certainly kill processes on my local machine if I notice,
but for our RPM builds I'm avoiding make check for now...

Andreas



reply via email to

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