Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TCK expects execution of each test in an isolated environment. Creati… #3749

Closed
wants to merge 1 commit into from
Closed

TCK expects execution of each test in an isolated environment. Creati… #3749

wants to merge 1 commit into from

Conversation

jtulach
Copy link
Contributor

@jtulach jtulach commented Mar 22, 2016

TCK expects execution of each test in an isolated environment. Creating the PolyglotEngine instance in each invocation of prepareVM. With this change the oracle/graal#146 request seems to pass OK.

…ng the PolyglotEngine in each invocation of prepareVM.
@chrisseaton
Copy link
Contributor

Unfortunately it's a little more complicated than that.

As you can see the TCK is now failing with what appears to be the kernel's OOM killer.

https://travis-ci.org/jruby/jruby/jobs/117655611#L3509

JRuby runs tests concurrently, so it's trying to create 40 or so Ruby contexts at the same time and running out of memory on the Travis instance.

We could run the tests sequentially, but then they're starting to take several minutes to run. I think we also had some other problem when we tried to run test sequentially last time we tried - @nirvdrum can you remember what that was?

I'm not sure what the best solution is. Is there something fundamentally wrong with creating one context and running most of the tests in that one context?

@jtulach
Copy link
Contributor Author

jtulach commented Mar 22, 2016

Yes, the execution of TruffleTCK now takes longer on my computer about 1min instead of 15s.

Running the tests in isolation is the preferred mode. The tests shouldn't influence each other. However, if it is complicated to change that right now, I can try some workaround in the TruffleTCK.

@chrisseaton
Copy link
Contributor

I'll just wait for @nirvdrum to wake up and see if he remembers anything more about what happened last time we tried to make them run sequentially.

@nirvdrum
Copy link
Contributor

It's been a while, but I don't think we had a problem with them running sequentially -- they were just very slow and by default, run on every maven build. If we switch back to running that way, we really need to figure out whatever maven incantation to disable the tests. I tried a few times and failed each time.

The issues I had run into was trying to make them run in parallel. I naively tried to pass the context around, but the test teardown method nulls out the context, IIRC. So, only the first test would pass. Chris got the current setup working.

@chrisseaton
Copy link
Contributor

That was the problem - we can't add 3 mins of test time to everyone else's Maven builds, even when they aren't changing anything in Truffle. What options do we have to workaround @jtulach?

@jtulach
Copy link
Contributor Author

jtulach commented Mar 22, 2016

I think I have a workaround: oracle/graal@fe43728 - for now it should be enough.

@jtulach jtulach closed this Mar 22, 2016
@enebo enebo modified the milestone: Non-Release May 25, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants