On Thu, Jan 09, 2014 at 01:07:56AM +0000, Elliott, Robert (Server Storage) wrote: > I've seen something similar: > - 2.1.4 on a Windows Server 2008 R2 system: crash > > This is this error for 2.1.4 on Windows Server 2008 R2: <snip> > (gdb) f 2 > #2 0x0000000000421599 in fio_mutex_up (mutex=0x2f5b10) at mutex.c:151 > 151 mutex.c: No such file or directory. > (gdb) p mutex > $1 = (struct fio_mutex *) 0x2f5b10 > (gdb) p *mutex > $2 = {lock = 0x1bab1f00d, cond = 0x100000000, value = 0, waiters = 0, magic = 172} This is crazy - the magic value is 172 rather than 1297437765 but the fio_mutex_up() function is protected by an assert that checks to see if the mutex's magic number is wrong. Could you can insert something like the following after line 149: assert(mutex->magic == FIO_MUTEX_MAGIC); to prove that the value has not been stomped on before pthread_cond_signal is run? -- Sitsofe | http://sucs.org/~sits/ -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html