ClojureScript

Nested 'for' loops (3+ deep) in Android Chrome cause "Uncaught RangeError: Maximum call stack size exceeded"

Details

  • Type: Defect Defect
  • Status: Open Open
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Environment:
    Android 4.3, Chrome 34, ClojureScript 2202

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.

Activity

Hide
Mike Fikes added a comment -

Hey John, we've committed a lot of optimizations over the past year or so. I wonder if this is still reproducible.

Show
Mike Fikes added a comment - Hey John, we've committed a lot of optimizations over the past year or so. I wonder if this is still reproducible.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated: