Cancel infinite loop execution in jsfiddle

mellamokb picture mellamokb · Sep 30, 2011 · Viewed 30.6k times · Source

When you get an infinite loop in jsfiddle in Chrome, your only choice (that I know of) is to close the tab. Of course, this means you lose all your work in the current window! Is there an easy way to stop an infinitely executing script?

  1. I have the developer tools open because I was doing some debugging.
  2. I am able to pause the script and step through the loop.
  3. I can't find anywhere to stop the script.
  4. I can't modify the script or variables to stop the infinite loop (because the script execution occurs in an iframe on a separate domain, so modifying data in the iframe with JavaScript is not allowed and generates an Exception in the console).

It all started because I decided to swap directions on my loop from

for (var c = 0; c <= 11; c++)

to

for (var c = 12; c > 0; c++)

But as you can see above, I forgot to change it from c++ to c--.

Any ideas?? I still have the tab open and I'm hoping to get it back without closing the tab :-)

Answer

Adam Ritter picture Adam Ritter · Mar 12, 2013

How to do it without Developer Mode:

  • Open a new tab
  • Open the Task Manager with Shift-Escape
  • Kill task
  • Use back button for the killed tab (JSFiddle won't run the script)
  • Fix bug
  • Update

Or on MacOS,

  • Open Activity Monitor
  • Kill the first "Google Chrome Helper (Renderer)" process. It's probably JSFiddle
  • Fix the issue
  • Run the code