Add null check to StrictContextStorage (#5954)

This commit is contained in:
Lauri Tulmin 2023-11-06 19:12:29 +02:00 committed by GitHub
parent 19196a0251
commit 1ecc9197be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 1 deletions

View File

@ -23,6 +23,7 @@ package io.opentelemetry.context;
import static java.lang.Thread.currentThread;
import io.opentelemetry.context.internal.shaded.WeakConcurrentMap;
import java.lang.ref.Reference;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
@ -266,7 +267,9 @@ final class StrictContextStorage implements ContextStorage, AutoCloseable {
public void run() {
try {
while (!Thread.interrupted()) {
CallerStackTrace caller = map.remove(remove());
Reference<? extends Scope> reference = remove();
// on openj9 ReferenceQueue.remove can return null
CallerStackTrace caller = reference != null ? map.remove(reference) : null;
if (caller != null && !caller.closed) {
logger.log(
Level.SEVERE, "Scope garbage collected before being closed.", callerError(caller));