On Mon, 26 Sep 2022 14:23:38 GMT, Patricio Chilano Mateo 
<pchilanom...@openjdk.org> wrote:

> Please review this small fix in async_get_stack_trace(). The GrowableArrays 
> created to store the bci and Method* of each frame found while traversing the 
> stack are allocated in the resource area of the thread that calls 
> async_get_stack_trace(). But if the handshake is executed by the target and 
> if the number of frames in the stack exceeds the initial size of the 
> GrowableArrays then we will hit an assertion when trying to grow the size of 
> the arrays (see bug description).
> Currently we don't see any issues because the initial size of the 
> GrowableArrays is 512 and our tests don't test beyond that (the maximum value 
> of DEPTH in the vmTestbase/nsk/stress/strace/ tests is 500). The issue can be 
> easily reproduced by either decreasing the initial size of the GrowableArrays 
> or by increasing the value of DEPTH in those strace tests.
> To fix it I allocated the arrays in the C heap instead. Also I lowered the 
> initial size of the arrays since 512 seemed too much to start with.
> Tested it by running all tests in the vmTestbase/nsk/stress/strace/ directory.
> 
> Thanks,
> Patricio

Looks good.

Thanks

-------------

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.org/jdk/pull/10424

Reply via email to