RFR: 8311993: Test serviceability/sa/UniqueVtableTest.java failed: duplicate vtables detected [v3]
Alex Menkov
amenkov at openjdk.org
Fri Aug 30 00:08:21 UTC 2024
On Thu, 29 Aug 2024 20:51:45 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
> We have one test that does a findsym of MaxJNILocalCapacity (ClhsdbFindPC.java). I'm guessing this would fail if native lookups were disabled. Note findsym was added less than 3 years ago.
The test fails on isSharingEnabled, but I suppose it will fail to find MaxJNILocalCapacity too
> It seems then that theoretically the dll lookup should never be needed, but due to the bug this PR is fixing, it is needed as a fallback when windbg lookup fails to do the right thing. I wonder if there are also other types of symbols we lookup that would only be found with the dll lookup.
As far as I understand dll lookup is needed to get vtables for classes (and I suppose it's the only case).
I don't think it's "right thing" to return offset of "jvm!class_name::`vftable'" for decorated symbols (and especially for pointers).
Maybe vtable lookup can be implemented by searching for "class_name::`vftable'", then dll lookup (and all this exported symbols) can be dropped
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20684#issuecomment-2319505224
More information about the serviceability-dev
mailing list