RFR (S): 8218458: [TESTBUG] runtime/NMT/CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output

Chris Plummer chris.plummer at oracle.com
Thu Apr 4 06:12:57 UTC 2019


Hi David,

I have concerns that this will hide some of the other bugs I've 
mentioned: JDK-8133749, JDK-8133747, and JDK-8133740. These bugs result 
in 1 or two frames appearing in the stacktrace that should be skipped. 
Notably NativeCallStack::NativeCallStack() and os::get_native_stack().

Also, AllocateHeap() should normally not be in the stack trace, but the 
test has specifically allowed for it for windows and solaris slowdebug 
builds. Although these builds should have honored the ALWAYSINLINE 
directive, it was deemed acceptable that it was not in slowdebug builds. 
However, I would not want to allow AllocateHeap() to appear in a product 
build, and best not to see it in fastdebug either.

Given the changes you made to allow more flexibly in which frames 
appear, I think you need to now also make sure the above 3 mentioned 
frames are not present, except for allowing AllocateHeap() in slowdebug 
builds.

thanks,

Chris

On 4/3/19 10:53 PM, David Holmes wrote:
> Bug: https://bugs.openjdk.java.net/browse/JDK-8218458
> Webrev: http://cr.openjdk.java.net/~dholmes/8218458/webrev/
>
> The actual stack trace reported by NMT detail is affected by the 
> inlining decisions of the native compiler, and on the type of build. 
> So we define an "ideal" stacktrace and then allow for some frames to 
> be missing based on empirical observations. So to date we have seen 
> two frames that may or may not be inlined and so we allow for 2 
> non-matching entries.
>
> The special-casing of AllocateHeap is removed as now it is just an 
> optional frame.
>
> Chris: does this maintain the "spirit" of the test as you intended?
>
> Zhengyu: can you test this on your system(s) please.
>
> Thanks,
> David




More information about the hotspot-runtime-dev mailing list