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