This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-03-13
Channels
- # arachne (2)
- # architecture (23)
- # bangalore-clj (5)
- # beginners (35)
- # boot (79)
- # cider (6)
- # cljs-dev (34)
- # cljsrn (9)
- # clojure (164)
- # clojure-argentina (2)
- # clojure-austin (4)
- # clojure-italy (7)
- # clojure-russia (40)
- # clojure-serbia (1)
- # clojure-spec (76)
- # clojure-uk (36)
- # clojurescript (47)
- # cursive (14)
- # datascript (2)
- # datomic (8)
- # dirac (19)
- # emacs (29)
- # heroku (7)
- # hoplon (35)
- # jobs-rus (1)
- # juxt (2)
- # leiningen (1)
- # lumo (23)
- # mount (4)
- # off-topic (22)
- # om (16)
- # onyx (19)
- # parinfer (10)
- # pedestal (47)
- # proton (5)
- # re-frame (88)
- # rum (1)
- # spacemacs (33)
- # sql (29)
- # uncomplicate (1)
- # unrepl (131)
- # untangled (5)
- # yada (12)
The attempt to put two particular keys into the same hash-map will stackoverflow: http://dev.clojure.org/jira/browse/CLJS-1976
the async
fix will be in the next version of Google Closure Compiler
@favila The two keys hash to the same value.
I'd guess that the Hash collision node has faulty logic for a transient assoc
If I try (hash-map (hash bad-key)-1 nil (hash bad-key-2) nil)
it works correctly
@spinningtopsofdoom normal assoc fails too
-2840011862 === 1454955434
when you're using 32 bit ints
@favila You are correct It doesn't detect a hash collision because it's comparing by value
create node compares hashes by ==
@spinningtopsofdoom I am preparing a proper patch
It's not greater than 32 bit. It's a negative value that falls within a the range of a singed 32 bit int
Now that I know the cause, here is a much simpler reproducer: (hash-map #inst "2017-03-13T22:21:08.666-00:00" nil #inst "2015-11-02T19:53:15.706-00:00" nil)
Also made this as a followup: http://dev.clojure.org/jira/browse/CLJS-1977