Nested 'for' loops (3+ deep) in Android Chrome cause "Uncaught RangeError: Maximum call stack size exceeded"
Fixed
Description fields
Description
(do (println "for loop test: 2 deep")
(for [a [[1]]]
(for [b a]
b)))
;; this compiles and runs fine in the browser
(do (println "for loop test: 3 deep")
(doall
(for [a [[[1]]]]
(for [b a]
(for [c b]
c)))))
;; this fails while the page loads, with the error: Uncaught RangeError: Maximum call stack size exceeded
The above works fine in a desktop browser. For some reason the error condition only happens on the Android Chrome browser.
Let me know if any further details are required.
Environment
Android 4.3, Chrome 34, ClojureScript 2202
Activity
David Nolen
February 25, 2022 at 4:07 PM
Never heard anything reported about this in years.
Mike Fikes
November 21, 2017 at 1:13 AM
Hey John, we've committed a lot of optimizations over the past year or so. I wonder if this is still reproducible.
(do (println "for loop test: 2 deep") (for [a [[1]]] (for [b a] b))) ;; this compiles and runs fine in the browser (do (println "for loop test: 3 deep") (doall (for [a [[[1]]]] (for [b a] (for [c b] c))))) ;; this fails while the page loads, with the error: Uncaught RangeError: Maximum call stack size exceeded
The above works fine in a desktop browser. For some reason the error condition only happens on the Android Chrome browser.
Let me know if any further details are required.