diff --git a/context/src/main/java/io/opentelemetry/context/StrictContextStorage.java b/context/src/main/java/io/opentelemetry/context/StrictContextStorage.java index 3c8fa72c2e5..cf516414b82 100644 --- a/context/src/main/java/io/opentelemetry/context/StrictContextStorage.java +++ b/context/src/main/java/io/opentelemetry/context/StrictContextStorage.java @@ -180,7 +180,8 @@ public void close() { maybeResumeWithFrameIndex = i + 3; } } - if (stackTrace[maybeResumeWithFrameIndex].getMethodName().equals("invokeSuspend")) { + if (maybeResumeWithFrameIndex < stackTrace.length + && stackTrace[maybeResumeWithFrameIndex].getMethodName().equals("invokeSuspend")) { // Skip synthetic invokeSuspend function. // NB: The stacktrace showed in an IntelliJ debug pane does not show this. maybeResumeWithFrameIndex++;