> 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

Patricio Chilano Mateo has updated the pull request incrementally with one 
additional commit since the last revision:

  Improve comment

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/10424/files
  - new: https://git.openjdk.org/jdk/pull/10424/files/5e375a83..68486d1a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10424&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10424&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/10424.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10424/head:pull/10424

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

Reply via email to