RFR: 8311541: JavaThread::print_jni_stack doesn't support native stacks on all platforms
Aleksey Shipilev
shade at openjdk.org
Tue Jul 18 18:28:41 UTC 2023
On Thu, 13 Jul 2023 07:41:00 GMT, David Holmes <dholmes at openjdk.org> wrote:
> [JDK-8295974](https://bugs.openjdk.org/browse/JDK-8295974) modified print_jni_stack to print the native stack when there are no Java frames. To do that it used VMError::print_native_stack, however that function is only for platforms that support stack-walking by following frames, on other platforms (i.e. Windows and AIX) we need to use os::platform_print_native_stack.
>
> I'm not trying to consolidate the different versions of the stack printing code in this PR so that it is more easily backported to where [JDK-8295974](https://bugs.openjdk.org/browse/JDK-8295974) was.
>
> The test has been updated to work on Windows (taking advantage of two other recent enhancements - see JBS for details).
>
> Testing:
> - tiers 1-3 (sanity)
> - TestNativeStack regression test
>
> Thanks
Looks reasonable. Is `_WIN32` defined for Windows 64 as well? Consider a nit, if you have any other changes in the pipe for this PR. Ignore otherwise.
test/hotspot/jtreg/runtime/jni/nativeStack/libnativeStack.c line 110:
> 108: printf("Native thread terminating\n");
> 109:
> 110: #ifndef _WIN32
I'd flip it over to have `#ifdef` without negation, but that's minor.
-------------
Marked as reviewed by shade (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/14862#pullrequestreview-1535661069
PR Review Comment: https://git.openjdk.org/jdk/pull/14862#discussion_r1267152619
More information about the build-dev
mailing list