The latest pulled version with this change works on my Windows Server 2008 R2 system that was crashing with 2-1.4. --- Rob Elliott HP Server Storage > -----Original Message----- > From: fio-owner@xxxxxxxxxxxxxxx [mailto:fio-owner@xxxxxxxxxxxxxxx] On > Behalf Of Jens Axboe > Sent: Monday, 10 February, 2014 2:57 PM > To: Sitsofe Wheeler > Cc: Bruce Cran; fio@xxxxxxxxxxxxxxx > Subject: Re: Mutex destruction, invalid memory accesses, leaks > > On Mon, Feb 10 2014, Sitsofe Wheeler wrote: > > On Mon, Feb 10, 2014 at 12:25:32PM -0700, Bruce Cran wrote: > > > On 2/9/2014 12:50 PM, Sitsofe Wheeler wrote: > > > > > > > >Yes it's still happening with -git from a moment ago. What is stopping a > > > >sleeping thread from holding a mutex that is destroyed and then waking > > > >up on it after the memory has been unmapped? > > > > > > In case it *is* a bug in winpthreads-1.dll, are you using version > > > 3.1.0-1? It was released on the 15th January and there appeared to > > > be some mutex-related fixes when I looked at the svn log a few weeks > > > ago. > > > > Yes I am using version 3.1.0-1 on Windows 7 installed about a week > > ago... > > Actually, the previous wont work, and I don't see how to make it work. > Please try the below instead. Or just re-pull, I'll check it in now. > > > diff --git a/backend.c b/backend.c > index 501c59a..a607134 100644 > --- a/backend.c > +++ b/backend.c > @@ -1236,13 +1236,6 @@ static void *thread_main(void *data) > dprint(FD_MUTEX, "done waiting on td->mutex\n"); > > /* > - * the ->mutex mutex is now no longer used, close it to avoid > - * eating a file descriptor > - */ > - fio_mutex_remove(td->mutex); > - td->mutex = NULL; > - > - /* > * A new gid requires privilege, so we need to do this before setting > * the uid. > */ > @@ -1521,6 +1514,9 @@ err: > fio_mutex_remove(td->rusage_sem); > td->rusage_sem = NULL; > > + fio_mutex_remove(td->mutex); > + td->mutex = NULL; > + > td_set_runstate(td, TD_EXITED); > return (void *) (uintptr_t) td->error; > } > > -- > Jens Axboe > > -- > 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 -- 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