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

pass -ea to JVM and fix asserts for test targets #5693

Merged
merged 5 commits into from Apr 12, 2019

Conversation

@kares
Copy link
Member

commented Apr 12, 2019

... also incorporates #5612

there's one assert left that is failing related to frame dup-ing (for procs)

@kares kares added this to the JRuby 9.2.8.0 milestone Apr 12, 2019

headius added a commit that referenced this pull request Apr 12, 2019

Eliminate circular static init for Frame and Binding.
Block aggregates a Binding which aggregates a Frame which
aggregates a Block, so having these all initialize statically
caused at least one of those reference to end up null. In #5693
this manifested as a failure to dup the frame for a Symbol proc,
since Symbol procs are initialized with Frame.DUMMY, which static
initialized before Block, so Block.NULL_BLOCK was null and as a
result the block field in Frame was null and triggered asserts.

Block.NULL_BLOCK, as the most heavily used, remains as the sole
static "dummy" in this cycle. NULL_BLOCK is initialized with
a new Binding containing an uninitialized Frame, and then the
Frame is updated to point back to NULL_BLOCK. This avoids the
circulate initialization. Previous references to the dummy Frame
and dummy Binding now use NULL_BLOCK's contents.

See #5692 for the catch-all issue that goes with PR #5693.
@headius

This comment has been minimized.

Copy link
Member

commented Apr 12, 2019

I believe I've fixed the null block duping on master, in 3095263.

@kares kares force-pushed the kares:master branch from f5dc453 to 4625e45 Apr 12, 2019

ikaronen-relex and others added some commits Feb 12, 2019

[fix] pass -J-ea down to java as -ea
it did not work for a while (was noticed at GH-5612)

assertions are enabled in tests since: 21e4663
disable assert since marshalling uses this for Java types
... and these will fail for anon classes (starting with a digit)
more const name asserts to disable due JI
... setting up (anonymous) Java class wrappers

headius added a commit that referenced this pull request Apr 12, 2019

@headius

This comment has been minimized.

Copy link
Member

commented Apr 12, 2019

ManyVarsDynamicScope is fixed on master.

@headius

This comment has been minimized.

Copy link
Member

commented Apr 12, 2019

I do not see any other failures on your branch that we haven't addressed, so I'm going to merge. We'll fix anything left on master, but hopefully it's green.

@headius headius merged commit 6c5027f into jruby:master Apr 12, 2019

1 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
jruby.jruby Build #20190412.7 succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.