Fork me on GitHub
#cljs-dev
<
2019-06-14
>
dnolen19:06:59

combing through JIRA

dnolen19:06:05

let me know if there's something I should look at

dnolen20:06:20

@mfikes you've been busy, lots of good small fixes and enhancements 🙂

mfikes20:06:59

Hah, I see a steady stream of emails coming my way from JIRA. Sweet.

dnolen20:06:08

@kommen that ticket is sorely lacking in any meaningful description

dnolen20:06:15

the patch doesn't explain how it fixes the problem

dnolen20:06:47

linking to important details out of ticket unless it's to some other Clojure project is just a big no no

dnolen20:06:51

put everything in the ticket

kommen20:06:43

thanks, will update it

dnolen20:06:05

I'm reading through the linked issue now

dnolen20:06:17

but just pointing out it's probably why didn't even look at it

dnolen20:06:26

it makes assessing it in a reasonable amount of time difficult

kommen20:06:34

I understand

dnolen20:06:48

@kommen wondering whether you considered munging com?

dnolen20:06:58

i.e. com -> com$

kommen20:06:57

as far as I understood this was tried here already: https://clojure.atlassian.net/browse/CLJS-2770

dnolen20:06:22

so we should probably link to that too

kommen20:06:01

it was linked to by @mfikes in a comment. you prefer this is summarised all together in the description?

dnolen20:06:35

oh argh, I didn't see that JIRA Cloud collapses comments

dnolen20:06:37

I think we should default to disabling js.java-package-globals and make a flag to re-enable

dnolen20:06:44

it's "breaking" but you just need a flag, not source related so not a big deal

dnolen20:06:12

but it's really relying on ugly thing - implicit imports

dnolen20:06:36

@mfikes @kommen I'm assuming it's trivial to import what you want?

mfikes20:06:00

The patch in https://clojure.atlassian.net/projects/CLJS/issues/CLJS-3087 defaults to disabling js.java-package-globals

dnolen20:06:06

ok I looked at the wrong patch

dnolen20:06:21

@kommen I left a comment about your last comment in JIRA, let's keep the thread there at this point

mfikes20:06:51

Ugh. Of all the patches I applied, only one had not been previously run through CI. And CI broke on it.

dnolen20:06:08

which one?

mfikes20:06:25

CI timed out. Hopefully the patch was OK and it is just a resource issue.

lread12:06:47

Hey @mfikes, not sure if this is a red herring but as part of my script work, I am running a script that runs all scripts on cljs master and am finding that I am sometimes stalling on ./script/test-cli node.

lread12:06:11

I’ll put it in a loop and see if I can reproduce

lread13:06:46

Ok, on 12th run I have a stall. I uncommented println in cljs-cli.util. Here’s 11th and 12th run output

