This commit [1] for CLJ-1589 changed dispatch for InternalReduce, causing a 
bug similar to CLJ-1237 [2].

[1] 
https://github.com/clojure/clojure/commit/1242c4878f3d4ef30535a22f6c74144637504fbe
[2] http://dev.clojure.org/jira/browse/CLJ-1237

On Friday, May 22, 2015 at 5:01:25 PM UTC-4, Jason Wolfe wrote:
>
> Just deployed to our staging environment and ran into an unexpected stack 
> overflow error.  Here's a reduced test case:
>  
> user> (->> (range 10000) (mapcat (fn [_] (java.util.ArrayList. (range 
> 10)))) (reduce (constantly nil)))
>
> java.lang.StackOverflowError: 
>            RT.java:509 clojure.lang.RT.seq
>           core.clj:135 clojure.core/seq
>           core.clj:698 clojure.core/concat[fn]
>        LazySeq.java:40 clojure.lang.LazySeq.sval
>        LazySeq.java:49 clojure.lang.LazySeq.seq
>    ChunkedCons.java:59 clojure.lang.ChunkedCons.chunkedNext
>           core.clj:671 clojure.core/chunk-next
>      protocols.clj:119 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:152 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:122 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:152 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:122 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:152 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:122 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:152 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
>       protocols.clj:31 clojure.core.protocols/seq-reduce
>       protocols.clj:75 clojure.core.protocols/fn
>       protocols.clj:13 clojure.core.protocols/fn[fn]
>      protocols.clj:122 clojure.core.protocols/fn
>       protocols.clj:19 clojure.core.protocols/fn[fn]
> ....
>
> On Thursday, May 21, 2015 at 9:31:08 AM UTC-7, Alex Miller wrote:
>>
>> Clojure 1.7.0-RC1 is now available.
>>
>> Try it via
>> - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
>> - Leiningen: [org.clojure/clojure "1.7.0-RC1"]
>>
>> The only change since 1.7.0-beta3 is CLJ-1706, which makes reader 
>> conditional splicing an error at the top level (previously it would 
>> silently drop all but the first spliced element).
>>
>> For a full list of changes since 1.6.0, see:
>> https://github.com/clojure/clojure/blob/master/changes.md
>>
>> Please give it a try and let us know if things are working (or not). The 
>> more and quicker feedback we get, the sooner we can release 1.7.0 final!
>>
>> - Alex
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to