We have a project with a large number of .less files compiled with sbt-less 1.1.1. The less compilation using node or Trireme worked quite well for a while. One of the reason why the number of .less files is that high is that we have organized the less files in a structure with multiple themes which we all want to compile during a deployment.
Since we recently added new .less files with new themes we are now stuck with the less compilation. The node processes don't terminate. Testing on my machine (Mid 2015 MacBook Pro) the less compilation forks 9 node processes, each of them running with high CPU load for about 10 seconds. Then the node processes go down to 0% CPU and then are stuck forever. The less compilation does not terminate.
I have a sample Play project where this can be reproduced. I currently don't want to share it publicly, but I'm happy to add members to the private Github repo if someone wants to reproduce the issue.
If we remove the number of less files then the issue disappears again.
I also noticed that if I set JsEngineKeys.parallelism := 20 then the less compilation works again and all node processes terminate after less then 10 seconds. The compilation time itself doesn't seem to be the issue.
My suspicion is that the amount of files per node process... or maybe the length of the arguments passed to the node process makes the difference. I checked whether there are any limitations on process.argv in node.js, but couldn't find any hint or documentation.
We have a project with a large number of .less files compiled with sbt-less 1.1.1. The less compilation using node or Trireme worked quite well for a while. One of the reason why the number of .less files is that high is that we have organized the less files in a structure with multiple themes which we all want to compile during a deployment.
Since we recently added new .less files with new themes we are now stuck with the less compilation. The node processes don't terminate. Testing on my machine (Mid 2015 MacBook Pro) the less compilation forks 9 node processes, each of them running with high CPU load for about 10 seconds. Then the node processes go down to 0% CPU and then are stuck forever. The less compilation does not terminate.
I have a sample Play project where this can be reproduced. I currently don't want to share it publicly, but I'm happy to add members to the private Github repo if someone wants to reproduce the issue.
If we remove the number of less files then the issue disappears again.
I also noticed that if I set
JsEngineKeys.parallelism := 20then the less compilation works again and all node processes terminate after less then 10 seconds. The compilation time itself doesn't seem to be the issue.My suspicion is that the amount of files per node process... or maybe the length of the arguments passed to the node process makes the difference. I checked whether there are any limitations on
process.argvin node.js, but couldn't find any hint or documentation.