This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-01-03
Channels
- # adventofcode (1)
- # beginners (76)
- # boot (88)
- # cider (63)
- # clojure (357)
- # clojure-austin (2)
- # clojure-berlin (8)
- # clojure-brasil (8)
- # clojure-nl (1)
- # clojure-russia (22)
- # clojure-spec (17)
- # clojure-uk (47)
- # clojurescript (67)
- # cursive (45)
- # datascript (3)
- # datomic (45)
- # dirac (7)
- # emacs (3)
- # funcool (2)
- # hoplon (26)
- # jobs (2)
- # jobs-discuss (11)
- # luminus (6)
- # off-topic (243)
- # om (40)
- # om-next (7)
- # onyx (23)
- # overtone (1)
- # portland-or (2)
- # protorepl (11)
- # re-frame (55)
- # reagent (58)
- # rum (12)
- # sql (4)
- # test-check (12)
- # untangled (25)
@cfleming decided to try out that exception debugging fancyness, and got some unexpected behaviour. function locals seem to be null?
come on slack you can't inline a dropbox screenshot? https://www.dropbox.com/s/ixot5psra2uyjzs/Screenshot%202017-01-03%2012.35.16.png
@bfabry It’s probably locals clearing doing that, which can be tricky. Are you AOTing your code?
it's running in debug mode with the little thingy at the top saying "locals will not be cleared"
So the tricky thing is that that option takes effect when Clojure is compiling code, not when the code is executed.
If you reload the namespace which has the problem and then try again, does that help?
interesting. it was a fresh repl and loaded namespace, it's the first time I've started the repl in debug mode
I’ve seen this myself sometimes, but I haven’t investigated because I AOT code and I thought that was the issue. I’ll have to check that again.
I'm guessing it's getting required in by my custom user.clj, which is compiled prior to that option being set
god dammit, the whole clojure core loading user.clj early has screwed me over like 3 times in the last few months
ARGH and now I'm mad at ME because I found the commit where I last encountered this and it just says "work around clojure bug" without a link to the friggen bug!
I hate that - I just spent a bunch of time tracking down a bug which I had solved previously, but the commit message didn’t help at all.
HA there it is, TADA https://github.com/technomancy/leiningen/issues/1787
last time my issue was that it's loaded prior to javac running, meaning if your project includes java code it blows up with class not found exception
aight, well, I don't know why I bothered tracking that down because it seems basically unsolvable. no doubt changing the load time of user.clj would break so many things. I just need to remember not to require things in there
kind of frustrating. it's useful to require things in there. seems like that namespace/file is serving double purposes
Assuming user.clj is only used for dev, you could actually set the compile flag in there.
You’ll get occasional OOMs if you hold onto seqs, but during dev that’s not an issue.