Hi all, here is the update webref with the fixed copyright: http://cr.openjdk.java.net/~simonis/webrevs/2018/8205608.v5/
Best regards, Ralf -----Original Message----- From: serguei.spit...@oracle.com [mailto:serguei.spit...@oracle.com] Sent: Freitag, 20. Juli 2018 23:04 To: Chris Plummer <chris.plum...@oracle.com>; Schmelter, Ralf <ralf.schmel...@sap.com>; serviceability-dev@openjdk.java.net; Stuefe, Thomas <thomas.stu...@sap.com> Subject: Re: RFR (S) 8205608: Fix 'frames()' in ThreadReferenceImpl.c to prevent quadratic runtime behavior On 7/20/18 13:44, Chris Plummer wrote: > On 7/20/18 1:40 PM, serguei.spit...@oracle.com wrote: >> Hi Ralf, >> >> >> On 7/20/18 07:28, Schmelter, Ralf wrote: >>> Hi Sergue, >>> >>> I’ve updated the webref: >>> http://cr.openjdk.java.net/~simonis/webrevs/2018/8205608.v4/ >> >> The copyright year in ThreadReferenceImpl.c still has to be 2018, not >> 2008. >> >> http://cr.openjdk.java.net/~simonis/webrevs/2018/8205608.v4/test/jdk/com/sun/jdi/Frames2Test.java.html >> >> >> >> 72 if (newDepth == -1_000) { >> 73 // Pop some frames so there is room on the stack >> for the >> 74 // call (including println()). >> 75 notifyRecursionEnded(); >> 76 } >> >> I have a concern on potential issue mentioned in the comment above. >> Should a StackOverflowError be expected here? >> >> 79 } catch (StackOverflowError e) { >> 80 // Use negative depth to indicate the recursion has >> ended. >> 81 return -1; >> 82 } >> >> What is going to happen if the StackOverflowError was really caught >> above? > The SOE is really caught in the above code. I returns -1, and starts > the unwinding of the stack. After 1000 frames have been popped via > returns, notifyRecursionEnded() will be called. The pops are so > notifyRecursionEnded() can be called without worry of another SOE. Got it, thanks Chris. So, I'm Okay with the fix assuming the copyright year is fixed. Thanks, Serguei