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