From: Bart V. A. <bar...@gm...> - 2009-06-25 14:22:24
|
On Thu, Jun 25, 2009 at 4:13 PM, Matthew Hambley <mat...@ma...> wrote: > Bart Van Assche wrote: >> On Thu, Jun 25, 2009 at 1:51 PM, Matthew Hambley >> <mat...@ma...> wrote: >>> >>> I'm getting a lot of occurrences of errors like "Lock on mutex >>> 0x7ff000018 was held during -1 ms (threshold: 1000 ms)." I have not >>> found anything in the >>> documentation which explains what a negative time means in this context. >>> Does it mean that the delay is so large that it has overflown the timer >>> value? If so, why do I only ever see -1 or, rarely, -2? Does it mean >>> that the lock actually happened after the unlock? Unlikely. >> >> That error message means that the value returned by a later call of >> the system call clock_gettime(CLOCK_MONOTONIC) returned a smaller >> value than a previous call. This condition is also known as "clock >> went backwards". This means that you hit either a kernel bug or a >> hardware problem. Which kernel version did this issue occur with, and >> on which hardware ? Until now I have seen the above error message only >> a few times when running DRD inside a virtual machine. I have not yet >> found a way to reproduce this issue systematically though. > > I'm afraid I'm not going to be able to help you isolate this. I am using the Linux kernel, v2.6.26 on AMD64 with a Debian userland. However that is running on top of VirtualBox 2.1.4 OSE, so it's another virtual machine case. > > You've solved my problem, running it on the bare metal makes all those errors go away, sorry I couldn't help with yours. Thanks for confirming that this happened inside a virtual machine. By the way, some time ago I have committed a change in the Valgrind trunk to suppress the "lock was held during -1 ms" message (r9521). The latest Valgrind SVN revision should run fine even inside a virtual machine. Bart. |