MathJax.Hub.setRenderer() can cause infinite loop
If the renderer doesn't load, the setRenderer()
will ask to load it again, and that can lead to an infinite loop. See lines 2045-2048 of MathJax.js for the troublesome lines.
One solution might be to check the MathJax.Ajax
file list to see if the file has already failed before trying to load it again. Another would be to set up a default minimal output jax that will be overwritten when the actual one loads. This would prevent the loop if it didn't load, but you would need to have enough of the API implemented to allow MathJax to run (but perhaps introduce [Math Processing Error]
messages as the output).
See the original post for more information.