Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 03 15:25
    YannMoisan commented #3702
  • Dec 03 14:27
    YannMoisan synchronize #3702
  • Dec 03 14:25
    YannMoisan edited #3702
  • Dec 03 14:25
    YannMoisan edited #3702
  • Dec 03 14:24
    YannMoisan edited #3702
  • Dec 03 14:16
    codecov-io commented #3702
  • Dec 03 14:15
    codecov-io commented #3702
  • Dec 03 14:06
    YannMoisan edited #3702
  • Dec 03 14:05
    codecov-io commented #3702
  • Dec 03 14:04
    YannMoisan synchronize #3702
  • Dec 03 13:19
    YannMoisan edited #3702
  • Dec 03 12:56
    YannMoisan edited #3702
  • Dec 03 12:55
    YannMoisan edited #3702
  • Dec 03 12:55
    YannMoisan edited #3702
  • Dec 03 12:39
    YannMoisan edited #3702
  • Dec 03 12:23
    codecov-io commented #3702
  • Dec 03 12:13
    YannMoisan synchronize #3702
  • Dec 03 10:12
    codecov-io commented #3641
  • Dec 03 10:11
    codecov-io commented #3641
  • Dec 03 10:01
    codecov-io commented #3641
Daniel Spiewak
@djspiewak
in other words, I'm fine releasing a final version of a library that cross-publishes on a Scala milestone
I just wouldn't do it (ahem…) with a library depending on a library milestone
Michael Pilquist
@mpilquist
So you’re okay with releasing 2.3.0 final?
Daniel Spiewak
@djspiewak
I actually would be. Cats is in a slightly weird place because of how foundational it is, but tbh I don't mind it pointing to a Scala milestone if it simplifies things to do it that way
Guillaume Martres
@smarter
When trying to add cats to the dotty community-build, we ran into GC thrashing issues when running the JS tests, does that ring a bell?
2020-12-04T01:00:29.8988937Z   + Eval[Int]: monad (stack-unsafe).tailRecM consistent flatMap 0.01s
2020-12-04T01:01:19.3141774Z [warn] In the last 8 seconds, 7.052 (88.3%) were spent in GC. [Heap: 0.80GB free of 4.40GB, max 4.44GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
2020-12-04T01:01:35.4802547Z [warn] In the last 8 seconds, 6.717 (95.0%) were spent in GC. [Heap: 0.44GB free of 4.40GB, max 4.44GB] Consider increasing the JVM heap using `-Xmx` or try a different collector, e.g. `-XX:+UseG1GC`, for better performance.
Our CI machines run Java 8, the only uncommon thing is that they have like > 40 cores, so if there's some code that tries to run on all cores at the same time it could exhaust the heap easily
Guillaume Martres
@smarter
I'm also confused about how running JS tests can exhaust the JVM heap
unless we're running rhino or something instead of node?
Anton Sviridov
@keynmol
it could be TestFramework runner, that executes on JVM side and spawns node processes
Tom Grigg
@griggt
I don't think it is related to core count, I see the same behavior on a 4 core machine
Guillaume Martres
@smarter
it's interesting that it doesn't happen on the cats CI then
Tom Grigg
@griggt
it doesn't seem to be an issue except in the community build. I can run the same test suite directly in the cats repo, built against 3.0.0-M2, no problems at all (and seems much faster to execute)
Guillaume Martres
@smarter
I can't see what else would be different except the version of node maybe
but I can't figure out how node is installed in the cats github action
I guess it's part of the ubuntu-latest image
Anton Sviridov
@keynmol
I think so. SBT is and lots of other build tools are part of base.
Guillaume Martres
@smarter
sbt comes from setup-scala action as far as I know
it's using the latest lts
Guillaume Martres
@smarter
which is more recent than what's in the ubuntu repo (14.15 vs 12.18)
Tom Grigg
@griggt
When testing locally, I didn't run anything in a container, so I presume it just used whatever node I already have installed.
Guillaume Martres
@smarter
ah, my bad
which version of node are you on locally?
Anton Sviridov
@keynmol
When I debug test framework, I usually run sbt with sbt -debug to see which TaskDef spins the JVM into a frenzy
Tom Grigg
@griggt
node --version says v14.15.1
Guillaume Martres
@smarter
ok, so maybe I should try generating a docker image with a newer node
Tom Grigg
@griggt
but with that version of node, it went crazy in GC thrashing when running inside the community build
so maybe we can rule out node versions
Guillaume Martres
@smarter
ah, I thought when you said inside the community build you meant using the github action
Tom Grigg
@griggt
no, i am a glutton for punishment and run it on my local machine :)
Guillaume Martres
@smarter
you're saying the difference comes down to whether you're running sbt by hand or you start the dotty community build sbt task that itself starts sbt in cats?
Tom Grigg
@griggt
yes
Guillaume Martres
@smarter
weird then
Tom Grigg
@griggt
glad i'm not the only one who thinks soi
Guillaume Martres
@smarter
even if you run the exact same tasks?
in the same way, by passing them to sbt as parameters
maybe running the JVM tests leask memory and then when running the JS test we're out of space
Tom Grigg
@griggt
i was just running the catsJS/test task in both cases. i was using a stripped down community build... but i ran the other one interactively in the sbt shell, let me try with all the params on the command line
sbt "++3.0.0-M2;catsJS/test" in the cats repo works just fine
when i stripped down the community build to the equivalent, no dice.
bumping the heap to 7G allowed it to get through, but with a pause for GC still
Guillaume Martres
@smarter
🤔
Tom Grigg
@griggt
I have the same 7G tweak running through dotty CI now to see what happens there
This can't be some sort of regression from 3.0.0-M2 to current master, can it?
Guillaume Martres
@smarter
I mean, it's not entirely impossible
Tom Grigg
@griggt
I could try rebasing my PR on the 3.0.0-M2 release commit and test it locally to see what happens, and hopefully rule that out.
Georgi Krastev
@joroKr21
@smarter have you tried changing the tests to run with fastOptJS (the default) instead of fullOptJS - the latter seems extremely heavy to me and I don't see why the tests should be doing that.
Tom Grigg
@griggt
@joroKr21 :thumbsup: that seems to take care of the GC issues, thanks!