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

Fix access to J9ModronThreadLocalHeap.realHeapAlloc in older core files #9956

Merged
merged 1 commit into from
Jun 22, 2020

Conversation

keithc-ca
Copy link
Contributor

This updates the code so it does not rely on the existence of the method realHeapAlloc() when examining older core files.

Fixes: #9944.

* add J9ConstantHelper.getInt()

Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com>
@pshipton
Copy link
Member

pshipton commented Jun 19, 2020

Does this fix the _realHeapTopOffset_ problem? It appears a CorruptDataException could still occur.

@pshipton
Copy link
Member

@dmitripivkine

@keithc-ca
Copy link
Contributor Author

Does this fix the _realHeapTopOffset_ problem? It appears a CorruptDataException could still occur.

Yes, it should fix that problem except for a small window between the merges of #9745 and #9813 where core files don't contain the required algorithm version update.

@pshipton
Copy link
Member

I don't understand how, since nothing in this stack is modified.

NoSuchFieldError: com/ibm/j9ddr/vm29/structure/J9ModronThreadLocalHeap._realHeapTopOffset_
	at com.ibm.j9ddr.vm29.pointer.generated.J9ModronThreadLocalHeapPointer.realHeapTop(J9ModronThreadLocalHeapPointer.java:217)
	at com.ibm.j9ddr.vm29.j9.gc.GCObjectHeapIteratorAddressOrderedList_V1.<init>(GCObjectHeapIteratorAddressOrderedList_V1.java:78)
	at com.ibm.j9ddr.vm29.j9.gc.GCHeapRegionDescriptor_V1.objectIterator(GCHeapRegionDescriptor_V1.java:195)
	at com.ibm.j9ddr.vm29.j9.gc.GCObjectHeapIterator.fromHeapRegionDescriptor(GCObjectHeapIterator.java:51)
	at com.ibm.j9ddr.vm29.j9.walkers.HeapWalker.<init>(HeapWalker.java:83)

jenkins compile xlinux jdk11

@pshipton
Copy link
Member

Ok I see. I was running an older JVM rather than the latest like I thought.

@pshipton
Copy link
Member

lgtm. We should also put this in our release streams. Please create a PR for 0.21.

@pshipton
Copy link
Member

@LinHu2016 fyi this change.

@keithc-ca
Copy link
Contributor Author

lgtm. We should also put this in our release streams. Please create a PR for 0.21.

See #9959.

@pshipton pshipton self-assigned this Jun 22, 2020
@pshipton
Copy link
Member

jenkins test sanity,extended zlinux jdk11

@pshipton pshipton merged commit 8e98f0f into eclipse-openj9:master Jun 22, 2020
@keithc-ca keithc-ca deleted the realHeapAlloc branch June 22, 2020 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

DDR incompatibilities realHeapAlloc() and _realHeapTopOffset_
2 participants