I have been using Juce on a project for over a year and I updated and it just starting EXC_BAD_ACCESS when I call stopThread(). Before I call stop thread() I am setting a variable which should exit the loop anyway (and this is working - I have always also called stopThread(1000) after just to make sure). The issue is in Thread::closeThreadHandle() threadId. threadId at this point points to 0x0. Although, sometimes the error is in Thread::threadEntryPoint()
The issue seems to be that it is stopping from natural causes and by me calling stopTread(1000) (both of which are cleaning up at the same time). I have never had an issue with this before and I did not see any changes in the Juce code tree that were made that could affect this.
If I do not call stopThread(withsomewait), it is not always finished in time and I get an assertion error (bad karma) occsasionally.