Optimistic Data SOCKS variant (patch for #3875) leads to loop on HTTP requests if no SOCKS response yet
Some change to tbb-firefox.exe after TBB for windows 2.3.25-6 has introduced a bad loop which throttles the CPU on every request sent through the proxy. This will go unnoticed if you are not using all of your CPU at the time. Running something like prime95 (www.mersenne.org) in the background will make the problem evident, as TBB versions after 2.3.25-6 start to hang the system as you click open links or have other traffic through the proxy while waiting for their connections to be made and complete. Something changed in how requests were handled in later versions which introduced the problem.
In the old versions, when you sent a request for a web page (lets say www.google.com), you could have the tor network map open with the view the network button and watch how it works. The browser status bar will say connecting to www.google.com and it will say that until a circuit is open in the network map (www.google.com appears in the list), at which point the browser status bar will change to say connected to www.google.com. It then sends the request, and the status bar changes to waiting for www.google.com, then the page loads. I can watch this happen in task manager and it uses hardly any CPU.
In the new versions, this behavior is different. When you request a web page, the browser immediately says waiting for www.google.com, even though there is no circuit open in tor, and this is where the bad loop is, as watching tbb-firefox.exe in task manager the CPU usage becomes abnormally high. This will cause the system to hang, becoming temporarily unresponsive until the loops finish, if the rest of the system is under heavy cpu load.