Testing cljs-cli.test
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs alpha beta gamma
running: java -cp cljs.jar:src cljs.main -re node -m foo.core
running: java -cp cljs.jar:src cljs.main -re node -e ::foo
running: java -cp cljs.jar:src cljs.main -re node -e (require 'cljs.js) -e (cljs.js/eval-str (cljs.js/empty-state) "(+ 1 2)" nil {:eval cljs.js/js-eval :context :expr} prn)
running: java -cp cljs.jar:src cljs.main -re node -t node -o out/main.js -O advanced -c foo.core
running: java -cp cljs.jar:src cljs.main -re node --compile-opts {:output-dir "out", :asset-path "/out", :optimizations :none, :modules {:foo {:entries #{foo.core}, :output-to "out/foo.js"}, :bar {:entries #{bar.core}, :output-to "out/bar.js"}}} --compile foo.core
running: java -cp cljs.jar:src cljs.main -re node --compile-opts {:output-dir "out", :asset-path "/out", :optimizations :advanced, :modules {:foo {:entries #{foo.core}, :output-to "out/foo.js"}, :bar {:entries #{bar.core}, :output-to "out/bar.js"}}} --compile foo.core
running: java -cp cljs.jar:src cljs.main -re node -e (do (js/setTimeout #(prn :end) 500) nil) -e :begin
running: java -cp cljs.jar:src cljs.main -re node -e (require 'fs) -e fs/R_OK
running: java -cp cljs.jar:src cljs.main -re node -e 3 -e  -e 4
running: java -cp cljs.jar:src cljs.main -re node -e js/foo
running: java -cp cljs.jar:src cljs.main -re node -m foo.core
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs
running: java -cp cljs.jar:src cljs.main -re node -co {:npm-deps {:left-pad "1.3.0"} :install-deps true} -d out -e (require 'left-pad) -e (left-pad 3 10 0)
running: java -cp cljs.jar:src cljs.main -re node -m foo.core
running: java -cp cljs.jar:src cljs.main -re node -co {:closure-defines {foo.core/configurable "configured-value"}} -m foo.core
running: java -cp cljs.jar:src cljs.main -re node -o out/main.js -c foo.core
running: java -cp cljs.jar:src cljs.main -re node -i src/foo/core.cljs -e foo.core/x

Ran 17 tests containing 46 assertions.
0 failures, 0 errors.

Testing cljs-cli.test
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs alpha beta gamma
running: java -cp cljs.jar:src cljs.main -re node -m foo.core
running: java -cp cljs.jar:src cljs.main -re node -e ::foo
running: java -cp cljs.jar:src cljs.main -re node -e (require 'cljs.js) -e (cljs.js/eval-str (cljs.js/empty-state) "(+ 1 2)" nil {:eval cljs.js/js-eval :context :expr} prn)
running: java -cp cljs.jar:src cljs.main -re node -t node -o out/main.js -O advanced -c foo.core
running: java -cp cljs.jar:src cljs.main -re node --compile-opts {:output-dir "out", :asset-path "/out", :optimizations :none, :modules {:foo {:entries #{foo.core}, :output-to "out/foo.js"}, :bar {:entries #{bar.core}, :output-to "out/bar.js"}}} --compile foo.core
running: java -cp cljs.jar:src cljs.main -re node --compile-opts {:output-dir "out", :asset-path "/out", :optimizations :advanced, :modules {:foo {:entries #{foo.core}, :output-to "out/foo.js"}, :bar {:entries #{bar.core}, :output-to "out/bar.js"}}} --compile foo.core
running: java -cp cljs.jar:src cljs.main -re node -e (do (js/setTimeout #(prn :end) 500) nil) -e :begin
running: java -cp cljs.jar:src cljs.main -re node -e (require 'fs) -e fs/R_OK
running: java -cp cljs.jar:src cljs.main -re node -e 3 -e  -e 4
running: java -cp cljs.jar:src cljs.main -re node -e js/foo
running: java -cp cljs.jar:src cljs.main -re node -m foo.core
running: java -cp cljs.jar:src cljs.main -re node src/foo/core.cljs

lread13:06:44

And a thread dump from visualvm:

lread13:06:30

System properties from visualvm

awt.toolkit=sun.lwawt.macosx.LWCToolkit
file.encoding=UTF-8
file.encoding.pkg=
file.separator=/
ftp.nonProxyHosts=local|*.local|169.254/16|*.169.254/16
gopherProxySet=false
http.nonProxyHosts=local|*.local|169.254/16|*.169.254/16
java.awt.graphicsenv=sun.awt.CGraphicsEnvironment
java.awt.printerjob=sun.lwawt.macosx.CPrinterJob
java.class.path=cljs.jar:src
java.class.version=52.0
java.endorsed.dirs=/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/endorsed
java.ext.dirs=/Users/lee/Library/Java/Extensions:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
java.home=/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre
java.io.tmpdir=/var/folders/8g/glv37m8n73gf4x0fqy5whqjc0000gn/T/
java.library.path=/Users/lee/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
java.rmi.server.randomIDs=true
java.runtime.name=OpenJDK Runtime Environment
java.runtime.version=1.8.0_202-b08
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.8
java.vendor= Inc.
java.vendor.url=
java.vendor.url.bug=
java.version=1.8.0_202
=mixed mode
java.vm.name=OpenJDK 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.8
java.vm.vendor= Inc.
java.vm.version=25.202-b08
line.separator=\n
os.arch=x86_64
os.name=Mac OS X
os.version=10.14.5
path.separator=:
socksNonProxyHosts=local|*.local|169.254/16|*.169.254/16
sun.arch.data.model=64
sun.boot.class.path=/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/resources.jar:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/rt.jar:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/sunrsasign.jar:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/jsse.jar:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/jce.jar:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/charsets.jar:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib/jfr.jar:/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/classes
sun.boot.library.path=/Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre/lib
sun.cpu.endian=little
sun.cpu.isalist=
sun.io.unicode.encoding=UnicodeBig
sun.java.command=cljs.main -re node src/foo/core.cljs
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=UTF-8
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=unknown
user.country=CA
user.dir=/private/var/folders/8g/glv37m8n73gf4x0fqy5whqjc0000gn/T/cljs-cli-test1958845989785402725
user.home=/Users/lee
user.language=en
user.name=lee
user.timezone=America/Toronto

lread13:06:46

Overview from visualvm

PID: 41998
Host: localhost
Main class: cljs.main
Arguments: -re node src/foo/core.cljs

JVM: OpenJDK 64-Bit Server VM (25.202-b08, mixed mode)
Java: version 1.8.0_202, vendor  Inc.
Java Home: /Users/lee/.sdkman/candidates/java/8.0.202-amzn/jre
JVM Flags: <none>

Heap dump on OOME: disabled

lread13:06:53

Don’t know what/how to check on anything node is up to. Lemme know if there is any more info/help you want/need.

dnolen20:06:36

will check back in later

mfikes21:06:24

Phew, subsquent build passed 👍 False alarm.