@Beatrix W @Greg: did you fix the mutex in general or only the Feedback problem?
My instinct says it has something to do with the way it was coded though, as Feedback is designed not only to prevent multiple versions from launching, but to also transfer any new command-line options to the running instance.
Essentially, in the Open event we were doing this:
if not mtx.TryEnter then
And then the Close event looked like this:
if mtx <> Nil then
Catch ex as IllegalLockingException
It seems that the problem is arising from the call to Mutex.Leave when TryEnter returned False. I simply added
mtx = Nil just after the TryEnter call, thus causing the Leave block to not be called in that instance. Then after the TryCatch we also attempt to delete the Mutex file.
I have a bug report in progress and it'll be reported today, along with the workaround.