From 7f9ef5fbaa292c51a1e44bc14e27bf8e2cf91b37 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 21 Oct 2024 02:03:08 +0100 Subject: [PATCH 01/19] setStatus method conforms to the specified behavior regarding status code priorities and description handling Relate to #6797 --- .gitignore | 2 + .../io/opentelemetry/sdk/trace/SdkSpan.java | 43 +++++++++++++------ 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 6dd7dc74f2f..4a0cebed070 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ bin # Vim .swp + +.fake \ No newline at end of file diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index 1580b05c465..4e39e410b70 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -418,22 +418,37 @@ private void addTimedEvent(EventData timedEvent) { @Override public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String description) { - if (statusCode == null) { - return this; - } - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling setStatus() on an ended Span."); - return this; - } else if (this.status.getStatusCode() == StatusCode.OK) { - logger.log(Level.FINE, "Calling setStatus() on a Span that is already set to OK."); - return this; + if (statusCode == null) { + return this; // No action if statusCode is null } - this.status = StatusData.create(statusCode, description); - } - return this; + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling setStatus() on an ended Span."); + return this; // Prevent modification if the span has ended + } + + // Check the current status and enforce priority rules + StatusCode currentStatusCode = this.status.getStatusCode(); + + // Prevent setting a lower priority status + if (currentStatusCode == StatusCode.OK) { + logger.log(Level.FINE, "Calling setStatus() on a Span that is already set to OK."); + return this; // Do not allow lower priority status to override OK + } else if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { + logger.log(Level.FINE, "Cannot set status to UNSET when current status is ERROR."); + return this; // Do not allow UNSET to override ERROR + } + + // Set the status, ignoring description if status is not ERROR + if (statusCode == StatusCode.ERROR) { + this.status = StatusData.create(statusCode, description); // Allow description for ERROR + } else { + this.status = StatusData.create(statusCode, null); // Ignore description for non-ERROR statuses + } + } + return this; // Return the current span for method chaining } - + @Override public ReadWriteSpan recordException(Throwable exception) { recordException(exception, Attributes.empty()); From ef46f8f1a14c0270422ffb1ddd41c903cf102e4f Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 23 Oct 2024 02:35:56 +0100 Subject: [PATCH 02/19] fix Relate to #6797 --- .../io/opentelemetry/sdk/trace/SdkSpan.java | 1289 +++++++++-------- 1 file changed, 645 insertions(+), 644 deletions(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index 4e39e410b70..2724c673298 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -3,650 +3,651 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.sdk.trace; - -import io.opentelemetry.api.common.AttributeKey; -import io.opentelemetry.api.common.Attributes; -import io.opentelemetry.api.internal.GuardedBy; -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.api.trace.SpanContext; -import io.opentelemetry.api.trace.SpanKind; -import io.opentelemetry.api.trace.StatusCode; -import io.opentelemetry.context.Context; -import io.opentelemetry.sdk.common.Clock; -import io.opentelemetry.sdk.common.InstrumentationScopeInfo; -import io.opentelemetry.sdk.internal.AttributeUtil; -import io.opentelemetry.sdk.internal.AttributesMap; -import io.opentelemetry.sdk.internal.InstrumentationScopeUtil; -import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.sdk.trace.data.EventData; -import io.opentelemetry.sdk.trace.data.LinkData; -import io.opentelemetry.sdk.trace.data.SpanData; -import io.opentelemetry.sdk.trace.data.StatusData; -import io.opentelemetry.sdk.trace.internal.ExtendedSpanProcessor; -import io.opentelemetry.sdk.trace.internal.data.ExceptionEventData; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.annotation.Nullable; -import javax.annotation.concurrent.ThreadSafe; - -/** Implementation for the {@link Span} class that records trace events. */ -@ThreadSafe -final class SdkSpan implements ReadWriteSpan { - - private static final Logger logger = Logger.getLogger(SdkSpan.class.getName()); - - // The config used when constructing this Span. - private final SpanLimits spanLimits; - // Contains the identifiers associated with this Span. - private final SpanContext context; - // The parent SpanContext of this span. Invalid if this is a root span. - private final SpanContext parentSpanContext; - // Handler called when the span starts and ends. - private final SpanProcessor spanProcessor; - // The kind of the span. - private final SpanKind kind; - // The clock used to get the time. - private final AnchoredClock clock; - // The resource associated with this span. - private final Resource resource; - // instrumentation scope of the named tracer which created this span - private final InstrumentationScopeInfo instrumentationScopeInfo; - // The start time of the span. - private final long startEpochNanos; - // Lock used to internally guard the mutable state of this instance - private final Object lock = new Object(); - - @GuardedBy("lock") - private String name; - - // Set of recorded attributes. DO NOT CALL any other method that changes the ordering of events. - @GuardedBy("lock") - @Nullable - private AttributesMap attributes; - - // List of recorded events. - @GuardedBy("lock") - @Nullable - private List events; - - // Number of events recorded. - @GuardedBy("lock") - private int totalRecordedEvents = 0; - - // The displayed name of the span. - // List of recorded links to parent and child spans. - @GuardedBy("lock") - @Nullable - List links; - - // Number of links recorded. - @GuardedBy("lock") - private int totalRecordedLinks; - - // The status of the span. - @GuardedBy("lock") - private StatusData status = StatusData.unset(); - - // The end time of the span. - @GuardedBy("lock") - private long endEpochNanos; - - private enum EndState { - NOT_ENDED, - ENDING, - ENDED - } - - @GuardedBy("lock") - private EndState hasEnded; - - /** - * The thread on which {@link #end()} is called and which will be invoking the {@link - * SpanProcessor}s. This field is used to ensure that only this thread may modify the span while - * it is in state {@link EndState#ENDING} to prevent concurrent updates outside of {@link - * ExtendedSpanProcessor#onEnding(ReadWriteSpan)}. - */ - @GuardedBy("lock") - @Nullable - private Thread spanEndingThread; - - private SdkSpan( - SpanContext context, - String name, - InstrumentationScopeInfo instrumentationScopeInfo, - SpanKind kind, - SpanContext parentSpanContext, - SpanLimits spanLimits, - SpanProcessor spanProcessor, - AnchoredClock clock, - Resource resource, - @Nullable AttributesMap attributes, - @Nullable List links, - int totalRecordedLinks, - long startEpochNanos) { - this.context = context; - this.instrumentationScopeInfo = instrumentationScopeInfo; - this.parentSpanContext = parentSpanContext; - this.links = links; - this.totalRecordedLinks = totalRecordedLinks; - this.name = name; - this.kind = kind; - this.spanProcessor = spanProcessor; - this.resource = resource; - this.hasEnded = EndState.NOT_ENDED; - this.clock = clock; - this.startEpochNanos = startEpochNanos; - this.attributes = attributes; - this.spanLimits = spanLimits; - } - - /** - * Creates and starts a span with the given configuration. - * - * @param context supplies the trace_id and span_id for the newly started span. - * @param name the displayed name for the new span. - * @param kind the span kind. - * @param parentSpan the parent span, or {@link Span#getInvalid()} if this span is a root span. - * @param spanLimits limits applied to this span. - * @param spanProcessor handler called when the span starts and ends. - * @param tracerClock the tracer's clock - * @param resource the resource associated with this span. - * @param attributes the attributes set during span creation. - * @param links the links set during span creation, may be truncated. The list MUST be immutable. - * @return a new and started span. - */ - static SdkSpan startSpan( - SpanContext context, - String name, - InstrumentationScopeInfo instrumentationScopeInfo, - SpanKind kind, - Span parentSpan, - Context parentContext, - SpanLimits spanLimits, - SpanProcessor spanProcessor, - Clock tracerClock, - Resource resource, - @Nullable AttributesMap attributes, - @Nullable List links, - int totalRecordedLinks, - long userStartEpochNanos) { - boolean createdAnchoredClock; - AnchoredClock clock; - if (parentSpan instanceof SdkSpan) { - SdkSpan parentRecordEventsSpan = (SdkSpan) parentSpan; - clock = parentRecordEventsSpan.clock; - createdAnchoredClock = false; - } else { - clock = AnchoredClock.create(tracerClock); - createdAnchoredClock = true; - } - - long startEpochNanos; - if (userStartEpochNanos != 0) { - startEpochNanos = userStartEpochNanos; - } else if (createdAnchoredClock) { - // If this is a new AnchoredClock, the start time is now, so just use it to avoid - // recomputing current time. - startEpochNanos = clock.startTime(); - } else { - // AnchoredClock created in the past, so need to compute now. - startEpochNanos = clock.now(); - } - - SdkSpan span = - new SdkSpan( - context, - name, - instrumentationScopeInfo, - kind, - parentSpan.getSpanContext(), - spanLimits, - spanProcessor, - clock, - resource, - attributes, - links, - totalRecordedLinks, - startEpochNanos); - // Call onStart here instead of calling in the constructor to make sure the span is completely - // initialized. - if (spanProcessor.isStartRequired()) { - spanProcessor.onStart(parentContext, span); - } - return span; - } - - @Override - public SpanData toSpanData() { - // Copy within synchronized context - synchronized (lock) { - return SpanWrapper.create( - this, - getImmutableLinks(), - getImmutableTimedEvents(), - getImmutableAttributes(), - (attributes == null) ? 0 : attributes.getTotalAddedValues(), - totalRecordedEvents, - totalRecordedLinks, - status, - name, - endEpochNanos, - hasEnded == EndState.ENDED); - } - } - - @Override - @Nullable - public T getAttribute(AttributeKey key) { - synchronized (lock) { - return attributes == null ? null : attributes.get(key); - } - } - - @Override - public Attributes getAttributes() { - synchronized (lock) { - return attributes == null ? Attributes.empty() : attributes.immutableCopy(); - } - } - - @Override - public boolean hasEnded() { - synchronized (lock) { - return hasEnded == EndState.ENDED; - } - } - - @Override - public SpanContext getSpanContext() { - return context; - } - - @Override - public SpanContext getParentSpanContext() { - return parentSpanContext; - } - - /** - * Returns the name of the {@code Span}. - * - * @return the name of the {@code Span}. - */ - @Override - public String getName() { - synchronized (lock) { - return name; - } - } - - @Override - @Deprecated - public io.opentelemetry.sdk.common.InstrumentationLibraryInfo getInstrumentationLibraryInfo() { - return InstrumentationScopeUtil.toInstrumentationLibraryInfo(getInstrumentationScopeInfo()); - } - - @Override - public InstrumentationScopeInfo getInstrumentationScopeInfo() { - return instrumentationScopeInfo; - } - - /** - * Returns the latency of the {@code Span} in nanos. If still active then returns now() - start - * time. - * - * @return the latency of the {@code Span} in nanos. - */ - @Override - public long getLatencyNanos() { - synchronized (lock) { - return (hasEnded == EndState.NOT_ENDED ? clock.now() : endEpochNanos) - startEpochNanos; - } - } - - /** Returns the {@link AnchoredClock} used by this {@link Span}. */ - AnchoredClock getClock() { - return clock; - } - - @Override - public ReadWriteSpan setAttribute(AttributeKey key, T value) { - if (key == null || key.getKey().isEmpty() || value == null) { - return this; + package io.opentelemetry.sdk.trace; + + import io.opentelemetry.api.common.AttributeKey; + import io.opentelemetry.api.common.Attributes; + import io.opentelemetry.api.internal.GuardedBy; + import io.opentelemetry.api.trace.Span; + import io.opentelemetry.api.trace.SpanContext; + import io.opentelemetry.api.trace.SpanKind; + import io.opentelemetry.api.trace.StatusCode; + import io.opentelemetry.context.Context; + import io.opentelemetry.sdk.common.Clock; + import io.opentelemetry.sdk.common.InstrumentationScopeInfo; + import io.opentelemetry.sdk.internal.AttributeUtil; + import io.opentelemetry.sdk.internal.AttributesMap; + import io.opentelemetry.sdk.internal.InstrumentationScopeUtil; + import io.opentelemetry.sdk.resources.Resource; + import io.opentelemetry.sdk.trace.data.EventData; + import io.opentelemetry.sdk.trace.data.LinkData; + import io.opentelemetry.sdk.trace.data.SpanData; + import io.opentelemetry.sdk.trace.data.StatusData; + import io.opentelemetry.sdk.trace.internal.ExtendedSpanProcessor; + import io.opentelemetry.sdk.trace.internal.data.ExceptionEventData; + import java.util.ArrayList; + import java.util.Collections; + import java.util.List; + import java.util.concurrent.TimeUnit; + import java.util.logging.Level; + import java.util.logging.Logger; + import javax.annotation.Nullable; + import javax.annotation.concurrent.ThreadSafe; + + /** Implementation for the {@link Span} class that records trace events. */ + @ThreadSafe + final class SdkSpan implements ReadWriteSpan { + + private static final Logger logger = Logger.getLogger(SdkSpan.class.getName()); + + // The config used when constructing this Span. + private final SpanLimits spanLimits; + // Contains the identifiers associated with this Span. + private final SpanContext context; + // The parent SpanContext of this span. Invalid if this is a root span. + private final SpanContext parentSpanContext; + // Handler called when the span starts and ends. + private final SpanProcessor spanProcessor; + // The kind of the span. + private final SpanKind kind; + // The clock used to get the time. + private final AnchoredClock clock; + // The resource associated with this span. + private final Resource resource; + // instrumentation scope of the named tracer which created this span + private final InstrumentationScopeInfo instrumentationScopeInfo; + // The start time of the span. + private final long startEpochNanos; + // Lock used to internally guard the mutable state of this instance + private final Object lock = new Object(); + + @GuardedBy("lock") + private String name; + + // Set of recorded attributes. DO NOT CALL any other method that changes the ordering of events. + @GuardedBy("lock") + @Nullable + private AttributesMap attributes; + + // List of recorded events. + @GuardedBy("lock") + @Nullable + private List events; + + // Number of events recorded. + @GuardedBy("lock") + private int totalRecordedEvents = 0; + + // The displayed name of the span. + // List of recorded links to parent and child spans. + @GuardedBy("lock") + @Nullable + List links; + + // Number of links recorded. + @GuardedBy("lock") + private int totalRecordedLinks; + + // The status of the span. + @GuardedBy("lock") + private StatusData status = StatusData.unset(); + + // The end time of the span. + @GuardedBy("lock") + private long endEpochNanos; + + private enum EndState { + NOT_ENDED, + ENDING, + ENDED + } + + @GuardedBy("lock") + private EndState hasEnded; + + /** + * The thread on which {@link #end()} is called and which will be invoking the {@link + * SpanProcessor}s. This field is used to ensure that only this thread may modify the span while + * it is in state {@link EndState#ENDING} to prevent concurrent updates outside of {@link + * ExtendedSpanProcessor#onEnding(ReadWriteSpan)}. + */ + @GuardedBy("lock") + @Nullable + private Thread spanEndingThread; + + private SdkSpan( + SpanContext context, + String name, + InstrumentationScopeInfo instrumentationScopeInfo, + SpanKind kind, + SpanContext parentSpanContext, + SpanLimits spanLimits, + SpanProcessor spanProcessor, + AnchoredClock clock, + Resource resource, + @Nullable AttributesMap attributes, + @Nullable List links, + int totalRecordedLinks, + long startEpochNanos) { + this.context = context; + this.instrumentationScopeInfo = instrumentationScopeInfo; + this.parentSpanContext = parentSpanContext; + this.links = links; + this.totalRecordedLinks = totalRecordedLinks; + this.name = name; + this.kind = kind; + this.spanProcessor = spanProcessor; + this.resource = resource; + this.hasEnded = EndState.NOT_ENDED; + this.clock = clock; + this.startEpochNanos = startEpochNanos; + this.attributes = attributes; + this.spanLimits = spanLimits; + } + + /** + * Creates and starts a span with the given configuration. + * + * @param context supplies the trace_id and span_id for the newly started span. + * @param name the displayed name for the new span. + * @param kind the span kind. + * @param parentSpan the parent span, or {@link Span#getInvalid()} if this span is a root span. + * @param spanLimits limits applied to this span. + * @param spanProcessor handler called when the span starts and ends. + * @param tracerClock the tracer's clock + * @param resource the resource associated with this span. + * @param attributes the attributes set during span creation. + * @param links the links set during span creation, may be truncated. The list MUST be immutable. + * @return a new and started span. + */ + static SdkSpan startSpan( + SpanContext context, + String name, + InstrumentationScopeInfo instrumentationScopeInfo, + SpanKind kind, + Span parentSpan, + Context parentContext, + SpanLimits spanLimits, + SpanProcessor spanProcessor, + Clock tracerClock, + Resource resource, + @Nullable AttributesMap attributes, + @Nullable List links, + int totalRecordedLinks, + long userStartEpochNanos) { + boolean createdAnchoredClock; + AnchoredClock clock; + if (parentSpan instanceof SdkSpan) { + SdkSpan parentRecordEventsSpan = (SdkSpan) parentSpan; + clock = parentRecordEventsSpan.clock; + createdAnchoredClock = false; + } else { + clock = AnchoredClock.create(tracerClock); + createdAnchoredClock = true; + } + + long startEpochNanos; + if (userStartEpochNanos != 0) { + startEpochNanos = userStartEpochNanos; + } else if (createdAnchoredClock) { + // If this is a new AnchoredClock, the start time is now, so just use it to avoid + // recomputing current time. + startEpochNanos = clock.startTime(); + } else { + // AnchoredClock created in the past, so need to compute now. + startEpochNanos = clock.now(); + } + + SdkSpan span = + new SdkSpan( + context, + name, + instrumentationScopeInfo, + kind, + parentSpan.getSpanContext(), + spanLimits, + spanProcessor, + clock, + resource, + attributes, + links, + totalRecordedLinks, + startEpochNanos); + // Call onStart here instead of calling in the constructor to make sure the span is completely + // initialized. + if (spanProcessor.isStartRequired()) { + spanProcessor.onStart(parentContext, span); + } + return span; + } + + @Override + public SpanData toSpanData() { + // Copy within synchronized context + synchronized (lock) { + return SpanWrapper.create( + this, + getImmutableLinks(), + getImmutableTimedEvents(), + getImmutableAttributes(), + (attributes == null) ? 0 : attributes.getTotalAddedValues(), + totalRecordedEvents, + totalRecordedLinks, + status, + name, + endEpochNanos, + hasEnded == EndState.ENDED); + } + } + + @Override + @Nullable + public T getAttribute(AttributeKey key) { + synchronized (lock) { + return attributes == null ? null : attributes.get(key); + } + } + + @Override + public Attributes getAttributes() { + synchronized (lock) { + return attributes == null ? Attributes.empty() : attributes.immutableCopy(); + } + } + + @Override + public boolean hasEnded() { + synchronized (lock) { + return hasEnded == EndState.ENDED; + } + } + + @Override + public SpanContext getSpanContext() { + return context; + } + + @Override + public SpanContext getParentSpanContext() { + return parentSpanContext; + } + + /** + * Returns the name of the {@code Span}. + * + * @return the name of the {@code Span}. + */ + @Override + public String getName() { + synchronized (lock) { + return name; + } + } + + @Override + @Deprecated + public io.opentelemetry.sdk.common.InstrumentationLibraryInfo getInstrumentationLibraryInfo() { + return InstrumentationScopeUtil.toInstrumentationLibraryInfo(getInstrumentationScopeInfo()); + } + + @Override + public InstrumentationScopeInfo getInstrumentationScopeInfo() { + return instrumentationScopeInfo; + } + + /** + * Returns the latency of the {@code Span} in nanos. If still active then returns now() - start + * time. + * + * @return the latency of the {@code Span} in nanos. + */ + @Override + public long getLatencyNanos() { + synchronized (lock) { + return (hasEnded == EndState.NOT_ENDED ? clock.now() : endEpochNanos) - startEpochNanos; + } + } + + /** Returns the {@link AnchoredClock} used by this {@link Span}. */ + AnchoredClock getClock() { + return clock; + } + + @Override + public ReadWriteSpan setAttribute(AttributeKey key, T value) { + if (key == null || key.getKey().isEmpty() || value == null) { + return this; + } + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling setAttribute() on an ended Span."); + return this; + } + if (attributes == null) { + attributes = + AttributesMap.create( + spanLimits.getMaxNumberOfAttributes(), spanLimits.getMaxAttributeValueLength()); + } + + attributes.put(key, value); + } + return this; + } + + @GuardedBy("lock") + private boolean isModifiableByCurrentThread() { + return hasEnded == EndState.NOT_ENDED + || (hasEnded == EndState.ENDING && Thread.currentThread() == spanEndingThread); + } + + @Override + public ReadWriteSpan addEvent(String name) { + if (name == null) { + return this; + } + addTimedEvent(EventData.create(clock.now(), name, Attributes.empty(), 0)); + return this; + } + + @Override + public ReadWriteSpan addEvent(String name, long timestamp, TimeUnit unit) { + if (name == null || unit == null) { + return this; + } + addTimedEvent(EventData.create(unit.toNanos(timestamp), name, Attributes.empty(), 0)); + return this; + } + + @Override + public ReadWriteSpan addEvent(String name, Attributes attributes) { + if (name == null) { + return this; + } + if (attributes == null) { + attributes = Attributes.empty(); + } + int totalAttributeCount = attributes.size(); + addTimedEvent( + EventData.create( + clock.now(), + name, + AttributeUtil.applyAttributesLimit( + attributes, + spanLimits.getMaxNumberOfAttributesPerEvent(), + spanLimits.getMaxAttributeValueLength()), + totalAttributeCount)); + return this; + } + + @Override + public ReadWriteSpan addEvent(String name, Attributes attributes, long timestamp, TimeUnit unit) { + if (name == null || unit == null) { + return this; + } + if (attributes == null) { + attributes = Attributes.empty(); + } + int totalAttributeCount = attributes.size(); + addTimedEvent( + EventData.create( + unit.toNanos(timestamp), + name, + AttributeUtil.applyAttributesLimit( + attributes, + spanLimits.getMaxNumberOfAttributesPerEvent(), + spanLimits.getMaxAttributeValueLength()), + totalAttributeCount)); + return this; + } + + private void addTimedEvent(EventData timedEvent) { + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling addEvent() on an ended Span."); + return; + } + if (events == null) { + events = new ArrayList<>(); + } + if (events.size() < spanLimits.getMaxNumberOfEvents()) { + events.add(timedEvent); + } + totalRecordedEvents++; + } + } + + @Override +public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String description) { + if (statusCode == null) { + return this; // No action if statusCode is null } synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling setAttribute() on an ended Span."); - return this; - } - if (attributes == null) { - attributes = - AttributesMap.create( - spanLimits.getMaxNumberOfAttributes(), spanLimits.getMaxAttributeValueLength()); - } - - attributes.put(key, value); - } - return this; - } - - @GuardedBy("lock") - private boolean isModifiableByCurrentThread() { - return hasEnded == EndState.NOT_ENDED - || (hasEnded == EndState.ENDING && Thread.currentThread() == spanEndingThread); - } - - @Override - public ReadWriteSpan addEvent(String name) { - if (name == null) { - return this; - } - addTimedEvent(EventData.create(clock.now(), name, Attributes.empty(), 0)); - return this; - } - - @Override - public ReadWriteSpan addEvent(String name, long timestamp, TimeUnit unit) { - if (name == null || unit == null) { - return this; - } - addTimedEvent(EventData.create(unit.toNanos(timestamp), name, Attributes.empty(), 0)); - return this; - } - - @Override - public ReadWriteSpan addEvent(String name, Attributes attributes) { - if (name == null) { - return this; - } - if (attributes == null) { - attributes = Attributes.empty(); - } - int totalAttributeCount = attributes.size(); - addTimedEvent( - EventData.create( - clock.now(), - name, - AttributeUtil.applyAttributesLimit( - attributes, - spanLimits.getMaxNumberOfAttributesPerEvent(), - spanLimits.getMaxAttributeValueLength()), - totalAttributeCount)); - return this; - } - - @Override - public ReadWriteSpan addEvent(String name, Attributes attributes, long timestamp, TimeUnit unit) { - if (name == null || unit == null) { - return this; - } - if (attributes == null) { - attributes = Attributes.empty(); - } - int totalAttributeCount = attributes.size(); - addTimedEvent( - EventData.create( - unit.toNanos(timestamp), - name, - AttributeUtil.applyAttributesLimit( - attributes, - spanLimits.getMaxNumberOfAttributesPerEvent(), - spanLimits.getMaxAttributeValueLength()), - totalAttributeCount)); - return this; - } - - private void addTimedEvent(EventData timedEvent) { - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling addEvent() on an ended Span."); - return; - } - if (events == null) { - events = new ArrayList<>(); - } - if (events.size() < spanLimits.getMaxNumberOfEvents()) { - events.add(timedEvent); - } - totalRecordedEvents++; - } - } - - @Override - public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String description) { - if (statusCode == null) { - return this; // No action if statusCode is null - } - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling setStatus() on an ended Span."); - return this; // Prevent modification if the span has ended - } - - // Check the current status and enforce priority rules - StatusCode currentStatusCode = this.status.getStatusCode(); - - // Prevent setting a lower priority status - if (currentStatusCode == StatusCode.OK) { - logger.log(Level.FINE, "Calling setStatus() on a Span that is already set to OK."); - return this; // Do not allow lower priority status to override OK - } else if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { - logger.log(Level.FINE, "Cannot set status to UNSET when current status is ERROR."); - return this; // Do not allow UNSET to override ERROR - } - - // Set the status, ignoring description if status is not ERROR - if (statusCode == StatusCode.ERROR) { - this.status = StatusData.create(statusCode, description); // Allow description for ERROR - } else { - this.status = StatusData.create(statusCode, null); // Ignore description for non-ERROR statuses - } - } - return this; // Return the current span for method chaining - } - - @Override - public ReadWriteSpan recordException(Throwable exception) { - recordException(exception, Attributes.empty()); - return this; - } - - @Override - public ReadWriteSpan recordException(Throwable exception, Attributes additionalAttributes) { - if (exception == null) { - return this; - } - if (additionalAttributes == null) { - additionalAttributes = Attributes.empty(); - } - - addTimedEvent( - ExceptionEventData.create(spanLimits, clock.now(), exception, additionalAttributes)); - return this; - } - - @Override - public ReadWriteSpan updateName(String name) { - if (name == null) { - return this; - } - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling updateName() on an ended Span."); - return this; - } - this.name = name; - } - return this; - } - - @Override - public Span addLink(SpanContext spanContext, Attributes attributes) { - if (spanContext == null || !spanContext.isValid()) { - return this; - } - if (attributes == null) { - attributes = Attributes.empty(); - } - LinkData link = - LinkData.create( - spanContext, - AttributeUtil.applyAttributesLimit( - attributes, - spanLimits.getMaxNumberOfAttributesPerLink(), - spanLimits.getMaxAttributeValueLength())); - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling addLink() on an ended Span."); - return this; - } - if (links == null) { - links = new ArrayList<>(); - } - if (links.size() < spanLimits.getMaxNumberOfLinks()) { - links.add(link); - } - totalRecordedLinks++; - } - return this; - } - - @Override - public void end() { - endInternal(clock.now()); - } - - @Override - public void end(long timestamp, TimeUnit unit) { - if (unit == null) { - unit = TimeUnit.NANOSECONDS; - } - endInternal(timestamp == 0 ? clock.now() : unit.toNanos(timestamp)); - } - - private void endInternal(long endEpochNanos) { - synchronized (lock) { - if (hasEnded != EndState.NOT_ENDED) { - logger.log(Level.FINE, "Calling end() on an ended or ending Span."); - return; - } - this.endEpochNanos = endEpochNanos; - spanEndingThread = Thread.currentThread(); - hasEnded = EndState.ENDING; - } - if (spanProcessor instanceof ExtendedSpanProcessor) { - ExtendedSpanProcessor extendedSpanProcessor = (ExtendedSpanProcessor) spanProcessor; - if (extendedSpanProcessor.isOnEndingRequired()) { - extendedSpanProcessor.onEnding(this); - } - } - synchronized (lock) { - hasEnded = EndState.ENDED; - } - if (spanProcessor.isEndRequired()) { - spanProcessor.onEnd(this); - } - } - - @Override - public boolean isRecording() { - synchronized (lock) { - return hasEnded != EndState.ENDED; - } - } - - Resource getResource() { - return resource; - } - - @Override - public SpanKind getKind() { - return kind; - } - - long getStartEpochNanos() { - return startEpochNanos; - } - - @GuardedBy("lock") - private List getImmutableTimedEvents() { - if (events == null) { - return Collections.emptyList(); - } - - // if the span has ended, then the events are unmodifiable - // so we can return them directly and save copying all the data. - if (hasEnded == EndState.ENDED) { - return Collections.unmodifiableList(events); - } - - return Collections.unmodifiableList(new ArrayList<>(events)); - } - - @GuardedBy("lock") - private Attributes getImmutableAttributes() { - if (attributes == null || attributes.isEmpty()) { - return Attributes.empty(); - } - // if the span has ended, then the attributes are unmodifiable, - // so we can return them directly and save copying all the data. - if (hasEnded == EndState.ENDED) { - return attributes; - } - // otherwise, make a copy of the data into an immutable container. - return attributes.immutableCopy(); - } - - @GuardedBy("lock") - private List getImmutableLinks() { - if (links == null || links.isEmpty()) { - return Collections.emptyList(); - } - return Collections.unmodifiableList(links); - } - - @Override - public String toString() { - String name; - String attributes; - String status; - long totalRecordedEvents; - long endEpochNanos; - long totalRecordedLinks; - synchronized (lock) { - name = this.name; - attributes = String.valueOf(this.attributes); - status = String.valueOf(this.status); - totalRecordedEvents = this.totalRecordedEvents; - endEpochNanos = this.endEpochNanos; - totalRecordedLinks = this.totalRecordedLinks; - } - return "SdkSpan{traceId=" - + context.getTraceId() - + ", spanId=" - + context.getSpanId() - + ", parentSpanContext=" - + parentSpanContext - + ", name=" - + name - + ", kind=" - + kind - + ", attributes=" - + attributes - + ", status=" - + status - + ", totalRecordedEvents=" - + totalRecordedEvents - + ", totalRecordedLinks=" - + totalRecordedLinks - + ", startEpochNanos=" - + startEpochNanos - + ", endEpochNanos=" - + endEpochNanos - + "}"; - } + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling setStatus() on an ended Span."); + return this; // Prevent modification if the span has ended + } + + // Check the current status and enforce priority rules + StatusCode currentStatusCode = this.status.getStatusCode(); + + // Prevent setting a lower priority status + if (currentStatusCode == StatusCode.OK) { + return this; // Do not allow lower priority status to override OK + } else if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { + logger.log(Level.WARNING, "Cannot set status to UNSET when current status is ERROR."); + return this; // Do not allow UNSET to override ERROR + } + + // Set the status, ignoring description if status is not ERROR + if (statusCode == StatusCode.ERROR) { + this.status = StatusData.create(statusCode, description); // Allow description for ERROR + } else { + if (currentStatusCode != statusCode) { + this.status = StatusData.create(statusCode, null); // Ignore description for non-ERROR statuses + } + } + } + return this; // Return the current span for method chaining } + + @Override + public ReadWriteSpan recordException(Throwable exception) { + recordException(exception, Attributes.empty()); + return this; + } + + @Override + public ReadWriteSpan recordException(Throwable exception, Attributes additionalAttributes) { + if (exception == null) { + return this; + } + if (additionalAttributes == null) { + additionalAttributes = Attributes.empty(); + } + + addTimedEvent( + ExceptionEventData.create(spanLimits, clock.now(), exception, additionalAttributes)); + return this; + } + + @Override + public ReadWriteSpan updateName(String name) { + if (name == null) { + return this; + } + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling updateName() on an ended Span."); + return this; + } + this.name = name; + } + return this; + } + + @Override + public Span addLink(SpanContext spanContext, Attributes attributes) { + if (spanContext == null || !spanContext.isValid()) { + return this; + } + if (attributes == null) { + attributes = Attributes.empty(); + } + LinkData link = + LinkData.create( + spanContext, + AttributeUtil.applyAttributesLimit( + attributes, + spanLimits.getMaxNumberOfAttributesPerLink(), + spanLimits.getMaxAttributeValueLength())); + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling addLink() on an ended Span."); + return this; + } + if (links == null) { + links = new ArrayList<>(); + } + if (links.size() < spanLimits.getMaxNumberOfLinks()) { + links.add(link); + } + totalRecordedLinks++; + } + return this; + } + + @Override + public void end() { + endInternal(clock.now()); + } + + @Override + public void end(long timestamp, TimeUnit unit) { + if (unit == null) { + unit = TimeUnit.NANOSECONDS; + } + endInternal(timestamp == 0 ? clock.now() : unit.toNanos(timestamp)); + } + + private void endInternal(long endEpochNanos) { + synchronized (lock) { + if (hasEnded != EndState.NOT_ENDED) { + logger.log(Level.FINE, "Calling end() on an ended or ending Span."); + return; + } + this.endEpochNanos = endEpochNanos; + spanEndingThread = Thread.currentThread(); + hasEnded = EndState.ENDING; + } + if (spanProcessor instanceof ExtendedSpanProcessor) { + ExtendedSpanProcessor extendedSpanProcessor = (ExtendedSpanProcessor) spanProcessor; + if (extendedSpanProcessor.isOnEndingRequired()) { + extendedSpanProcessor.onEnding(this); + } + } + synchronized (lock) { + hasEnded = EndState.ENDED; + } + if (spanProcessor.isEndRequired()) { + spanProcessor.onEnd(this); + } + } + + @Override + public boolean isRecording() { + synchronized (lock) { + return hasEnded != EndState.ENDED; + } + } + + Resource getResource() { + return resource; + } + + @Override + public SpanKind getKind() { + return kind; + } + + long getStartEpochNanos() { + return startEpochNanos; + } + + @GuardedBy("lock") + private List getImmutableTimedEvents() { + if (events == null) { + return Collections.emptyList(); + } + + // if the span has ended, then the events are unmodifiable + // so we can return them directly and save copying all the data. + if (hasEnded == EndState.ENDED) { + return Collections.unmodifiableList(events); + } + + return Collections.unmodifiableList(new ArrayList<>(events)); + } + + @GuardedBy("lock") + private Attributes getImmutableAttributes() { + if (attributes == null || attributes.isEmpty()) { + return Attributes.empty(); + } + // if the span has ended, then the attributes are unmodifiable, + // so we can return them directly and save copying all the data. + if (hasEnded == EndState.ENDED) { + return attributes; + } + // otherwise, make a copy of the data into an immutable container. + return attributes.immutableCopy(); + } + + @GuardedBy("lock") + private List getImmutableLinks() { + if (links == null || links.isEmpty()) { + return Collections.emptyList(); + } + return Collections.unmodifiableList(links); + } + + @Override + public String toString() { + String name; + String attributes; + String status; + long totalRecordedEvents; + long endEpochNanos; + long totalRecordedLinks; + synchronized (lock) { + name = this.name; + attributes = String.valueOf(this.attributes); + status = String.valueOf(this.status); + totalRecordedEvents = this.totalRecordedEvents; + endEpochNanos = this.endEpochNanos; + totalRecordedLinks = this.totalRecordedLinks; + } + return "SdkSpan{traceId=" + + context.getTraceId() + + ", spanId=" + + context.getSpanId() + + ", parentSpanContext=" + + parentSpanContext + + ", name=" + + name + + ", kind=" + + kind + + ", attributes=" + + attributes + + ", status=" + + status + + ", totalRecordedEvents=" + + totalRecordedEvents + + ", totalRecordedLinks=" + + totalRecordedLinks + + ", startEpochNanos=" + + startEpochNanos + + ", endEpochNanos=" + + endEpochNanos + + "}"; + } + } \ No newline at end of file From a9fb9156b43a979bf87f21282b4363b352eb5d85 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 24 Oct 2024 16:44:46 +0100 Subject: [PATCH 03/19] Fixed and adjusted the following. *Gradle build in build.gradle.kts had failed during spotless check because the plugin org.graalvm.buildtools.native was not found -Solution: I have applied a plugin and made it work *spotlessJavaCheck task failed because certain files did not conform to the formatting rules defined in the Spotless configuration -Solution: Initiated an auto fix using ./gradlew :sdk:trace:spotlessApply *Lastly as requested i initiated ./gradlew spotlessApply to ensure a consist code formating and the build was successful with no errors! Relate to #6797 --- buildSrc/build.gradle.kts | 108 +- hs_err_pid13224.log | 854 +++++++++++ .../io/opentelemetry/sdk/trace/SdkSpan.java | 1277 +++++++++-------- 3 files changed, 1543 insertions(+), 696 deletions(-) create mode 100644 hs_err_pid13224.log diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index e2e5e3e1ebe..09b2d6644e4 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,79 +1,71 @@ plugins { - `kotlin-dsl` - - // When updating, update below in dependencies too - id("com.diffplug.spotless") version "6.25.0" + `kotlin-dsl` + // When updating, update below in dependencies too + id("com.diffplug.spotless") version "6.25.0" } if (!hasLauncherForJavaVersion(17)) { - throw GradleException( - "JDK 17 is required to build and gradle was unable to detect it on the system. " + - "Please install it and see https://docs.gradle.org/current/userguide/toolchains.html#sec:auto_detection " + - "for details on how gradle detects java toolchains." - ) + throw GradleException( + "JDK 17 is required to build and gradle was unable to detect it on the system. " + + "Please install it and see https://docs.gradle.org/current/userguide/toolchains.html#sec:auto_detection " + + "for details on how gradle detects java toolchains." + ) } fun hasLauncherForJavaVersion(version: Int): Boolean { - return try { - javaToolchains.launcherFor { languageVersion = JavaLanguageVersion.of(version) }.get() - true - } catch (e: Exception) { - false - } + return try { + javaToolchains.launcherFor { languageVersion.set(JavaLanguageVersion.of(version)) }.get() + true + } catch (e: Exception) { + false + } } spotless { - kotlinGradle { - ktlint().editorConfigOverride(mapOf( - "indent_size" to "2", - "continuation_indent_size" to "2", - "max_line_length" to "160", - "insert_final_newline" to "true", - "ktlint_standard_no-wildcard-imports" to "disabled", - // ktlint does not break up long lines, it just fails on them - "ktlint_standard_max-line-length" to "disabled", - // ktlint makes it *very* hard to locate where this actually happened - "ktlint_standard_trailing-comma-on-call-site" to "disabled", - // depends on ktlint_standard_wrapping - "ktlint_standard_trailing-comma-on-declaration-site" to "disabled", - // also very hard to find out where this happens - "ktlint_standard_wrapping" to "disabled" - )) - target("**/*.gradle.kts") - } + kotlinGradle { + ktlint().editorConfigOverride(mapOf( + "indent_size" to "2", + "continuation_indent_size" to "2", + "max_line_length" to "160", + "insert_final_newline" to "true", + "ktlint_standard_no-wildcard-imports" to "disabled", + "ktlint_standard_max-line-length" to "disabled", + "ktlint_standard_trailing-comma-on-call-site" to "disabled", + "ktlint_standard_trailing-comma-on-declaration-site" to "disabled", + "ktlint_standard_wrapping" to "disabled" + )) + target("**/*.gradle.kts") + } } repositories { - mavenCentral() - gradlePluginPortal() - mavenLocal() + mavenCentral() + gradlePluginPortal() + mavenLocal() } dependencies { - implementation(enforcedPlatform("com.squareup.wire:wire-bom:5.1.0")) - implementation("com.google.auto.value:auto-value-annotations:1.11.0") - // When updating, update above in plugins too - implementation("com.diffplug.spotless:spotless-plugin-gradle:6.25.0") - // Needed for japicmp but not automatically brought in for some reason. - implementation("com.google.guava:guava:33.3.1-jre") - implementation("com.squareup:javapoet:1.13.0") - implementation("com.squareup.wire:wire-compiler") - implementation("com.squareup.wire:wire-gradle-plugin") - implementation("gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.18") - implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6") - implementation("me.champeau.gradle:japicmp-gradle-plugin:0.4.3") - implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.2") - implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.0.1") - implementation("net.ltgt.gradle:gradle-nullaway-plugin:2.0.0") - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21") - implementation("org.owasp:dependency-check-gradle:10.0.4") - implementation("ru.vyarus:gradle-animalsniffer-plugin:1.7.1") + implementation(enforcedPlatform("com.squareup.wire:wire-bom:5.1.0")) + implementation("com.google.auto.value:auto-value-annotations:1.11.0") + implementation("com.diffplug.spotless:spotless-plugin-gradle:6.25.0") + implementation("com.google.guava:guava:33.3.1-jre") + implementation("com.squareup:javapoet:1.13.0") + implementation("com.squareup.wire:wire-compiler") + implementation("com.squareup.wire:wire-gradle-plugin") + implementation("gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.18") + implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6") + implementation("me.champeau.gradle:japicmp-gradle-plugin:0.4.3") + implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.2") + implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.0.1") + implementation("net.ltgt.gradle:gradle-nullaway-plugin:2.0.0") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21") + implementation("org.owasp:dependency-check-gradle:10.0.4") + implementation("ru.vyarus:gradle-animalsniffer-plugin:1.7.1") } // We can't apply conventions to this build so include important ones such as the Java compilation -// target. java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) - } + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } } diff --git a/hs_err_pid13224.log b/hs_err_pid13224.log new file mode 100644 index 00000000000..c3c9a2fd639 --- /dev/null +++ b/hs_err_pid13224.log @@ -0,0 +1,854 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (mmap) failed to map 26214400 bytes. Error detail: G1 virtual space +# Possible reasons: +# The system is out of physical RAM or swap space +# This process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Unscaled Compressed Oops mode in which the Java heap is +# placed in the first 4GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 4GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (os_windows.cpp:3614), pid=13224, tid=8 +# +# JRE version: OpenJDK Runtime Environment (Red_Hat-17.0.13.0+11-1) (17.0.13+11) (build 17.0.13+11-LTS) +# Java VM: OpenJDK 64-Bit Server VM (Red_Hat-17.0.13.0+11-1) (17.0.13+11-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) +# No core dump will be written. Minidumps are not enabled by default on client versions of Windows +# + +--------------- S U M M A R Y ------------ + +Command Line: -XX:MaxMetaspaceSize=512m --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -javaagent:C:\Users\LENOVO YOGA\.gradle\wrapper\dists\gradle-8.10.2-bin\a04bxjujx95o3nb99gddekhwo\gradle-8.10.2\lib\agents\gradle-instrumentation-agent-8.10.2.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.10.2 + +Host: Intel(R) Pentium(R) CPU 4405U @ 2.10GHz, 4 cores, 7G, Windows 11 , 64 bit Build 22000 (10.0.22000.2538) +Time: Thu Oct 24 04:34:02 2024 W. Central Africa Standard Time elapsed time: 51.466991 seconds (0d 0h 0m 51s) + +--------------- T H R E A D --------------- + +Current thread (0x00000122b0eff900): VMThread "VM Thread" [stack: 0x000000122be00000,0x000000122bf00000] [id=8] + +Stack: [0x000000122be00000,0x000000122bf00000] +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x681019] +V [jvm.dll+0x838b6a] +V [jvm.dll+0x83a62e] +V [jvm.dll+0x83ac93] +V [jvm.dll+0x24858f] +V [jvm.dll+0x67dd59] +V [jvm.dll+0x67282a] +V [jvm.dll+0x30852b] +V [jvm.dll+0x30fa26] +V [jvm.dll+0x35fd2e] +V [jvm.dll+0x35ff6f] +V [jvm.dll+0x2df4dc] +V [jvm.dll+0x2dd89f] +V [jvm.dll+0x2dcfcc] +V [jvm.dll+0x32075b] +V [jvm.dll+0x83f18d] +V [jvm.dll+0x83fed2] +V [jvm.dll+0x8403ff] +V [jvm.dll+0x8407e4] +V [jvm.dll+0x8408b0] +V [jvm.dll+0x7e7e2c] +V [jvm.dll+0x67fee7] +C [ucrtbase.dll+0x26c0c] +C [KERNEL32.DLL+0x153e0] +C [ntdll.dll+0x485b] + +VM_Operation (0x000000122d5f3ce0): G1CollectForAllocation, mode: safepoint, requested by thread 0x00000122d1170900 + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x00000122d2e5dce0, length=35, elements={ +0x000001229308c830, 0x00000122b0f056b0, 0x00000122b0f06330, 0x00000122b0f1e920, +0x00000122b0f202f0, 0x00000122b0f20cb0, 0x00000122b0f221e0, 0x00000122b0f28300, +0x00000122b0f2b930, 0x00000122b0f54f10, 0x00000122d01ac3f0, 0x00000122d027a2b0, +0x00000122d1a34440, 0x00000122d054fa30, 0x00000122d04fb890, 0x00000122d1973a30, +0x00000122d1974720, 0x00000122d11703f0, 0x00000122d1170900, 0x00000122d1172760, +0x00000122d1170e10, 0x00000122d116f9d0, 0x00000122d1171830, 0x00000122d1171320, +0x00000122d1171d40, 0x00000122d116efb0, 0x00000122d1172250, 0x00000122d116f4c0, +0x00000122d116fee0, 0x00000122d1bf6600, 0x00000122d1bf9db0, 0x00000122d1bf7f50, +0x00000122d1bf7a40, 0x00000122d1bfa2c0, 0x00000122d1bf5be0 +} + +Java Threads: ( => current thread ) + 0x000001229308c830 JavaThread "main" [_thread_blocked, id=13160, stack(0x000000122b800000,0x000000122b900000)] + 0x00000122b0f056b0 JavaThread "Reference Handler" daemon [_thread_blocked, id=15508, stack(0x000000122bf00000,0x000000122c000000)] + 0x00000122b0f06330 JavaThread "Finalizer" daemon [_thread_blocked, id=15848, stack(0x000000122c000000,0x000000122c100000)] + 0x00000122b0f1e920 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4532, stack(0x000000122c100000,0x000000122c200000)] + 0x00000122b0f202f0 JavaThread "Attach Listener" daemon [_thread_blocked, id=12192, stack(0x000000122c200000,0x000000122c300000)] + 0x00000122b0f20cb0 JavaThread "Service Thread" daemon [_thread_blocked, id=13604, stack(0x000000122c300000,0x000000122c400000)] + 0x00000122b0f221e0 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=8596, stack(0x000000122c400000,0x000000122c500000)] + 0x00000122b0f28300 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=3332, stack(0x000000122c500000,0x000000122c600000)] + 0x00000122b0f2b930 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=11860, stack(0x000000122c600000,0x000000122c700000)] + 0x00000122b0f54f10 JavaThread "Sweeper thread" daemon [_thread_blocked, id=12392, stack(0x000000122c700000,0x000000122c800000)] + 0x00000122d01ac3f0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=12784, stack(0x000000122c800000,0x000000122c900000)] + 0x00000122d027a2b0 JavaThread "Notification Thread" daemon [_thread_blocked, id=3964, stack(0x000000122c900000,0x000000122ca00000)] + 0x00000122d1a34440 JavaThread "Daemon health stats" [_thread_blocked, id=14900, stack(0x000000122cf00000,0x000000122d000000)] + 0x00000122d054fa30 JavaThread "Incoming local TCP Connector on port 53329" [_thread_in_native, id=1920, stack(0x000000122d000000,0x000000122d100000)] + 0x00000122d04fb890 JavaThread "Daemon periodic checks" [_thread_blocked, id=1244, stack(0x000000122d100000,0x000000122d200000)] + 0x00000122d1973a30 JavaThread "Daemon" [_thread_blocked, id=11828, stack(0x000000122d200000,0x000000122d300000)] + 0x00000122d1974720 JavaThread "Handler for socket connection from /127.0.0.1:53329 to /127.0.0.1:53331" [_thread_in_native, id=4296, stack(0x000000122d300000,0x000000122d400000)] + 0x00000122d11703f0 JavaThread "Cancel handler" [_thread_blocked, id=14160, stack(0x000000122d400000,0x000000122d500000)] + 0x00000122d1170900 JavaThread "Daemon worker" [_thread_blocked, id=13688, stack(0x000000122d500000,0x000000122d600000)] + 0x00000122d1172760 JavaThread "Asynchronous log dispatcher for DefaultDaemonConnection: socket connection from /127.0.0.1:53329 to /127.0.0.1:53331" [_thread_blocked, id=14172, stack(0x000000122d600000,0x000000122d700000)] + 0x00000122d1170e10 JavaThread "Stdin handler" [_thread_blocked, id=8952, stack(0x000000122d700000,0x000000122d800000)] + 0x00000122d116f9d0 JavaThread "Daemon client event forwarder" [_thread_blocked, id=13476, stack(0x000000122d800000,0x000000122d900000)] + 0x00000122d1171830 JavaThread "Cache worker for journal cache (C:\Users\LENOVO YOGA\.gradle\caches\journal-1)" [_thread_blocked, id=5892, stack(0x000000122d900000,0x000000122da00000)] + 0x00000122d1171320 JavaThread "File lock request listener" [_thread_in_native, id=6952, stack(0x000000122da00000,0x000000122db00000)] + 0x00000122d1171d40 JavaThread "Cache worker for file hash cache (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\fileHashes)" [_thread_blocked, id=15248, stack(0x000000122db00000,0x000000122dc00000)] + 0x00000122d116efb0 JavaThread "Cache worker for file hash cache (C:\Users\LENOVO YOGA\opentelemetry-java2\.gradle\8.10.2\fileHashes)" [_thread_blocked, id=16420, stack(0x000000122dc00000,0x000000122dd00000)] + 0x00000122d1172250 JavaThread "Cache worker for Build Output Cleanup Cache (C:\Users\LENOVO YOGA\opentelemetry-java2\.gradle\buildOutputCleanup)" [_thread_blocked, id=16424, stack(0x000000122dd00000,0x000000122de00000)] + 0x00000122d116f4c0 JavaThread "Cache worker for Build Output Cleanup Cache (C:\Users\LENOVO YOGA\opentelemetry-java2\buildSrc\.gradle\buildOutputCleanup)" [_thread_blocked, id=16428, stack(0x000000122de00000,0x000000122df00000)] + 0x00000122d116fee0 JavaThread "File watcher server" daemon [_thread_in_native, id=16432, stack(0x000000122df00000,0x000000122e000000)] + 0x00000122d1bf6600 JavaThread "File watcher consumer" daemon [_thread_blocked, id=16436, stack(0x000000122e000000,0x000000122e100000)] + 0x00000122d1bf9db0 JavaThread "Cache worker for checksums cache (C:\Users\LENOVO YOGA\opentelemetry-java2\.gradle\8.10.2\checksums)" [_thread_blocked, id=16444, stack(0x000000122e100000,0x000000122e200000)] + 0x00000122d1bf7f50 JavaThread "Cache worker for file content cache (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\fileContent)" [_thread_blocked, id=16448, stack(0x000000122e200000,0x000000122e300000)] + 0x00000122d1bf7a40 JavaThread "Cache worker for cache directory md-rule (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\md-rule)" [_thread_blocked, id=16452, stack(0x000000122e300000,0x000000122e400000)] + 0x00000122d1bfa2c0 JavaThread "Cache worker for cache directory md-supplier (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\md-supplier)" [_thread_blocked, id=16456, stack(0x000000122e400000,0x000000122e500000)] + 0x00000122d1bf5be0 JavaThread "File lock release action executor" [_thread_blocked, id=16540, stack(0x000000122e600000,0x000000122e700000)] + +Other Threads: +=>0x00000122b0eff900 VMThread "VM Thread" [stack: 0x000000122be00000,0x000000122bf00000] [id=8] + 0x000001229308d6b0 WatcherThread [stack: 0x000000122ca00000,0x000000122cb00000] [id=7568] + 0x00000122930e5bc0 GCTaskThread "GC Thread#0" [stack: 0x000000122b900000,0x000000122ba00000] [id=6064] + 0x00000122d02a9eb0 GCTaskThread "GC Thread#1" [stack: 0x000000122cb00000,0x000000122cc00000] [id=10524] + 0x00000122d04fec00 GCTaskThread "GC Thread#2" [stack: 0x000000122cc00000,0x000000122cd00000] [id=13884] + 0x00000122d08c1b90 GCTaskThread "GC Thread#3" [stack: 0x000000122cd00000,0x000000122ce00000] [id=14068] + 0x00000122930f58d0 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000122ba00000,0x000000122bb00000] [id=8028] + 0x00000122930f61f0 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000122bb00000,0x000000122bc00000] [id=8156] + 0x000001229312df10 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000122bc00000,0x000000122bd00000] [id=9704] + 0x00000122d0a4f050 ConcurrentGCThread "G1 Refine#1" [stack: 0x000000122ce00000,0x000000122cf00000] [id=4192] + 0x00000122d35f8070 ConcurrentGCThread "G1 Refine#2" [stack: 0x000000122e500000,0x000000122e600000] [id=16504] + 0x000001229312ec10 ConcurrentGCThread "G1 Service" [stack: 0x000000122bd00000,0x000000122be00000] [id=14800] + +Threads with active compile tasks: + +VM state: at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x0000012293089400] Threads_lock - owner thread: 0x00000122b0eff900 +[0x00000122930896d0] Heap_lock - owner thread: 0x00000122d1170900 + +Heap address: 0x0000000088a00000, size: 1910 MB, Compressed Oops mode: 32-bit + +CDS archive(s) mapped at: [0x00000122b1000000-0x00000122b1bb0000-0x00000122b1bb0000), size 12255232, SharedBaseAddress: 0x00000122b1000000, ArchiveRelocationMode: 1. +Compressed class space mapped at: 0x00000122b2000000-0x00000122cc000000, reserved size: 436207616 +Narrow klass base: 0x00000122b1000000, Narrow klass shift: 0, Narrow klass range: 0x100000000 + +GC Precious Log: + CPUs: 4 total, 4 available + Memory: 7633M + Large Page Support: Disabled + NUMA Support: Disabled + Compressed Oops: Enabled (32-bit) + Heap Region Size: 1M + Heap Min Capacity: 8M + Heap Initial Capacity: 120M + Heap Max Capacity: 1910M + Pre-touch: Disabled + Parallel Workers: 4 + Concurrent Workers: 1 + Concurrent Refinement Workers: 4 + Periodic GC: Disabled + +Heap: + garbage-first heap total 128000K, used 71808K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 2 young (2048K), 2 survivors (2048K) + Metaspace used 90440K, committed 91008K, reserved 557056K + class space used 11560K, committed 11840K, reserved 425984K + +Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next) +| 0|0x0000000088a00000, 0x0000000088b00000, 0x0000000088b00000|100%|HS| |TAMS 0x0000000088b00000, 0x0000000088b00000| Complete +| 1|0x0000000088b00000, 0x0000000088c00000, 0x0000000088c00000|100%|HC| |TAMS 0x0000000088c00000, 0x0000000088c00000| Complete +| 2|0x0000000088c00000, 0x0000000088d00000, 0x0000000088d00000|100%|HC| |TAMS 0x0000000088d00000, 0x0000000088d00000| Complete +| 3|0x0000000088d00000, 0x0000000088e00000, 0x0000000088e00000|100%|HC| |TAMS 0x0000000088e00000, 0x0000000088e00000| Complete +| 4|0x0000000088e00000, 0x0000000088f00000, 0x0000000088f00000|100%| O| |TAMS 0x0000000088f00000, 0x0000000088f00000| Untracked +| 5|0x0000000088f00000, 0x0000000089000000, 0x0000000089000000|100%| O| |TAMS 0x0000000089000000, 0x0000000089000000| Untracked +| 6|0x0000000089000000, 0x0000000089100000, 0x0000000089100000|100%| O| |TAMS 0x0000000089100000, 0x0000000089100000| Untracked +| 7|0x0000000089100000, 0x0000000089200000, 0x0000000089200000|100%| O| |TAMS 0x0000000089200000, 0x0000000089200000| Untracked +| 8|0x0000000089200000, 0x0000000089300000, 0x0000000089300000|100%|HS| |TAMS 0x0000000089300000, 0x0000000089300000| Complete +| 9|0x0000000089300000, 0x0000000089400000, 0x0000000089400000|100%| O| |TAMS 0x0000000089400000, 0x0000000089400000| Untracked +| 10|0x0000000089400000, 0x0000000089500000, 0x0000000089500000|100%| O| |TAMS 0x0000000089500000, 0x0000000089500000| Untracked +| 11|0x0000000089500000, 0x0000000089600000, 0x0000000089600000|100%| O| |TAMS 0x0000000089600000, 0x0000000089600000| Untracked +| 12|0x0000000089600000, 0x0000000089700000, 0x0000000089700000|100%| O| |TAMS 0x0000000089700000, 0x0000000089700000| Untracked +| 13|0x0000000089700000, 0x0000000089800000, 0x0000000089800000|100%| O| |TAMS 0x0000000089800000, 0x0000000089800000| Untracked +| 14|0x0000000089800000, 0x0000000089900000, 0x0000000089900000|100%| O| |TAMS 0x0000000089900000, 0x0000000089900000| Untracked +| 15|0x0000000089900000, 0x0000000089a00000, 0x0000000089a00000|100%| O| |TAMS 0x0000000089a00000, 0x0000000089a00000| Untracked +| 16|0x0000000089a00000, 0x0000000089b00000, 0x0000000089b00000|100%| O| |TAMS 0x0000000089b00000, 0x0000000089b00000| Untracked +| 17|0x0000000089b00000, 0x0000000089c00000, 0x0000000089c00000|100%| O| |TAMS 0x0000000089c00000, 0x0000000089c00000| Untracked +| 18|0x0000000089c00000, 0x0000000089d00000, 0x0000000089d00000|100%| O| |TAMS 0x0000000089d00000, 0x0000000089d00000| Untracked +| 19|0x0000000089d00000, 0x0000000089e00000, 0x0000000089e00000|100%| O| |TAMS 0x0000000089e00000, 0x0000000089e00000| Untracked +| 20|0x0000000089e00000, 0x0000000089f00000, 0x0000000089f00000|100%| O| |TAMS 0x0000000089f00000, 0x0000000089f00000| Untracked +| 21|0x0000000089f00000, 0x000000008a000000, 0x000000008a000000|100%| O| |TAMS 0x000000008a000000, 0x000000008a000000| Untracked +| 22|0x000000008a000000, 0x000000008a100000, 0x000000008a100000|100%| O| |TAMS 0x000000008a100000, 0x000000008a100000| Untracked +| 23|0x000000008a100000, 0x000000008a200000, 0x000000008a200000|100%| O| |TAMS 0x000000008a200000, 0x000000008a200000| Untracked +| 24|0x000000008a200000, 0x000000008a300000, 0x000000008a300000|100%| O| |TAMS 0x000000008a300000, 0x000000008a300000| Untracked +| 25|0x000000008a300000, 0x000000008a400000, 0x000000008a400000|100%| O| |TAMS 0x000000008a400000, 0x000000008a400000| Untracked +| 26|0x000000008a400000, 0x000000008a500000, 0x000000008a500000|100%| O| |TAMS 0x000000008a500000, 0x000000008a500000| Untracked +| 27|0x000000008a500000, 0x000000008a600000, 0x000000008a600000|100%| O| |TAMS 0x000000008a600000, 0x000000008a600000| Untracked +| 28|0x000000008a600000, 0x000000008a700000, 0x000000008a700000|100%| O| |TAMS 0x000000008a700000, 0x000000008a700000| Untracked +| 29|0x000000008a700000, 0x000000008a800000, 0x000000008a800000|100%| O| |TAMS 0x000000008a800000, 0x000000008a800000| Untracked +| 30|0x000000008a800000, 0x000000008a900000, 0x000000008a900000|100%| O| |TAMS 0x000000008a900000, 0x000000008a900000| Untracked +| 31|0x000000008a900000, 0x000000008aa00000, 0x000000008aa00000|100%|HS| |TAMS 0x000000008aa00000, 0x000000008aa00000| Complete +| 32|0x000000008aa00000, 0x000000008ab00000, 0x000000008ab00000|100%|HC| |TAMS 0x000000008ab00000, 0x000000008ab00000| Complete +| 33|0x000000008ab00000, 0x000000008ac00000, 0x000000008ac00000|100%|HC| |TAMS 0x000000008ac00000, 0x000000008ac00000| Complete +| 34|0x000000008ac00000, 0x000000008ad00000, 0x000000008ad00000|100%|HC| |TAMS 0x000000008ad00000, 0x000000008ad00000| Complete +| 35|0x000000008ad00000, 0x000000008ae00000, 0x000000008ae00000|100%|HC| |TAMS 0x000000008ae00000, 0x000000008ae00000| Complete +| 36|0x000000008ae00000, 0x000000008af00000, 0x000000008af00000|100%|HC| |TAMS 0x000000008af00000, 0x000000008af00000| Complete +| 37|0x000000008af00000, 0x000000008b000000, 0x000000008b000000|100%| O| |TAMS 0x000000008b000000, 0x000000008b000000| Untracked +| 38|0x000000008b000000, 0x000000008b100000, 0x000000008b100000|100%| O| |TAMS 0x000000008b100000, 0x000000008b100000| Untracked +| 39|0x000000008b100000, 0x000000008b200000, 0x000000008b200000|100%| O| |TAMS 0x000000008b200000, 0x000000008b200000| Untracked +| 40|0x000000008b200000, 0x000000008b300000, 0x000000008b300000|100%| O| |TAMS 0x000000008b300000, 0x000000008b300000| Untracked +| 41|0x000000008b300000, 0x000000008b400000, 0x000000008b400000|100%|HS| |TAMS 0x000000008b400000, 0x000000008b400000| Complete +| 42|0x000000008b400000, 0x000000008b500000, 0x000000008b500000|100%| O| |TAMS 0x000000008b500000, 0x000000008b500000| Untracked +| 43|0x000000008b500000, 0x000000008b600000, 0x000000008b600000|100%| O| |TAMS 0x000000008b600000, 0x000000008b600000| Untracked +| 44|0x000000008b600000, 0x000000008b700000, 0x000000008b700000|100%| O| |TAMS 0x000000008b700000, 0x000000008b700000| Untracked +| 45|0x000000008b700000, 0x000000008b800000, 0x000000008b800000|100%| O| |TAMS 0x000000008b800000, 0x000000008b800000| Untracked +| 46|0x000000008b800000, 0x000000008b900000, 0x000000008b900000|100%| O| |TAMS 0x000000008b900000, 0x000000008b900000| Untracked +| 47|0x000000008b900000, 0x000000008ba00000, 0x000000008ba00000|100%| O| |TAMS 0x000000008ba00000, 0x000000008ba00000| Untracked +| 48|0x000000008ba00000, 0x000000008bb00000, 0x000000008bb00000|100%| O| |TAMS 0x000000008bb00000, 0x000000008bb00000| Untracked +| 49|0x000000008bb00000, 0x000000008bc00000, 0x000000008bc00000|100%| O| |TAMS 0x000000008bc00000, 0x000000008bc00000| Untracked +| 50|0x000000008bc00000, 0x000000008bd00000, 0x000000008bd00000|100%| O| |TAMS 0x000000008bd00000, 0x000000008bd00000| Untracked +| 51|0x000000008bd00000, 0x000000008be00000, 0x000000008be00000|100%| O| |TAMS 0x000000008be00000, 0x000000008be00000| Untracked +| 52|0x000000008be00000, 0x000000008bf00000, 0x000000008bf00000|100%| O| |TAMS 0x000000008bf00000, 0x000000008bf00000| Untracked +| 53|0x000000008bf00000, 0x000000008c000000, 0x000000008c000000|100%| O| |TAMS 0x000000008c000000, 0x000000008c000000| Untracked +| 54|0x000000008c000000, 0x000000008c100000, 0x000000008c100000|100%| O| |TAMS 0x000000008c100000, 0x000000008c100000| Untracked +| 55|0x000000008c100000, 0x000000008c200000, 0x000000008c200000|100%| O| |TAMS 0x000000008c200000, 0x000000008c200000| Untracked +| 56|0x000000008c200000, 0x000000008c300000, 0x000000008c300000|100%| O| |TAMS 0x000000008c300000, 0x000000008c300000| Untracked +| 57|0x000000008c300000, 0x000000008c400000, 0x000000008c400000|100%| O| |TAMS 0x000000008c400000, 0x000000008c400000| Untracked +| 58|0x000000008c400000, 0x000000008c500000, 0x000000008c500000|100%| O| |TAMS 0x000000008c500000, 0x000000008c500000| Untracked +| 59|0x000000008c500000, 0x000000008c600000, 0x000000008c600000|100%| O| |TAMS 0x000000008c528a00, 0x000000008c600000| Untracked +| 60|0x000000008c600000, 0x000000008c700000, 0x000000008c700000|100%| O| |TAMS 0x000000008c600000, 0x000000008c700000| Untracked +| 61|0x000000008c700000, 0x000000008c800000, 0x000000008c800000|100%| O| |TAMS 0x000000008c700000, 0x000000008c800000| Untracked +| 62|0x000000008c800000, 0x000000008c900000, 0x000000008c900000|100%| O| |TAMS 0x000000008c800000, 0x000000008c900000| Untracked +| 63|0x000000008c900000, 0x000000008c955800, 0x000000008ca00000| 33%| O| |TAMS 0x000000008c900000, 0x000000008c955800| Untracked +| 64|0x000000008ca00000, 0x000000008ca00000, 0x000000008cb00000| 0%| F| |TAMS 0x000000008ca00000, 0x000000008ca00000| Untracked +| 65|0x000000008cb00000, 0x000000008cb00000, 0x000000008cc00000| 0%| F| |TAMS 0x000000008cb00000, 0x000000008cb00000| Untracked +| 66|0x000000008cc00000, 0x000000008cc00000, 0x000000008cd00000| 0%| F| |TAMS 0x000000008cc00000, 0x000000008cc00000| Untracked +| 67|0x000000008cd00000, 0x000000008cd00000, 0x000000008ce00000| 0%| F| |TAMS 0x000000008cd00000, 0x000000008cd00000| Untracked +| 68|0x000000008ce00000, 0x000000008ce00000, 0x000000008cf00000| 0%| F| |TAMS 0x000000008ce00000, 0x000000008ce00000| Untracked +| 69|0x000000008cf00000, 0x000000008cf00000, 0x000000008d000000| 0%| F| |TAMS 0x000000008cf00000, 0x000000008cf00000| Untracked +| 70|0x000000008d000000, 0x000000008d000000, 0x000000008d100000| 0%| F| |TAMS 0x000000008d000000, 0x000000008d000000| Untracked +| 71|0x000000008d100000, 0x000000008d100000, 0x000000008d200000| 0%| F| |TAMS 0x000000008d100000, 0x000000008d100000| Untracked +| 72|0x000000008d200000, 0x000000008d200000, 0x000000008d300000| 0%| F| |TAMS 0x000000008d200000, 0x000000008d200000| Untracked +| 73|0x000000008d300000, 0x000000008d300000, 0x000000008d400000| 0%| F| |TAMS 0x000000008d300000, 0x000000008d300000| Untracked +| 74|0x000000008d400000, 0x000000008d400000, 0x000000008d500000| 0%| F| |TAMS 0x000000008d400000, 0x000000008d400000| Untracked +| 75|0x000000008d500000, 0x000000008d500000, 0x000000008d600000| 0%| F| |TAMS 0x000000008d500000, 0x000000008d500000| Untracked +| 76|0x000000008d600000, 0x000000008d600000, 0x000000008d700000| 0%| F| |TAMS 0x000000008d600000, 0x000000008d600000| Untracked +| 77|0x000000008d700000, 0x000000008d700000, 0x000000008d800000| 0%| F| |TAMS 0x000000008d700000, 0x000000008d700000| Untracked +| 78|0x000000008d800000, 0x000000008d800000, 0x000000008d900000| 0%| F| |TAMS 0x000000008d800000, 0x000000008d800000| Untracked +| 79|0x000000008d900000, 0x000000008d900000, 0x000000008da00000| 0%| F| |TAMS 0x000000008d900000, 0x000000008d900000| Untracked +| 80|0x000000008da00000, 0x000000008da00000, 0x000000008db00000| 0%| F| |TAMS 0x000000008da00000, 0x000000008da00000| Untracked +| 81|0x000000008db00000, 0x000000008db00000, 0x000000008dc00000| 0%| F| |TAMS 0x000000008db00000, 0x000000008db00000| Untracked +| 82|0x000000008dc00000, 0x000000008dccaba0, 0x000000008dd00000| 79%| S|CS|TAMS 0x000000008dc00000, 0x000000008dc00000| Complete +| 83|0x000000008dd00000, 0x000000008de00000, 0x000000008de00000|100%| S|CS|TAMS 0x000000008dd00000, 0x000000008dd00000| Complete +| 84|0x000000008de00000, 0x000000008de00000, 0x000000008df00000| 0%| F| |TAMS 0x000000008de00000, 0x000000008de00000| Untracked +| 85|0x000000008df00000, 0x000000008df00000, 0x000000008e000000| 0%| F| |TAMS 0x000000008df00000, 0x000000008df00000| Untracked +| 86|0x000000008e000000, 0x000000008e000000, 0x000000008e100000| 0%| F| |TAMS 0x000000008e000000, 0x000000008e000000| Untracked +| 87|0x000000008e100000, 0x000000008e100000, 0x000000008e200000| 0%| F| |TAMS 0x000000008e100000, 0x000000008e100000| Untracked +| 88|0x000000008e200000, 0x000000008e200000, 0x000000008e300000| 0%| F| |TAMS 0x000000008e200000, 0x000000008e200000| Untracked +| 89|0x000000008e300000, 0x000000008e300000, 0x000000008e400000| 0%| F| |TAMS 0x000000008e300000, 0x000000008e300000| Untracked +| 90|0x000000008e400000, 0x000000008e400000, 0x000000008e500000| 0%| F| |TAMS 0x000000008e400000, 0x000000008e400000| Untracked +| 91|0x000000008e500000, 0x000000008e500000, 0x000000008e600000| 0%| F| |TAMS 0x000000008e500000, 0x000000008e500000| Untracked +| 92|0x000000008e600000, 0x000000008e600000, 0x000000008e700000| 0%| F| |TAMS 0x000000008e600000, 0x000000008e600000| Untracked +| 93|0x000000008e700000, 0x000000008e700000, 0x000000008e800000| 0%| F| |TAMS 0x000000008e700000, 0x000000008e700000| Untracked +| 94|0x000000008e800000, 0x000000008e800000, 0x000000008e900000| 0%| F| |TAMS 0x000000008e800000, 0x000000008e800000| Untracked +| 95|0x000000008e900000, 0x000000008e900000, 0x000000008ea00000| 0%| F| |TAMS 0x000000008e900000, 0x000000008e900000| Untracked +| 96|0x000000008ea00000, 0x000000008ea00000, 0x000000008eb00000| 0%| F| |TAMS 0x000000008ea00000, 0x000000008ea00000| Untracked +| 97|0x000000008eb00000, 0x000000008eb00000, 0x000000008ec00000| 0%| F| |TAMS 0x000000008eb00000, 0x000000008eb00000| Untracked +| 98|0x000000008ec00000, 0x000000008ec00000, 0x000000008ed00000| 0%| F| |TAMS 0x000000008ec00000, 0x000000008ec00000| Untracked +| 99|0x000000008ed00000, 0x000000008ed00000, 0x000000008ee00000| 0%| F| |TAMS 0x000000008ed00000, 0x000000008ed00000| Untracked +| 100|0x000000008ee00000, 0x000000008ee00000, 0x000000008ef00000| 0%| F| |TAMS 0x000000008ee00000, 0x000000008ee00000| Untracked +| 101|0x000000008ef00000, 0x000000008ef00000, 0x000000008f000000| 0%| F| |TAMS 0x000000008ef00000, 0x000000008ef00000| Untracked +| 102|0x000000008f000000, 0x000000008f000000, 0x000000008f100000| 0%| F| |TAMS 0x000000008f000000, 0x000000008f000000| Untracked +| 103|0x000000008f100000, 0x000000008f100000, 0x000000008f200000| 0%| F| |TAMS 0x000000008f100000, 0x000000008f100000| Untracked +| 104|0x000000008f200000, 0x000000008f200000, 0x000000008f300000| 0%| F| |TAMS 0x000000008f200000, 0x000000008f200000| Untracked +| 105|0x000000008f300000, 0x000000008f300000, 0x000000008f400000| 0%| F| |TAMS 0x000000008f300000, 0x000000008f300000| Untracked +| 106|0x000000008f400000, 0x000000008f400000, 0x000000008f500000| 0%| F| |TAMS 0x000000008f400000, 0x000000008f400000| Untracked +| 107|0x000000008f500000, 0x000000008f500000, 0x000000008f600000| 0%| F| |TAMS 0x000000008f500000, 0x000000008f500000| Untracked +| 108|0x000000008f600000, 0x000000008f600000, 0x000000008f700000| 0%| F| |TAMS 0x000000008f600000, 0x000000008f600000| Untracked +| 109|0x000000008f700000, 0x000000008f700000, 0x000000008f800000| 0%| F| |TAMS 0x000000008f700000, 0x000000008f700000| Untracked +| 110|0x000000008f800000, 0x000000008f800000, 0x000000008f900000| 0%| F| |TAMS 0x000000008f800000, 0x000000008f800000| Untracked +| 111|0x000000008f900000, 0x000000008f900000, 0x000000008fa00000| 0%| F| |TAMS 0x000000008f900000, 0x000000008f900000| Untracked +| 112|0x000000008fa00000, 0x000000008fa00000, 0x000000008fb00000| 0%| F| |TAMS 0x000000008fa00000, 0x000000008fa00000| Untracked +| 113|0x000000008fb00000, 0x000000008fb00000, 0x000000008fc00000| 0%| F| |TAMS 0x000000008fb00000, 0x000000008fb00000| Untracked +| 114|0x000000008fc00000, 0x000000008fc00000, 0x000000008fd00000| 0%| F| |TAMS 0x000000008fc00000, 0x000000008fc00000| Untracked +| 115|0x000000008fd00000, 0x000000008fd00000, 0x000000008fe00000| 0%| F| |TAMS 0x000000008fd00000, 0x000000008fd00000| Untracked +| 116|0x000000008fe00000, 0x000000008fe00000, 0x000000008ff00000| 0%| F| |TAMS 0x000000008fe00000, 0x000000008fe00000| Untracked +| 117|0x000000008ff00000, 0x000000008ff00000, 0x0000000090000000| 0%| F| |TAMS 0x000000008ff00000, 0x000000008ff00000| Untracked +| 118|0x0000000090000000, 0x0000000090000000, 0x0000000090100000| 0%| F| |TAMS 0x0000000090000000, 0x0000000090000000| Untracked +| 119|0x0000000090100000, 0x0000000090100000, 0x0000000090200000| 0%| F| |TAMS 0x0000000090100000, 0x0000000090100000| Untracked +|1905|0x00000000ffb00000, 0x00000000ffc00000, 0x00000000ffc00000|100%| O| |TAMS 0x00000000ffc00000, 0x00000000ffc00000| Untracked +|1906|0x00000000ffc00000, 0x00000000ffd00000, 0x00000000ffd00000|100%| O| |TAMS 0x00000000ffd00000, 0x00000000ffd00000| Untracked +|1907|0x00000000ffd00000, 0x00000000ffe00000, 0x00000000ffe00000|100%| O| |TAMS 0x00000000ffe00000, 0x00000000ffe00000| Untracked +|1908|0x00000000ffe00000, 0x00000000fff00000, 0x00000000fff00000|100%| O| |TAMS 0x00000000fff00000, 0x00000000fff00000| Untracked +|1909|0x00000000fff00000, 0x0000000100000000, 0x0000000100000000|100%| O| |TAMS 0x0000000100000000, 0x0000000100000000| Untracked + +Card table byte_map: [0x00000122aa5c0000,0x00000122aa980000] _byte_map_base: 0x00000122aa17b000 + +Marking Bits (Prev, Next): (CMBitMap*) 0x00000122930e60e0, (CMBitMap*) 0x00000122930e6120 + Prev Bits: [0x00000122aad40000, 0x00000122acb18000) + Next Bits: [0x00000122acb20000, 0x00000122ae8f8000) + +Polling page: 0x0000012293130000 + +Metaspace: + +Usage: + Non-class: 77.03 MB used. + Class: 11.29 MB used. + Both: 88.32 MB used. + +Virtual space: + Non-class space: 128.00 MB reserved, 77.31 MB ( 60%) committed, 2 nodes. + Class space: 416.00 MB reserved, 11.56 MB ( 3%) committed, 1 nodes. + Both: 544.00 MB reserved, 88.88 MB ( 16%) committed. + +Chunk freelists: + Non-Class: 2.45 MB + Class: 4.42 MB + Both: 6.88 MB + +MaxMetaspaceSize: 512.00 MB +CompressedClassSpaceSize: 416.00 MB +Initial GC threshold: 21.00 MB +Current GC threshold: 133.44 MB +CDS: on +MetaspaceReclaimPolicy: balanced + - commit_granule_bytes: 65536. + - commit_granule_words: 8192. + - virtual_space_node_default_size: 8388608. + - enlarge_chunks_in_place: 1. + - new_chunks_are_fully_committed: 0. + - uncommit_free_chunks: 1. + - use_allocation_guard: 0. + - handle_deallocations: 1. + + +Internal statistics: + +num_allocs_failed_limit: 6. +num_arena_births: 588. +num_arena_deaths: 0. +num_vsnodes_births: 3. +num_vsnodes_deaths: 0. +num_space_committed: 1420. +num_space_uncommitted: 0. +num_chunks_returned_to_freelist: 6. +num_chunks_taken_from_freelist: 3678. +num_chunk_merges: 6. +num_chunk_splits: 2967. +num_chunks_enlarged: 2559. +num_inconsistent_stats: 0. + +CodeHeap 'non-profiled nmethods': size=120000Kb used=3622Kb max_used=3622Kb free=116377Kb + bounds [0x00000122a26a0000, 0x00000122a2a30000, 0x00000122a9bd0000] +CodeHeap 'profiled nmethods': size=120000Kb used=13544Kb max_used=13544Kb free=106455Kb + bounds [0x000001229abd0000, 0x000001229b910000, 0x00000122a2100000] +CodeHeap 'non-nmethods': size=5760Kb used=1792Kb max_used=1828Kb free=3967Kb + bounds [0x00000122a2100000, 0x00000122a2370000, 0x00000122a26a0000] + total_blobs=7562 nmethods=6661 adapters=812 + compilation: enabled + stopped_count=0, restarted_count=0 + full_count=0 + +Compilation events (20 events): +Event: 50.641 Thread 0x00000122b0f2b930 7525 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls::visitFunctionAccess (18 bytes) +Event: 50.643 Thread 0x00000122b0f2b930 nmethod 7525 0x000001229b904790 code [0x000001229b9049a0, 0x000001229b905008] +Event: 50.649 Thread 0x00000122b0f2b930 7527 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls::visitConst (18 bytes) +Event: 50.650 Thread 0x00000122b0f2b930 nmethod 7527 0x000001229b905290 code [0x000001229b9054a0, 0x000001229b905b08] +Event: 50.651 Thread 0x00000122b0f2b930 7528 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls::visitValueParameter (17 bytes) +Event: 50.652 Thread 0x00000122b0f2b930 nmethod 7528 0x000001229b905d90 code [0x000001229b905fa0, 0x000001229b9065e8] +Event: 50.652 Thread 0x00000122b0f2b930 7529 3 org.jetbrains.kotlin.backend.common.ClassLoweringVisitor::visitCall (13 bytes) +Event: 50.654 Thread 0x00000122b0f2b930 nmethod 7529 0x000001229b906890 code [0x000001229b906b80, 0x000001229b907998] +Event: 50.654 Thread 0x00000122b0f2b930 7530 3 org.jetbrains.kotlin.backend.common.ClassLoweringVisitor::visitCall (7 bytes) +Event: 50.656 Thread 0x00000122b0f2b930 nmethod 7530 0x000001229b907e90 code [0x000001229b908160, 0x000001229b908e18] +Event: 50.667 Thread 0x00000122b0f2b930 7531 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls::visitContainerExpression (17 bytes) +Event: 50.668 Thread 0x00000122b0f2b930 nmethod 7531 0x000001229b909310 code [0x000001229b909520, 0x000001229b909b68] +Event: 50.815 Thread 0x00000122b0f2b930 7532 1 org.jetbrains.kotlin.ir.declarations.impl.IrConstructorImpl::getOrigin (5 bytes) +Event: 50.815 Thread 0x00000122b0f2b930 nmethod 7532 0x00000122a2a29190 code [0x00000122a2a29320, 0x00000122a2a293f8] +Event: 51.372 Thread 0x00000122b0f2b930 7533 1 org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl::getOrigin (5 bytes) +Event: 51.373 Thread 0x00000122b0f2b930 nmethod 7533 0x00000122a2a29490 code [0x00000122a2a29620, 0x00000122a2a296f8] +Event: 51.401 Thread 0x00000122b0f2b930 7534 1 org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl::getName (5 bytes) +Event: 51.401 Thread 0x00000122b0f2b930 nmethod 7534 0x00000122a2a29790 code [0x00000122a2a29920, 0x00000122a2a299f8] +Event: 51.426 Thread 0x00000122b0f2b930 7535 3 org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeBuilder::setNullability (12 bytes) +Event: 51.427 Thread 0x00000122b0f2b930 nmethod 7535 0x000001229b909e10 code [0x000001229b90a020, 0x000001229b90a618] + +GC Heap History (20 events): +Event: 32.786 GC heap after +{Heap after GC invocations=19 (full 0): + garbage-first heap total 109568K, used 53137K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 2 young (2048K), 2 survivors (2048K) + Metaspace used 56250K, committed 56832K, reserved 491520K + class space used 7938K, committed 8192K, reserved 425984K +} +Event: 34.498 GC heap before +{Heap before GC invocations=20 (full 0): + garbage-first heap total 109568K, used 87953K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 35 young (35840K), 2 survivors (2048K) + Metaspace used 59588K, committed 60096K, reserved 491520K + class space used 8275K, committed 8512K, reserved 425984K +} +Event: 34.505 GC heap after +{Heap after GC invocations=21 (full 0): + garbage-first heap total 109568K, used 56556K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 4 young (4096K), 4 survivors (4096K) + Metaspace used 59588K, committed 60096K, reserved 491520K + class space used 8275K, committed 8512K, reserved 425984K +} +Event: 35.853 GC heap before +{Heap before GC invocations=21 (full 0): + garbage-first heap total 109568K, used 88300K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 35 young (35840K), 4 survivors (4096K) + Metaspace used 63386K, committed 63936K, reserved 491520K + class space used 8606K, committed 8896K, reserved 425984K +} +Event: 35.864 GC heap after +{Heap after GC invocations=22 (full 0): + garbage-first heap total 109568K, used 57974K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 2 young (2048K), 2 survivors (2048K) + Metaspace used 63386K, committed 63936K, reserved 491520K + class space used 8606K, committed 8896K, reserved 425984K +} +Event: 38.530 GC heap before +{Heap before GC invocations=23 (full 0): + garbage-first heap total 109568K, used 88694K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 32 young (32768K), 2 survivors (2048K) + Metaspace used 66717K, committed 67264K, reserved 491520K + class space used 9015K, committed 9280K, reserved 425984K +} +Event: 38.541 GC heap after +{Heap after GC invocations=24 (full 0): + garbage-first heap total 109568K, used 59838K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 4 young (4096K), 4 survivors (4096K) + Metaspace used 66717K, committed 67264K, reserved 491520K + class space used 9015K, committed 9280K, reserved 425984K +} +Event: 40.233 GC heap before +{Heap before GC invocations=24 (full 0): + garbage-first heap total 109568K, used 83390K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 28 young (28672K), 4 survivors (4096K) + Metaspace used 70258K, committed 70784K, reserved 491520K + class space used 9469K, committed 9728K, reserved 425984K +} +Event: 40.248 GC heap after +{Heap after GC invocations=25 (full 0): + garbage-first heap total 109568K, used 61018K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 4 young (4096K), 4 survivors (4096K) + Metaspace used 70258K, committed 70784K, reserved 491520K + class space used 9469K, committed 9728K, reserved 425984K +} +Event: 41.870 GC heap before +{Heap before GC invocations=26 (full 0): + garbage-first heap total 124928K, used 91738K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 33 young (33792K), 4 survivors (4096K) + Metaspace used 70929K, committed 71424K, reserved 491520K + class space used 9543K, committed 9792K, reserved 425984K +} +Event: 41.890 GC heap after +{Heap after GC invocations=27 (full 0): + garbage-first heap total 124928K, used 62510K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 3 young (3072K), 3 survivors (3072K) + Metaspace used 70929K, committed 71424K, reserved 491520K + class space used 9543K, committed 9792K, reserved 425984K +} +Event: 44.128 GC heap before +{Heap before GC invocations=27 (full 0): + garbage-first heap total 124928K, used 101422K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 41 young (41984K), 3 survivors (3072K) + Metaspace used 72936K, committed 73408K, reserved 491520K + class space used 9747K, committed 9984K, reserved 425984K +} +Event: 44.144 GC heap after +{Heap after GC invocations=28 (full 0): + garbage-first heap total 124928K, used 65961K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 6 young (6144K), 6 survivors (6144K) + Metaspace used 72936K, committed 73408K, reserved 491520K + class space used 9747K, committed 9984K, reserved 425984K +} +Event: 46.403 GC heap before +{Heap before GC invocations=29 (full 0): + garbage-first heap total 124928K, used 101801K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 41 young (41984K), 6 survivors (6144K) + Metaspace used 77268K, committed 77824K, reserved 557056K + class space used 10197K, committed 10432K, reserved 425984K +} +Event: 46.421 GC heap after +{Heap after GC invocations=30 (full 0): + garbage-first heap total 124928K, used 68120K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 3 young (3072K), 3 survivors (3072K) + Metaspace used 77268K, committed 77824K, reserved 557056K + class space used 10197K, committed 10432K, reserved 425984K +} +Event: 48.052 GC heap before +{Heap before GC invocations=30 (full 0): + garbage-first heap total 124928K, used 101912K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 36 young (36864K), 3 survivors (3072K) + Metaspace used 80882K, committed 81408K, reserved 557056K + class space used 10582K, committed 10816K, reserved 425984K +} +Event: 48.063 GC heap after +{Heap after GC invocations=31 (full 0): + garbage-first heap total 124928K, used 70200K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 5 young (5120K), 5 survivors (5120K) + Metaspace used 80882K, committed 81408K, reserved 557056K + class space used 10582K, committed 10816K, reserved 425984K +} +Event: 49.490 GC heap before +{Heap before GC invocations=32 (full 0): + garbage-first heap total 128000K, used 101944K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 36 young (36864K), 5 survivors (5120K) + Metaspace used 85185K, committed 85696K, reserved 557056K + class space used 11023K, committed 11264K, reserved 425984K +} +Event: 49.503 GC heap after +{Heap after GC invocations=33 (full 0): + garbage-first heap total 128000K, used 71223K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 2 young (2048K), 2 survivors (2048K) + Metaspace used 85185K, committed 85696K, reserved 557056K + class space used 11023K, committed 11264K, reserved 425984K +} +Event: 51.442 GC heap before +{Heap before GC invocations=33 (full 0): + garbage-first heap total 128000K, used 106039K [0x0000000088a00000, 0x0000000100000000) + region size 1024K, 36 young (36864K), 2 survivors (2048K) + Metaspace used 90440K, committed 91008K, reserved 557056K + class space used 11560K, committed 11840K, reserved 425984K +} + +Dll operation events (15 events): +Event: 0.073 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\java.dll +Event: 0.735 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jsvml.dll +Event: 0.886 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\zip.dll +Event: 0.900 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\instrument.dll +Event: 0.915 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\net.dll +Event: 0.920 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\nio.dll +Event: 0.927 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\zip.dll +Event: 2.001 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jimage.dll +Event: 2.685 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\verify.dll +Event: 3.186 Loaded shared library C:\Users\LENOVO YOGA\.gradle\native\c067742578af261105cb4f569cf0c3c89f3d7b1fecec35dd04571415982c5e48\windows-amd64\native-platform.dll +Event: 3.219 Loaded shared library C:\Users\LENOVO YOGA\.gradle\native\100fb08df4bc3b14c8652ba06237920a3bd2aa13389f12d3474272988ae205f9\windows-amd64\native-platform-file-events.dll +Event: 9.126 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management.dll +Event: 9.131 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management_ext.dll +Event: 10.010 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\extnet.dll +Event: 11.562 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\sunmscapi.dll + +Deoptimization events (20 events): +Event: 50.433 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffff45 fr.pc=0x00000122a26df5d4 relative=0x0000000000000234 +Event: 50.433 Thread 0x00000122d1170900 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000122a26df5d4 method=org.jetbrains.kotlin.name.Name.hashCode()I @ 16 c2 +Event: 50.433 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a26df5d4 sp=0x000000122d5f4130 +Event: 50.433 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f40d0 mode 2 +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6fa0 relative=0x0000000000001700 +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6fa0 method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 13 c2 +Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6fa0 sp=0x000000122d5f5a20 +Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6fa0 relative=0x0000000000001700 +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6fa0 method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 13 c2 +Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6fa0 sp=0x000000122d5f5a20 +Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6dec relative=0x000000000000154c +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6dec method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 30 c2 +Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6dec sp=0x000000122d5f5a20 +Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6dec relative=0x000000000000154c +Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6dec method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 30 c2 +Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6dec sp=0x000000122d5f5a20 +Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 + +Classes loaded (20 events): +Event: 31.023 Loading class sun/nio/ch/ChannelInputStream +Event: 31.023 Loading class sun/nio/ch/ChannelInputStream done +Event: 36.249 Loading class java/util/ArrayList$ListItr +Event: 36.249 Loading class java/util/ArrayList$ListItr done +Event: 37.054 Loading class java/text/StringCharacterIterator +Event: 37.056 Loading class java/text/CharacterIterator +Event: 37.057 Loading class java/text/CharacterIterator done +Event: 37.057 Loading class java/text/StringCharacterIterator done +Event: 37.230 Loading class java/io/NotSerializableException +Event: 37.230 Loading class java/io/NotSerializableException done +Event: 37.398 Loading class java/util/AbstractList$ListItr +Event: 37.399 Loading class java/util/AbstractList$ListItr done +Event: 38.997 Loading class java/util/function/IntUnaryOperator +Event: 38.997 Loading class java/util/function/IntUnaryOperator done +Event: 39.162 Loading class java/util/AbstractList$SubList +Event: 39.163 Loading class java/util/AbstractList$SubList done +Event: 39.163 Loading class java/util/AbstractList$SubList$1 +Event: 39.163 Loading class java/util/AbstractList$SubList$1 done +Event: 44.196 Loading class java/util/AbstractList$RandomAccessSubList +Event: 44.196 Loading class java/util/AbstractList$RandomAccessSubList done + +Classes unloaded (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (20 events): +Event: 27.905 Thread 0x00000122d1170900 Exception (0x000000008c428f78) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.122 Thread 0x00000122d1170900 Exception (0x000000008bf61728) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.124 Thread 0x00000122d1170900 Exception (0x000000008bf6aad0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.128 Thread 0x00000122d1170900 Exception (0x000000008bf7b290) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.133 Thread 0x00000122d1170900 Exception (0x000000008bf83e20) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.138 Thread 0x00000122d1170900 Exception (0x000000008bf945f0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.141 Thread 0x00000122d1170900 Exception (0x000000008bfa46c0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.144 Thread 0x00000122d1170900 Exception (0x000000008bfb4538) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 28.145 Thread 0x00000122d1170900 Exception (0x000000008bfc4090) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 29.808 Thread 0x00000122d1170900 Exception (0x00000000901723c8) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 29.941 Thread 0x00000122d1170900 Exception (0x000000008dbe00a8) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 36.343 Thread 0x00000122d1170900 Exception (0x000000008e9a79b0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 36.344 Thread 0x00000122d1170900 Exception (0x000000008e9ad530) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 36.344 Thread 0x00000122d1170900 Exception (0x000000008e9b2898) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 36.382 Thread 0x00000122d1170900 Implicit null exception at 0x00000122a284a06c to 0x00000122a284a120 +Event: 39.250 Thread 0x00000122d1170900 Exception (0x000000008e474630) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 39.258 Thread 0x00000122d1170900 Exception (0x000000008e47f310) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 39.260 Thread 0x00000122d1170900 Exception (0x000000008e4852f8) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 39.261 Thread 0x00000122d1170900 Exception (0x000000008e48aa28) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] +Event: 47.420 Thread 0x00000122d1170900 Exception (0x000000008e9d5740) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] + +VM Operations (20 events): +Event: 48.392 Executing VM operation: G1PauseCleanup done +Event: 48.541 Executing VM operation: HandshakeAllThreads +Event: 48.542 Executing VM operation: HandshakeAllThreads done +Event: 48.807 Executing VM operation: HandshakeAllThreads +Event: 48.808 Executing VM operation: HandshakeAllThreads done +Event: 48.811 Executing VM operation: HandshakeAllThreads +Event: 48.811 Executing VM operation: HandshakeAllThreads done +Event: 49.490 Executing VM operation: G1CollectForAllocation +Event: 49.503 Executing VM operation: G1CollectForAllocation done +Event: 49.860 Executing VM operation: HandshakeAllThreads +Event: 49.860 Executing VM operation: HandshakeAllThreads done +Event: 49.860 Executing VM operation: HandshakeAllThreads +Event: 49.860 Executing VM operation: HandshakeAllThreads done +Event: 50.303 Executing VM operation: ICBufferFull +Event: 50.303 Executing VM operation: ICBufferFull done +Event: 50.538 Executing VM operation: HandshakeAllThreads +Event: 50.538 Executing VM operation: HandshakeAllThreads done +Event: 50.752 Executing VM operation: HandshakeAllThreads +Event: 50.752 Executing VM operation: HandshakeAllThreads done +Event: 51.442 Executing VM operation: G1CollectForAllocation + +Memory protections (0 events): +No events + +Nmethod flushes (20 events): +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4c3210 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e6490 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e6c90 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e7710 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e8510 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e8810 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e8c10 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e9390 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e9b10 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ea390 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ea790 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ead90 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ee090 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4efb10 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4f3190 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4f5090 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b504310 +Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b538090 +Event: 49.873 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b3dda10 +Event: 49.875 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4f1510 + +Events (20 events): +Event: 11.667 Thread 0x00000122d054fa30 Thread added: 0x00000122d1973a30 +Event: 11.676 Thread 0x00000122d1973a30 Thread added: 0x00000122d1974720 +Event: 11.835 Thread 0x00000122d1973a30 Thread added: 0x00000122d11703f0 +Event: 11.875 Thread 0x00000122d1973a30 Thread added: 0x00000122d1170900 +Event: 11.905 Thread 0x00000122d1170900 Thread added: 0x00000122d1172760 +Event: 12.002 Thread 0x00000122d1170900 Thread added: 0x00000122d1170e10 +Event: 12.023 Thread 0x00000122d1170900 Thread added: 0x00000122d116f9d0 +Event: 13.815 Thread 0x00000122d1170900 Thread added: 0x00000122d1171830 +Event: 13.851 Thread 0x00000122d1170900 Thread added: 0x00000122d1171320 +Event: 13.959 Thread 0x00000122d1170900 Thread added: 0x00000122d1171d40 +Event: 17.231 Thread 0x00000122d1170900 Thread added: 0x00000122d116efb0 +Event: 17.267 Thread 0x00000122d1170900 Thread added: 0x00000122d1172250 +Event: 18.098 Thread 0x00000122d1170900 Thread added: 0x00000122d116f4c0 +Event: 18.248 Thread 0x00000122d1170900 Thread added: 0x00000122d116fee0 +Event: 18.271 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf6600 +Event: 19.185 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf9db0 +Event: 19.285 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf7f50 +Event: 19.736 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf7a40 +Event: 20.085 Thread 0x00000122d1170900 Thread added: 0x00000122d1bfa2c0 +Event: 36.005 Thread 0x00000122d1171320 Thread added: 0x00000122d1bf5be0 + + +Dynamic libraries: +0x00007ff75e7f0000 - 0x00007ff75e853000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\java.exe +0x00007ff91d3a0000 - 0x00007ff91d5a9000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ff91c270000 - 0x00007ff91c32d000 C:\Windows\System32\KERNEL32.DLL +0x00007ff91a830000 - 0x00007ff91abb4000 C:\Windows\System32\KERNELBASE.dll +0x00007ff91b0d0000 - 0x00007ff91b1e1000 C:\Windows\System32\ucrtbase.dll +0x00007ff913b70000 - 0x00007ff913b87000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jli.dll +0x00007ff90df60000 - 0x00007ff90df7b000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\VCRUNTIME140.dll +0x00007ff91ccf0000 - 0x00007ff91ce9d000 C:\Windows\System32\USER32.dll +0x00007ff91ae70000 - 0x00007ff91ae96000 C:\Windows\System32\win32u.dll +0x00007ff91cea0000 - 0x00007ff91ceca000 C:\Windows\System32\GDI32.dll +0x00007ff91acd0000 - 0x00007ff91adee000 C:\Windows\System32\gdi32full.dll +0x00007ff909170000 - 0x00007ff909415000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22000.120_none_9d947278b86cc467\COMCTL32.dll +0x00007ff91d2b0000 - 0x00007ff91d353000 C:\Windows\System32\msvcrt.dll +0x00007ff91abc0000 - 0x00007ff91ac5d000 C:\Windows\System32\msvcp_win.dll +0x00007ff91b920000 - 0x00007ff91b951000 C:\Windows\System32\IMM32.DLL +0x0000000065980000 - 0x000000006598c000 C:\Program Files (x86)\360\Total Security\safemon\SafeWrapper.dll +0x00007ff91c1c0000 - 0x00007ff91c26e000 C:\Windows\System32\ADVAPI32.dll +0x00007ff91b760000 - 0x00007ff91b7fe000 C:\Windows\System32\sechost.dll +0x00007ff91d0a0000 - 0x00007ff91d1c1000 C:\Windows\System32\RPCRT4.dll +0x00007ff8c5ce0000 - 0x00007ff8c5d8c000 C:\Program Files (x86)\360\Total Security\safemon\libzdtp64.dll +0x00007ff91c420000 - 0x00007ff91cbe5000 C:\Windows\System32\SHELL32.dll +0x00007ff91cc90000 - 0x00007ff91cced000 C:\Windows\System32\SHLWAPI.dll +0x00007ff91a0b0000 - 0x00007ff91a0ba000 C:\Windows\SYSTEM32\VERSION.dll +0x00007ff916be0000 - 0x00007ff916bec000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\vcruntime140_1.dll +0x00007ff8f2cc0000 - 0x00007ff8f2d4d000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\msvcp140.dll +0x00007ff8b41f0000 - 0x00007ff8b4e5c000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\server\jvm.dll +0x00007ff91d240000 - 0x00007ff91d2af000 C:\Windows\System32\WS2_32.dll +0x00007ff91a700000 - 0x00007ff91a74d000 C:\Windows\SYSTEM32\POWRPROF.dll +0x00007ff913a00000 - 0x00007ff913a33000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ff91a6e0000 - 0x00007ff91a6f3000 C:\Windows\SYSTEM32\UMPDC.dll +0x00007ff919830000 - 0x00007ff919848000 C:\Windows\SYSTEM32\kernel.appcore.dll +0x00007ff907b00000 - 0x00007ff907b0a000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jimage.dll +0x00007ff918230000 - 0x00007ff918451000 C:\Windows\SYSTEM32\DBGHELP.DLL +0x00007ff901370000 - 0x00007ff9013a1000 C:\Windows\SYSTEM32\dbgcore.DLL +0x00007ff91adf0000 - 0x00007ff91ae6f000 C:\Windows\System32\bcryptPrimitives.dll +0x00007ff8ebbd0000 - 0x00007ff8ebbde000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\instrument.dll +0x00007ff8f2c90000 - 0x00007ff8f2cb5000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\java.dll +0x00007ff8e0c00000 - 0x00007ff8e0cd7000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jsvml.dll +0x00007ff918890000 - 0x00007ff9190f2000 C:\Windows\SYSTEM32\windows.storage.dll +0x00007ff91be40000 - 0x00007ff91c1b6000 C:\Windows\System32\combase.dll +0x00007ff918720000 - 0x00007ff918887000 C:\Windows\SYSTEM32\wintypes.dll +0x00007ff91b1f0000 - 0x00007ff91b2da000 C:\Windows\System32\SHCORE.dll +0x00007ff91a760000 - 0x00007ff91a785000 C:\Windows\SYSTEM32\profapi.dll +0x00007ff8f2c50000 - 0x00007ff8f2c68000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\zip.dll +0x00007ff8f6360000 - 0x00007ff8f6379000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\net.dll +0x00007ff913f10000 - 0x00007ff914024000 C:\Windows\SYSTEM32\WINHTTP.dll +0x00007ff919ce0000 - 0x00007ff919d47000 C:\Windows\system32\mswsock.dll +0x00007ff8f2c70000 - 0x00007ff8f2c86000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\nio.dll +0x00007ff8f6340000 - 0x00007ff8f6350000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\verify.dll +0x00007ff902330000 - 0x00007ff902357000 C:\Users\LENOVO YOGA\.gradle\native\c067742578af261105cb4f569cf0c3c89f3d7b1fecec35dd04571415982c5e48\windows-amd64\native-platform.dll +0x00007ff8b6020000 - 0x00007ff8b6164000 C:\Users\LENOVO YOGA\.gradle\native\100fb08df4bc3b14c8652ba06237920a3bd2aa13389f12d3474272988ae205f9\windows-amd64\native-platform-file-events.dll +0x00007ff8f2bd0000 - 0x00007ff8f2bda000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management.dll +0x00007ff8f25d0000 - 0x00007ff8f25db000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management_ext.dll +0x00007ff91d090000 - 0x00007ff91d098000 C:\Windows\System32\PSAPI.DLL +0x00007ff919f20000 - 0x00007ff919f38000 C:\Windows\SYSTEM32\CRYPTSP.dll +0x00007ff919790000 - 0x00007ff9197c5000 C:\Windows\system32\rsaenh.dll +0x00007ff919dd0000 - 0x00007ff919dfc000 C:\Windows\SYSTEM32\USERENV.dll +0x00007ff91a0c0000 - 0x00007ff91a0e7000 C:\Windows\SYSTEM32\bcrypt.dll +0x00007ff919f40000 - 0x00007ff919f4c000 C:\Windows\SYSTEM32\CRYPTBASE.dll +0x00007ff919350000 - 0x00007ff91937d000 C:\Windows\SYSTEM32\IPHLPAPI.DLL +0x00007ff91c330000 - 0x00007ff91c339000 C:\Windows\System32\NSI.dll +0x00007ff914a30000 - 0x00007ff914a49000 C:\Windows\SYSTEM32\dhcpcsvc6.DLL +0x00007ff9150e0000 - 0x00007ff9150fe000 C:\Windows\SYSTEM32\dhcpcsvc.DLL +0x00007ff9193c0000 - 0x00007ff9194a7000 C:\Windows\SYSTEM32\DNSAPI.dll +0x00007ff8ebc20000 - 0x00007ff8ebc29000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\extnet.dll +0x00007ff8ebc10000 - 0x00007ff8ebc1e000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\sunmscapi.dll +0x00007ff91aea0000 - 0x00007ff91b002000 C:\Windows\System32\CRYPT32.dll +0x00007ff91a070000 - 0x00007ff91a098000 C:\Windows\SYSTEM32\ncrypt.dll +0x00007ff91a030000 - 0x00007ff91a067000 C:\Windows\SYSTEM32\NTASN1.dll +0x00007ff906f00000 - 0x00007ff906f08000 C:\Windows\system32\wshunix.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22000.120_none_9d947278b86cc467;C:\Program Files (x86)\360\Total Security\safemon;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\server;C:\Users\LENOVO YOGA\.gradle\native\c067742578af261105cb4f569cf0c3c89f3d7b1fecec35dd04571415982c5e48\windows-amd64;C:\Users\LENOVO YOGA\.gradle\native\100fb08df4bc3b14c8652ba06237920a3bd2aa13389f12d3474272988ae205f9\windows-amd64 + +VM Arguments: +jvm_args: -XX:MaxMetaspaceSize=512m --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -javaagent:C:\Users\LENOVO YOGA\.gradle\wrapper\dists\gradle-8.10.2-bin\a04bxjujx95o3nb99gddekhwo\gradle-8.10.2\lib\agents\gradle-instrumentation-agent-8.10.2.jar +java_command: org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.10.2 +java_class_path (initial): C:\Users\LENOVO YOGA\.gradle\wrapper\dists\gradle-8.10.2-bin\a04bxjujx95o3nb99gddekhwo\gradle-8.10.2\lib\gradle-daemon-main-8.10.2.jar +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 3 {product} {ergonomic} + size_t CompressedClassSpaceSize = 436207616 {product} {ergonomic} + uint ConcGCThreads = 1 {product} {ergonomic} + uint G1ConcRefinementThreads = 4 {product} {ergonomic} + size_t G1HeapRegionSize = 1048576 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 125829120 {product} {ergonomic} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 2002780160 {product} {ergonomic} + size_t MaxMetaspaceSize = 536870912 {product} {command line} + size_t MaxNewSize = 1201668096 {product} {ergonomic} + size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} + size_t MinHeapSize = 8388608 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 5832780 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 122912730 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 122912730 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + size_t SoftMaxHeapSize = 2002780160 {manageable} {ergonomic} + bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} + bool UseCompressedOops = true {product lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\ +CLASSPATH=C:\Users\LENOVO YOGA\opentelemetry-java2\\gradle\wrapper\gradle-wrapper.jar +PATH=C:\Python312\Scripts\;C:\Python312\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Programs1\Git\cmd;C:\Program Files\dotnet\;C:\ProgramData\chocolatey\bin;C:\Users\LENOVO YOGA\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Go\bin;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\missioncontrol\;C:\Users\LENOVO YOGA\.cargo\bin;C:\Users\LENOVO YOGA\AppData\Local\pnpm;C:\Users\LENOVO YOGA\AppData\Local\Microsoft\WindowsApps;C:\Users\LENOVO YOGA\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\LENOVO YOGA\AppData\Local\GitHubDesktop\bin;C:\Users\LENOVO YOGA\AppData\Roaming\npm;C:\Users\LENOVO YOGA\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\LENOVO YOGA\go\bin +USERNAME=LENOVO YOGA +LANG=en_US.UTF-8 +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 78 Stepping 3, GenuineIntel +TMP=C:\Users\LENOVO~1\AppData\Local\Temp +TEMP=C:\Users\LENOVO~1\AppData\Local\Temp + + + +Periodic native trim disabled + + +--------------- S Y S T E M --------------- + +OS: + Windows 11 , 64 bit Build 22000 (10.0.22000.2538) +OS uptime: 0 days 1:32 hours +Hyper-V role detected + +CPU: total 4 (initial active 4) (2 cores per cpu, 2 threads per core) family 6 model 78 stepping 3 microcode 0xd6, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, aes, erms, clmul, clflush, clflushopt, hv +Processor Information for all 4 processors : + Max Mhz: 2112, Current Mhz: 2112, Mhz Limit: 2112 + +Memory: 4k page, system-wide physical 7633M (85M free) +TotalPageFile size 14563M (AvailPageFile size 22M) +current process WorkingSet (physical memory assigned to process): 346M, peak: 346M +current process commit charge ("private bytes"): 377M, peak: 402M + +vm_info: OpenJDK 64-Bit Server VM (17.0.13+11-LTS) for windows-amd64 JRE (17.0.13+11-LTS), built on Oct 9 2024 05:44:29 by "" with MS VC++ 16.10 / 16.11 (VS2019) + +END. diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index 2724c673298..f05f25e6076 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -3,651 +3,652 @@ * SPDX-License-Identifier: Apache-2.0 */ - package io.opentelemetry.sdk.trace; - - import io.opentelemetry.api.common.AttributeKey; - import io.opentelemetry.api.common.Attributes; - import io.opentelemetry.api.internal.GuardedBy; - import io.opentelemetry.api.trace.Span; - import io.opentelemetry.api.trace.SpanContext; - import io.opentelemetry.api.trace.SpanKind; - import io.opentelemetry.api.trace.StatusCode; - import io.opentelemetry.context.Context; - import io.opentelemetry.sdk.common.Clock; - import io.opentelemetry.sdk.common.InstrumentationScopeInfo; - import io.opentelemetry.sdk.internal.AttributeUtil; - import io.opentelemetry.sdk.internal.AttributesMap; - import io.opentelemetry.sdk.internal.InstrumentationScopeUtil; - import io.opentelemetry.sdk.resources.Resource; - import io.opentelemetry.sdk.trace.data.EventData; - import io.opentelemetry.sdk.trace.data.LinkData; - import io.opentelemetry.sdk.trace.data.SpanData; - import io.opentelemetry.sdk.trace.data.StatusData; - import io.opentelemetry.sdk.trace.internal.ExtendedSpanProcessor; - import io.opentelemetry.sdk.trace.internal.data.ExceptionEventData; - import java.util.ArrayList; - import java.util.Collections; - import java.util.List; - import java.util.concurrent.TimeUnit; - import java.util.logging.Level; - import java.util.logging.Logger; - import javax.annotation.Nullable; - import javax.annotation.concurrent.ThreadSafe; - - /** Implementation for the {@link Span} class that records trace events. */ - @ThreadSafe - final class SdkSpan implements ReadWriteSpan { - - private static final Logger logger = Logger.getLogger(SdkSpan.class.getName()); - - // The config used when constructing this Span. - private final SpanLimits spanLimits; - // Contains the identifiers associated with this Span. - private final SpanContext context; - // The parent SpanContext of this span. Invalid if this is a root span. - private final SpanContext parentSpanContext; - // Handler called when the span starts and ends. - private final SpanProcessor spanProcessor; - // The kind of the span. - private final SpanKind kind; - // The clock used to get the time. - private final AnchoredClock clock; - // The resource associated with this span. - private final Resource resource; - // instrumentation scope of the named tracer which created this span - private final InstrumentationScopeInfo instrumentationScopeInfo; - // The start time of the span. - private final long startEpochNanos; - // Lock used to internally guard the mutable state of this instance - private final Object lock = new Object(); - - @GuardedBy("lock") - private String name; - - // Set of recorded attributes. DO NOT CALL any other method that changes the ordering of events. - @GuardedBy("lock") - @Nullable - private AttributesMap attributes; - - // List of recorded events. - @GuardedBy("lock") - @Nullable - private List events; - - // Number of events recorded. - @GuardedBy("lock") - private int totalRecordedEvents = 0; - - // The displayed name of the span. - // List of recorded links to parent and child spans. - @GuardedBy("lock") - @Nullable - List links; - - // Number of links recorded. - @GuardedBy("lock") - private int totalRecordedLinks; - - // The status of the span. - @GuardedBy("lock") - private StatusData status = StatusData.unset(); - - // The end time of the span. - @GuardedBy("lock") - private long endEpochNanos; - - private enum EndState { - NOT_ENDED, - ENDING, - ENDED - } - - @GuardedBy("lock") - private EndState hasEnded; - - /** - * The thread on which {@link #end()} is called and which will be invoking the {@link - * SpanProcessor}s. This field is used to ensure that only this thread may modify the span while - * it is in state {@link EndState#ENDING} to prevent concurrent updates outside of {@link - * ExtendedSpanProcessor#onEnding(ReadWriteSpan)}. - */ - @GuardedBy("lock") - @Nullable - private Thread spanEndingThread; - - private SdkSpan( - SpanContext context, - String name, - InstrumentationScopeInfo instrumentationScopeInfo, - SpanKind kind, - SpanContext parentSpanContext, - SpanLimits spanLimits, - SpanProcessor spanProcessor, - AnchoredClock clock, - Resource resource, - @Nullable AttributesMap attributes, - @Nullable List links, - int totalRecordedLinks, - long startEpochNanos) { - this.context = context; - this.instrumentationScopeInfo = instrumentationScopeInfo; - this.parentSpanContext = parentSpanContext; - this.links = links; - this.totalRecordedLinks = totalRecordedLinks; - this.name = name; - this.kind = kind; - this.spanProcessor = spanProcessor; - this.resource = resource; - this.hasEnded = EndState.NOT_ENDED; - this.clock = clock; - this.startEpochNanos = startEpochNanos; - this.attributes = attributes; - this.spanLimits = spanLimits; - } - - /** - * Creates and starts a span with the given configuration. - * - * @param context supplies the trace_id and span_id for the newly started span. - * @param name the displayed name for the new span. - * @param kind the span kind. - * @param parentSpan the parent span, or {@link Span#getInvalid()} if this span is a root span. - * @param spanLimits limits applied to this span. - * @param spanProcessor handler called when the span starts and ends. - * @param tracerClock the tracer's clock - * @param resource the resource associated with this span. - * @param attributes the attributes set during span creation. - * @param links the links set during span creation, may be truncated. The list MUST be immutable. - * @return a new and started span. - */ - static SdkSpan startSpan( - SpanContext context, - String name, - InstrumentationScopeInfo instrumentationScopeInfo, - SpanKind kind, - Span parentSpan, - Context parentContext, - SpanLimits spanLimits, - SpanProcessor spanProcessor, - Clock tracerClock, - Resource resource, - @Nullable AttributesMap attributes, - @Nullable List links, - int totalRecordedLinks, - long userStartEpochNanos) { - boolean createdAnchoredClock; - AnchoredClock clock; - if (parentSpan instanceof SdkSpan) { - SdkSpan parentRecordEventsSpan = (SdkSpan) parentSpan; - clock = parentRecordEventsSpan.clock; - createdAnchoredClock = false; - } else { - clock = AnchoredClock.create(tracerClock); - createdAnchoredClock = true; - } - - long startEpochNanos; - if (userStartEpochNanos != 0) { - startEpochNanos = userStartEpochNanos; - } else if (createdAnchoredClock) { - // If this is a new AnchoredClock, the start time is now, so just use it to avoid - // recomputing current time. - startEpochNanos = clock.startTime(); - } else { - // AnchoredClock created in the past, so need to compute now. - startEpochNanos = clock.now(); - } - - SdkSpan span = - new SdkSpan( - context, - name, - instrumentationScopeInfo, - kind, - parentSpan.getSpanContext(), - spanLimits, - spanProcessor, - clock, - resource, - attributes, - links, - totalRecordedLinks, - startEpochNanos); - // Call onStart here instead of calling in the constructor to make sure the span is completely - // initialized. - if (spanProcessor.isStartRequired()) { - spanProcessor.onStart(parentContext, span); - } - return span; - } - - @Override - public SpanData toSpanData() { - // Copy within synchronized context - synchronized (lock) { - return SpanWrapper.create( - this, - getImmutableLinks(), - getImmutableTimedEvents(), - getImmutableAttributes(), - (attributes == null) ? 0 : attributes.getTotalAddedValues(), - totalRecordedEvents, - totalRecordedLinks, - status, - name, - endEpochNanos, - hasEnded == EndState.ENDED); - } - } - - @Override - @Nullable - public T getAttribute(AttributeKey key) { - synchronized (lock) { - return attributes == null ? null : attributes.get(key); - } - } - - @Override - public Attributes getAttributes() { - synchronized (lock) { - return attributes == null ? Attributes.empty() : attributes.immutableCopy(); - } - } - - @Override - public boolean hasEnded() { - synchronized (lock) { - return hasEnded == EndState.ENDED; - } - } - - @Override - public SpanContext getSpanContext() { - return context; - } - - @Override - public SpanContext getParentSpanContext() { - return parentSpanContext; - } - - /** - * Returns the name of the {@code Span}. - * - * @return the name of the {@code Span}. - */ - @Override - public String getName() { - synchronized (lock) { - return name; - } - } - - @Override - @Deprecated - public io.opentelemetry.sdk.common.InstrumentationLibraryInfo getInstrumentationLibraryInfo() { - return InstrumentationScopeUtil.toInstrumentationLibraryInfo(getInstrumentationScopeInfo()); - } - - @Override - public InstrumentationScopeInfo getInstrumentationScopeInfo() { - return instrumentationScopeInfo; - } - - /** - * Returns the latency of the {@code Span} in nanos. If still active then returns now() - start - * time. - * - * @return the latency of the {@code Span} in nanos. - */ - @Override - public long getLatencyNanos() { - synchronized (lock) { - return (hasEnded == EndState.NOT_ENDED ? clock.now() : endEpochNanos) - startEpochNanos; - } - } - - /** Returns the {@link AnchoredClock} used by this {@link Span}. */ - AnchoredClock getClock() { - return clock; - } - - @Override - public ReadWriteSpan setAttribute(AttributeKey key, T value) { - if (key == null || key.getKey().isEmpty() || value == null) { - return this; - } - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling setAttribute() on an ended Span."); - return this; - } - if (attributes == null) { - attributes = - AttributesMap.create( - spanLimits.getMaxNumberOfAttributes(), spanLimits.getMaxAttributeValueLength()); - } - - attributes.put(key, value); - } - return this; - } - - @GuardedBy("lock") - private boolean isModifiableByCurrentThread() { - return hasEnded == EndState.NOT_ENDED - || (hasEnded == EndState.ENDING && Thread.currentThread() == spanEndingThread); - } - - @Override - public ReadWriteSpan addEvent(String name) { - if (name == null) { - return this; - } - addTimedEvent(EventData.create(clock.now(), name, Attributes.empty(), 0)); - return this; - } - - @Override - public ReadWriteSpan addEvent(String name, long timestamp, TimeUnit unit) { - if (name == null || unit == null) { - return this; - } - addTimedEvent(EventData.create(unit.toNanos(timestamp), name, Attributes.empty(), 0)); - return this; - } - - @Override - public ReadWriteSpan addEvent(String name, Attributes attributes) { - if (name == null) { - return this; - } - if (attributes == null) { - attributes = Attributes.empty(); - } - int totalAttributeCount = attributes.size(); - addTimedEvent( - EventData.create( - clock.now(), - name, - AttributeUtil.applyAttributesLimit( - attributes, - spanLimits.getMaxNumberOfAttributesPerEvent(), - spanLimits.getMaxAttributeValueLength()), - totalAttributeCount)); - return this; - } - - @Override - public ReadWriteSpan addEvent(String name, Attributes attributes, long timestamp, TimeUnit unit) { - if (name == null || unit == null) { - return this; - } - if (attributes == null) { - attributes = Attributes.empty(); - } - int totalAttributeCount = attributes.size(); - addTimedEvent( - EventData.create( - unit.toNanos(timestamp), - name, - AttributeUtil.applyAttributesLimit( - attributes, - spanLimits.getMaxNumberOfAttributesPerEvent(), - spanLimits.getMaxAttributeValueLength()), - totalAttributeCount)); - return this; - } - - private void addTimedEvent(EventData timedEvent) { - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling addEvent() on an ended Span."); - return; - } - if (events == null) { - events = new ArrayList<>(); - } - if (events.size() < spanLimits.getMaxNumberOfEvents()) { - events.add(timedEvent); - } - totalRecordedEvents++; - } - } - - @Override -public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String description) { +package io.opentelemetry.sdk.trace; + +import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.internal.GuardedBy; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.SpanContext; +import io.opentelemetry.api.trace.SpanKind; +import io.opentelemetry.api.trace.StatusCode; +import io.opentelemetry.context.Context; +import io.opentelemetry.sdk.common.Clock; +import io.opentelemetry.sdk.common.InstrumentationScopeInfo; +import io.opentelemetry.sdk.internal.AttributeUtil; +import io.opentelemetry.sdk.internal.AttributesMap; +import io.opentelemetry.sdk.internal.InstrumentationScopeUtil; +import io.opentelemetry.sdk.resources.Resource; +import io.opentelemetry.sdk.trace.data.EventData; +import io.opentelemetry.sdk.trace.data.LinkData; +import io.opentelemetry.sdk.trace.data.SpanData; +import io.opentelemetry.sdk.trace.data.StatusData; +import io.opentelemetry.sdk.trace.internal.ExtendedSpanProcessor; +import io.opentelemetry.sdk.trace.internal.data.ExceptionEventData; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.annotation.Nullable; +import javax.annotation.concurrent.ThreadSafe; + +/** Implementation for the {@link Span} class that records trace events. */ +@ThreadSafe +final class SdkSpan implements ReadWriteSpan { + + private static final Logger logger = Logger.getLogger(SdkSpan.class.getName()); + + // The config used when constructing this Span. + private final SpanLimits spanLimits; + // Contains the identifiers associated with this Span. + private final SpanContext context; + // The parent SpanContext of this span. Invalid if this is a root span. + private final SpanContext parentSpanContext; + // Handler called when the span starts and ends. + private final SpanProcessor spanProcessor; + // The kind of the span. + private final SpanKind kind; + // The clock used to get the time. + private final AnchoredClock clock; + // The resource associated with this span. + private final Resource resource; + // instrumentation scope of the named tracer which created this span + private final InstrumentationScopeInfo instrumentationScopeInfo; + // The start time of the span. + private final long startEpochNanos; + // Lock used to internally guard the mutable state of this instance + private final Object lock = new Object(); + + @GuardedBy("lock") + private String name; + + // Set of recorded attributes. DO NOT CALL any other method that changes the ordering of events. + @GuardedBy("lock") + @Nullable + private AttributesMap attributes; + + // List of recorded events. + @GuardedBy("lock") + @Nullable + private List events; + + // Number of events recorded. + @GuardedBy("lock") + private int totalRecordedEvents = 0; + + // The displayed name of the span. + // List of recorded links to parent and child spans. + @GuardedBy("lock") + @Nullable + List links; + + // Number of links recorded. + @GuardedBy("lock") + private int totalRecordedLinks; + + // The status of the span. + @GuardedBy("lock") + private StatusData status = StatusData.unset(); + + // The end time of the span. + @GuardedBy("lock") + private long endEpochNanos; + + private enum EndState { + NOT_ENDED, + ENDING, + ENDED + } + + @GuardedBy("lock") + private EndState hasEnded; + + /** + * The thread on which {@link #end()} is called and which will be invoking the {@link + * SpanProcessor}s. This field is used to ensure that only this thread may modify the span while + * it is in state {@link EndState#ENDING} to prevent concurrent updates outside of {@link + * ExtendedSpanProcessor#onEnding(ReadWriteSpan)}. + */ + @GuardedBy("lock") + @Nullable + private Thread spanEndingThread; + + private SdkSpan( + SpanContext context, + String name, + InstrumentationScopeInfo instrumentationScopeInfo, + SpanKind kind, + SpanContext parentSpanContext, + SpanLimits spanLimits, + SpanProcessor spanProcessor, + AnchoredClock clock, + Resource resource, + @Nullable AttributesMap attributes, + @Nullable List links, + int totalRecordedLinks, + long startEpochNanos) { + this.context = context; + this.instrumentationScopeInfo = instrumentationScopeInfo; + this.parentSpanContext = parentSpanContext; + this.links = links; + this.totalRecordedLinks = totalRecordedLinks; + this.name = name; + this.kind = kind; + this.spanProcessor = spanProcessor; + this.resource = resource; + this.hasEnded = EndState.NOT_ENDED; + this.clock = clock; + this.startEpochNanos = startEpochNanos; + this.attributes = attributes; + this.spanLimits = spanLimits; + } + + /** + * Creates and starts a span with the given configuration. + * + * @param context supplies the trace_id and span_id for the newly started span. + * @param name the displayed name for the new span. + * @param kind the span kind. + * @param parentSpan the parent span, or {@link Span#getInvalid()} if this span is a root span. + * @param spanLimits limits applied to this span. + * @param spanProcessor handler called when the span starts and ends. + * @param tracerClock the tracer's clock + * @param resource the resource associated with this span. + * @param attributes the attributes set during span creation. + * @param links the links set during span creation, may be truncated. The list MUST be immutable. + * @return a new and started span. + */ + static SdkSpan startSpan( + SpanContext context, + String name, + InstrumentationScopeInfo instrumentationScopeInfo, + SpanKind kind, + Span parentSpan, + Context parentContext, + SpanLimits spanLimits, + SpanProcessor spanProcessor, + Clock tracerClock, + Resource resource, + @Nullable AttributesMap attributes, + @Nullable List links, + int totalRecordedLinks, + long userStartEpochNanos) { + boolean createdAnchoredClock; + AnchoredClock clock; + if (parentSpan instanceof SdkSpan) { + SdkSpan parentRecordEventsSpan = (SdkSpan) parentSpan; + clock = parentRecordEventsSpan.clock; + createdAnchoredClock = false; + } else { + clock = AnchoredClock.create(tracerClock); + createdAnchoredClock = true; + } + + long startEpochNanos; + if (userStartEpochNanos != 0) { + startEpochNanos = userStartEpochNanos; + } else if (createdAnchoredClock) { + // If this is a new AnchoredClock, the start time is now, so just use it to avoid + // recomputing current time. + startEpochNanos = clock.startTime(); + } else { + // AnchoredClock created in the past, so need to compute now. + startEpochNanos = clock.now(); + } + + SdkSpan span = + new SdkSpan( + context, + name, + instrumentationScopeInfo, + kind, + parentSpan.getSpanContext(), + spanLimits, + spanProcessor, + clock, + resource, + attributes, + links, + totalRecordedLinks, + startEpochNanos); + // Call onStart here instead of calling in the constructor to make sure the span is completely + // initialized. + if (spanProcessor.isStartRequired()) { + spanProcessor.onStart(parentContext, span); + } + return span; + } + + @Override + public SpanData toSpanData() { + // Copy within synchronized context + synchronized (lock) { + return SpanWrapper.create( + this, + getImmutableLinks(), + getImmutableTimedEvents(), + getImmutableAttributes(), + (attributes == null) ? 0 : attributes.getTotalAddedValues(), + totalRecordedEvents, + totalRecordedLinks, + status, + name, + endEpochNanos, + hasEnded == EndState.ENDED); + } + } + + @Override + @Nullable + public T getAttribute(AttributeKey key) { + synchronized (lock) { + return attributes == null ? null : attributes.get(key); + } + } + + @Override + public Attributes getAttributes() { + synchronized (lock) { + return attributes == null ? Attributes.empty() : attributes.immutableCopy(); + } + } + + @Override + public boolean hasEnded() { + synchronized (lock) { + return hasEnded == EndState.ENDED; + } + } + + @Override + public SpanContext getSpanContext() { + return context; + } + + @Override + public SpanContext getParentSpanContext() { + return parentSpanContext; + } + + /** + * Returns the name of the {@code Span}. + * + * @return the name of the {@code Span}. + */ + @Override + public String getName() { + synchronized (lock) { + return name; + } + } + + @Override + @Deprecated + public io.opentelemetry.sdk.common.InstrumentationLibraryInfo getInstrumentationLibraryInfo() { + return InstrumentationScopeUtil.toInstrumentationLibraryInfo(getInstrumentationScopeInfo()); + } + + @Override + public InstrumentationScopeInfo getInstrumentationScopeInfo() { + return instrumentationScopeInfo; + } + + /** + * Returns the latency of the {@code Span} in nanos. If still active then returns now() - start + * time. + * + * @return the latency of the {@code Span} in nanos. + */ + @Override + public long getLatencyNanos() { + synchronized (lock) { + return (hasEnded == EndState.NOT_ENDED ? clock.now() : endEpochNanos) - startEpochNanos; + } + } + + /** Returns the {@link AnchoredClock} used by this {@link Span}. */ + AnchoredClock getClock() { + return clock; + } + + @Override + public ReadWriteSpan setAttribute(AttributeKey key, T value) { + if (key == null || key.getKey().isEmpty() || value == null) { + return this; + } + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling setAttribute() on an ended Span."); + return this; + } + if (attributes == null) { + attributes = + AttributesMap.create( + spanLimits.getMaxNumberOfAttributes(), spanLimits.getMaxAttributeValueLength()); + } + + attributes.put(key, value); + } + return this; + } + + @GuardedBy("lock") + private boolean isModifiableByCurrentThread() { + return hasEnded == EndState.NOT_ENDED + || (hasEnded == EndState.ENDING && Thread.currentThread() == spanEndingThread); + } + + @Override + public ReadWriteSpan addEvent(String name) { + if (name == null) { + return this; + } + addTimedEvent(EventData.create(clock.now(), name, Attributes.empty(), 0)); + return this; + } + + @Override + public ReadWriteSpan addEvent(String name, long timestamp, TimeUnit unit) { + if (name == null || unit == null) { + return this; + } + addTimedEvent(EventData.create(unit.toNanos(timestamp), name, Attributes.empty(), 0)); + return this; + } + + @Override + public ReadWriteSpan addEvent(String name, Attributes attributes) { + if (name == null) { + return this; + } + if (attributes == null) { + attributes = Attributes.empty(); + } + int totalAttributeCount = attributes.size(); + addTimedEvent( + EventData.create( + clock.now(), + name, + AttributeUtil.applyAttributesLimit( + attributes, + spanLimits.getMaxNumberOfAttributesPerEvent(), + spanLimits.getMaxAttributeValueLength()), + totalAttributeCount)); + return this; + } + + @Override + public ReadWriteSpan addEvent(String name, Attributes attributes, long timestamp, TimeUnit unit) { + if (name == null || unit == null) { + return this; + } + if (attributes == null) { + attributes = Attributes.empty(); + } + int totalAttributeCount = attributes.size(); + addTimedEvent( + EventData.create( + unit.toNanos(timestamp), + name, + AttributeUtil.applyAttributesLimit( + attributes, + spanLimits.getMaxNumberOfAttributesPerEvent(), + spanLimits.getMaxAttributeValueLength()), + totalAttributeCount)); + return this; + } + + private void addTimedEvent(EventData timedEvent) { + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling addEvent() on an ended Span."); + return; + } + if (events == null) { + events = new ArrayList<>(); + } + if (events.size() < spanLimits.getMaxNumberOfEvents()) { + events.add(timedEvent); + } + totalRecordedEvents++; + } + } + + @Override + public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String description) { if (statusCode == null) { - return this; // No action if statusCode is null + return this; // No action if statusCode is null } synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling setStatus() on an ended Span."); - return this; // Prevent modification if the span has ended - } + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling setStatus() on an ended Span."); + return this; // Prevent modification if the span has ended + } - // Check the current status and enforce priority rules - StatusCode currentStatusCode = this.status.getStatusCode(); + // Check the current status and enforce priority rules + StatusCode currentStatusCode = this.status.getStatusCode(); - // Prevent setting a lower priority status - if (currentStatusCode == StatusCode.OK) { - return this; // Do not allow lower priority status to override OK - } else if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { - logger.log(Level.WARNING, "Cannot set status to UNSET when current status is ERROR."); - return this; // Do not allow UNSET to override ERROR - } + // Prevent setting a lower priority status + if (currentStatusCode == StatusCode.OK) { + return this; // Do not allow lower priority status to override OK + } else if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { + logger.log(Level.WARNING, "Cannot set status to UNSET when current status is ERROR."); + return this; // Do not allow UNSET to override ERROR + } - // Set the status, ignoring description if status is not ERROR - if (statusCode == StatusCode.ERROR) { - this.status = StatusData.create(statusCode, description); // Allow description for ERROR - } else { - if (currentStatusCode != statusCode) { - this.status = StatusData.create(statusCode, null); // Ignore description for non-ERROR statuses + // Set the status, ignoring description if status is not ERROR + if (statusCode == StatusCode.ERROR) { + this.status = StatusData.create(statusCode, description); // Allow description for ERROR + } else { + if (currentStatusCode != statusCode) { + this.status = + StatusData.create(statusCode, null); // Ignore description for non-ERROR statuses } + } } - } return this; // Return the current span for method chaining -} + } + + @Override + public ReadWriteSpan recordException(Throwable exception) { + recordException(exception, Attributes.empty()); + return this; + } + + @Override + public ReadWriteSpan recordException(Throwable exception, Attributes additionalAttributes) { + if (exception == null) { + return this; + } + if (additionalAttributes == null) { + additionalAttributes = Attributes.empty(); + } + + addTimedEvent( + ExceptionEventData.create(spanLimits, clock.now(), exception, additionalAttributes)); + return this; + } + + @Override + public ReadWriteSpan updateName(String name) { + if (name == null) { + return this; + } + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling updateName() on an ended Span."); + return this; + } + this.name = name; + } + return this; + } + + @Override + public Span addLink(SpanContext spanContext, Attributes attributes) { + if (spanContext == null || !spanContext.isValid()) { + return this; + } + if (attributes == null) { + attributes = Attributes.empty(); + } + LinkData link = + LinkData.create( + spanContext, + AttributeUtil.applyAttributesLimit( + attributes, + spanLimits.getMaxNumberOfAttributesPerLink(), + spanLimits.getMaxAttributeValueLength())); + synchronized (lock) { + if (!isModifiableByCurrentThread()) { + logger.log(Level.FINE, "Calling addLink() on an ended Span."); + return this; + } + if (links == null) { + links = new ArrayList<>(); + } + if (links.size() < spanLimits.getMaxNumberOfLinks()) { + links.add(link); + } + totalRecordedLinks++; + } + return this; + } + + @Override + public void end() { + endInternal(clock.now()); + } + + @Override + public void end(long timestamp, TimeUnit unit) { + if (unit == null) { + unit = TimeUnit.NANOSECONDS; + } + endInternal(timestamp == 0 ? clock.now() : unit.toNanos(timestamp)); + } + + private void endInternal(long endEpochNanos) { + synchronized (lock) { + if (hasEnded != EndState.NOT_ENDED) { + logger.log(Level.FINE, "Calling end() on an ended or ending Span."); + return; + } + this.endEpochNanos = endEpochNanos; + spanEndingThread = Thread.currentThread(); + hasEnded = EndState.ENDING; + } + if (spanProcessor instanceof ExtendedSpanProcessor) { + ExtendedSpanProcessor extendedSpanProcessor = (ExtendedSpanProcessor) spanProcessor; + if (extendedSpanProcessor.isOnEndingRequired()) { + extendedSpanProcessor.onEnding(this); + } + } + synchronized (lock) { + hasEnded = EndState.ENDED; + } + if (spanProcessor.isEndRequired()) { + spanProcessor.onEnd(this); + } + } - @Override - public ReadWriteSpan recordException(Throwable exception) { - recordException(exception, Attributes.empty()); - return this; - } - - @Override - public ReadWriteSpan recordException(Throwable exception, Attributes additionalAttributes) { - if (exception == null) { - return this; - } - if (additionalAttributes == null) { - additionalAttributes = Attributes.empty(); - } - - addTimedEvent( - ExceptionEventData.create(spanLimits, clock.now(), exception, additionalAttributes)); - return this; - } - - @Override - public ReadWriteSpan updateName(String name) { - if (name == null) { - return this; - } - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling updateName() on an ended Span."); - return this; - } - this.name = name; - } - return this; - } - - @Override - public Span addLink(SpanContext spanContext, Attributes attributes) { - if (spanContext == null || !spanContext.isValid()) { - return this; - } - if (attributes == null) { - attributes = Attributes.empty(); - } - LinkData link = - LinkData.create( - spanContext, - AttributeUtil.applyAttributesLimit( - attributes, - spanLimits.getMaxNumberOfAttributesPerLink(), - spanLimits.getMaxAttributeValueLength())); - synchronized (lock) { - if (!isModifiableByCurrentThread()) { - logger.log(Level.FINE, "Calling addLink() on an ended Span."); - return this; - } - if (links == null) { - links = new ArrayList<>(); - } - if (links.size() < spanLimits.getMaxNumberOfLinks()) { - links.add(link); - } - totalRecordedLinks++; - } - return this; - } - - @Override - public void end() { - endInternal(clock.now()); - } - - @Override - public void end(long timestamp, TimeUnit unit) { - if (unit == null) { - unit = TimeUnit.NANOSECONDS; - } - endInternal(timestamp == 0 ? clock.now() : unit.toNanos(timestamp)); - } - - private void endInternal(long endEpochNanos) { - synchronized (lock) { - if (hasEnded != EndState.NOT_ENDED) { - logger.log(Level.FINE, "Calling end() on an ended or ending Span."); - return; - } - this.endEpochNanos = endEpochNanos; - spanEndingThread = Thread.currentThread(); - hasEnded = EndState.ENDING; - } - if (spanProcessor instanceof ExtendedSpanProcessor) { - ExtendedSpanProcessor extendedSpanProcessor = (ExtendedSpanProcessor) spanProcessor; - if (extendedSpanProcessor.isOnEndingRequired()) { - extendedSpanProcessor.onEnding(this); - } - } - synchronized (lock) { - hasEnded = EndState.ENDED; - } - if (spanProcessor.isEndRequired()) { - spanProcessor.onEnd(this); - } - } - - @Override - public boolean isRecording() { - synchronized (lock) { - return hasEnded != EndState.ENDED; - } - } - - Resource getResource() { - return resource; - } - - @Override - public SpanKind getKind() { - return kind; - } - - long getStartEpochNanos() { - return startEpochNanos; - } - - @GuardedBy("lock") - private List getImmutableTimedEvents() { - if (events == null) { - return Collections.emptyList(); - } - - // if the span has ended, then the events are unmodifiable - // so we can return them directly and save copying all the data. - if (hasEnded == EndState.ENDED) { - return Collections.unmodifiableList(events); - } - - return Collections.unmodifiableList(new ArrayList<>(events)); - } - - @GuardedBy("lock") - private Attributes getImmutableAttributes() { - if (attributes == null || attributes.isEmpty()) { - return Attributes.empty(); - } - // if the span has ended, then the attributes are unmodifiable, - // so we can return them directly and save copying all the data. - if (hasEnded == EndState.ENDED) { - return attributes; - } - // otherwise, make a copy of the data into an immutable container. - return attributes.immutableCopy(); - } - - @GuardedBy("lock") - private List getImmutableLinks() { - if (links == null || links.isEmpty()) { - return Collections.emptyList(); - } - return Collections.unmodifiableList(links); - } - - @Override - public String toString() { - String name; - String attributes; - String status; - long totalRecordedEvents; - long endEpochNanos; - long totalRecordedLinks; - synchronized (lock) { - name = this.name; - attributes = String.valueOf(this.attributes); - status = String.valueOf(this.status); - totalRecordedEvents = this.totalRecordedEvents; - endEpochNanos = this.endEpochNanos; - totalRecordedLinks = this.totalRecordedLinks; - } - return "SdkSpan{traceId=" - + context.getTraceId() - + ", spanId=" - + context.getSpanId() - + ", parentSpanContext=" - + parentSpanContext - + ", name=" - + name - + ", kind=" - + kind - + ", attributes=" - + attributes - + ", status=" - + status - + ", totalRecordedEvents=" - + totalRecordedEvents - + ", totalRecordedLinks=" - + totalRecordedLinks - + ", startEpochNanos=" - + startEpochNanos - + ", endEpochNanos=" - + endEpochNanos - + "}"; - } - } \ No newline at end of file + @Override + public boolean isRecording() { + synchronized (lock) { + return hasEnded != EndState.ENDED; + } + } + + Resource getResource() { + return resource; + } + + @Override + public SpanKind getKind() { + return kind; + } + + long getStartEpochNanos() { + return startEpochNanos; + } + + @GuardedBy("lock") + private List getImmutableTimedEvents() { + if (events == null) { + return Collections.emptyList(); + } + + // if the span has ended, then the events are unmodifiable + // so we can return them directly and save copying all the data. + if (hasEnded == EndState.ENDED) { + return Collections.unmodifiableList(events); + } + + return Collections.unmodifiableList(new ArrayList<>(events)); + } + + @GuardedBy("lock") + private Attributes getImmutableAttributes() { + if (attributes == null || attributes.isEmpty()) { + return Attributes.empty(); + } + // if the span has ended, then the attributes are unmodifiable, + // so we can return them directly and save copying all the data. + if (hasEnded == EndState.ENDED) { + return attributes; + } + // otherwise, make a copy of the data into an immutable container. + return attributes.immutableCopy(); + } + + @GuardedBy("lock") + private List getImmutableLinks() { + if (links == null || links.isEmpty()) { + return Collections.emptyList(); + } + return Collections.unmodifiableList(links); + } + + @Override + public String toString() { + String name; + String attributes; + String status; + long totalRecordedEvents; + long endEpochNanos; + long totalRecordedLinks; + synchronized (lock) { + name = this.name; + attributes = String.valueOf(this.attributes); + status = String.valueOf(this.status); + totalRecordedEvents = this.totalRecordedEvents; + endEpochNanos = this.endEpochNanos; + totalRecordedLinks = this.totalRecordedLinks; + } + return "SdkSpan{traceId=" + + context.getTraceId() + + ", spanId=" + + context.getSpanId() + + ", parentSpanContext=" + + parentSpanContext + + ", name=" + + name + + ", kind=" + + kind + + ", attributes=" + + attributes + + ", status=" + + status + + ", totalRecordedEvents=" + + totalRecordedEvents + + ", totalRecordedLinks=" + + totalRecordedLinks + + ", startEpochNanos=" + + startEpochNanos + + ", endEpochNanos=" + + endEpochNanos + + "}"; + } +} From aa731c7544b80c7ee9b27a3ed6b9d8f73088d231 Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 25 Oct 2024 22:47:35 +0100 Subject: [PATCH 04/19] fix comments --- .gitignore | 2 - buildSrc/build.gradle.kts | 32 +- hs_err_pid13224.log | 854 -------------------------------------- 3 files changed, 18 insertions(+), 870 deletions(-) delete mode 100644 hs_err_pid13224.log diff --git a/.gitignore b/.gitignore index 4a0cebed070..6dd7dc74f2f 100644 --- a/.gitignore +++ b/.gitignore @@ -34,5 +34,3 @@ bin # Vim .swp - -.fake \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 09b2d6644e4..d1bbd0d4245 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -22,20 +22,24 @@ fun hasLauncherForJavaVersion(version: Int): Boolean { } spotless { - kotlinGradle { - ktlint().editorConfigOverride(mapOf( - "indent_size" to "2", - "continuation_indent_size" to "2", - "max_line_length" to "160", - "insert_final_newline" to "true", - "ktlint_standard_no-wildcard-imports" to "disabled", - "ktlint_standard_max-line-length" to "disabled", - "ktlint_standard_trailing-comma-on-call-site" to "disabled", - "ktlint_standard_trailing-comma-on-declaration-site" to "disabled", - "ktlint_standard_wrapping" to "disabled" - )) - target("**/*.gradle.kts") - } +kotlinGradle { + ktlint().editorConfigOverride(mapOf( + "indent_size" to "2", + "continuation_indent_size" to "2", + "max_line_length" to "160", + "insert_final_newline" to "true", + "ktlint_standard_no-wildcard-imports" to "disabled", + // ktlint does not break up long lines, it just fails on them + "ktlint_standard_max-line-length" to "disabled", + // ktlint makes it *very* hard to locate where this actually happened + "ktlint_standard_trailing-comma-on-call-site" to "disabled", + // depends on ktlint_standard_wrapping + "ktlint_standard_trailing-comma-on-declaration-site" to "disabled", + // also very hard to find out where this happens + "ktlint_standard_wrapping" to "disabled" + )) + target("**/*.gradle.kts") + } } repositories { diff --git a/hs_err_pid13224.log b/hs_err_pid13224.log deleted file mode 100644 index c3c9a2fd639..00000000000 --- a/hs_err_pid13224.log +++ /dev/null @@ -1,854 +0,0 @@ -# -# There is insufficient memory for the Java Runtime Environment to continue. -# Native memory allocation (mmap) failed to map 26214400 bytes. Error detail: G1 virtual space -# Possible reasons: -# The system is out of physical RAM or swap space -# This process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap -# Possible solutions: -# Reduce memory load on the system -# Increase physical memory or swap space -# Check if swap backing store is full -# Decrease Java heap size (-Xmx/-Xms) -# Decrease number of Java threads -# Decrease Java thread stack sizes (-Xss) -# Set larger code cache with -XX:ReservedCodeCacheSize= -# JVM is running with Unscaled Compressed Oops mode in which the Java heap is -# placed in the first 4GB address space. The Java Heap base address is the -# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress -# to set the Java Heap base and to place the Java Heap above 4GB virtual address. -# This output file may be truncated or incomplete. -# -# Out of Memory Error (os_windows.cpp:3614), pid=13224, tid=8 -# -# JRE version: OpenJDK Runtime Environment (Red_Hat-17.0.13.0+11-1) (17.0.13+11) (build 17.0.13+11-LTS) -# Java VM: OpenJDK 64-Bit Server VM (Red_Hat-17.0.13.0+11-1) (17.0.13+11-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) -# No core dump will be written. Minidumps are not enabled by default on client versions of Windows -# - ---------------- S U M M A R Y ------------ - -Command Line: -XX:MaxMetaspaceSize=512m --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -javaagent:C:\Users\LENOVO YOGA\.gradle\wrapper\dists\gradle-8.10.2-bin\a04bxjujx95o3nb99gddekhwo\gradle-8.10.2\lib\agents\gradle-instrumentation-agent-8.10.2.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.10.2 - -Host: Intel(R) Pentium(R) CPU 4405U @ 2.10GHz, 4 cores, 7G, Windows 11 , 64 bit Build 22000 (10.0.22000.2538) -Time: Thu Oct 24 04:34:02 2024 W. Central Africa Standard Time elapsed time: 51.466991 seconds (0d 0h 0m 51s) - ---------------- T H R E A D --------------- - -Current thread (0x00000122b0eff900): VMThread "VM Thread" [stack: 0x000000122be00000,0x000000122bf00000] [id=8] - -Stack: [0x000000122be00000,0x000000122bf00000] -Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) -V [jvm.dll+0x681019] -V [jvm.dll+0x838b6a] -V [jvm.dll+0x83a62e] -V [jvm.dll+0x83ac93] -V [jvm.dll+0x24858f] -V [jvm.dll+0x67dd59] -V [jvm.dll+0x67282a] -V [jvm.dll+0x30852b] -V [jvm.dll+0x30fa26] -V [jvm.dll+0x35fd2e] -V [jvm.dll+0x35ff6f] -V [jvm.dll+0x2df4dc] -V [jvm.dll+0x2dd89f] -V [jvm.dll+0x2dcfcc] -V [jvm.dll+0x32075b] -V [jvm.dll+0x83f18d] -V [jvm.dll+0x83fed2] -V [jvm.dll+0x8403ff] -V [jvm.dll+0x8407e4] -V [jvm.dll+0x8408b0] -V [jvm.dll+0x7e7e2c] -V [jvm.dll+0x67fee7] -C [ucrtbase.dll+0x26c0c] -C [KERNEL32.DLL+0x153e0] -C [ntdll.dll+0x485b] - -VM_Operation (0x000000122d5f3ce0): G1CollectForAllocation, mode: safepoint, requested by thread 0x00000122d1170900 - - ---------------- P R O C E S S --------------- - -Threads class SMR info: -_java_thread_list=0x00000122d2e5dce0, length=35, elements={ -0x000001229308c830, 0x00000122b0f056b0, 0x00000122b0f06330, 0x00000122b0f1e920, -0x00000122b0f202f0, 0x00000122b0f20cb0, 0x00000122b0f221e0, 0x00000122b0f28300, -0x00000122b0f2b930, 0x00000122b0f54f10, 0x00000122d01ac3f0, 0x00000122d027a2b0, -0x00000122d1a34440, 0x00000122d054fa30, 0x00000122d04fb890, 0x00000122d1973a30, -0x00000122d1974720, 0x00000122d11703f0, 0x00000122d1170900, 0x00000122d1172760, -0x00000122d1170e10, 0x00000122d116f9d0, 0x00000122d1171830, 0x00000122d1171320, -0x00000122d1171d40, 0x00000122d116efb0, 0x00000122d1172250, 0x00000122d116f4c0, -0x00000122d116fee0, 0x00000122d1bf6600, 0x00000122d1bf9db0, 0x00000122d1bf7f50, -0x00000122d1bf7a40, 0x00000122d1bfa2c0, 0x00000122d1bf5be0 -} - -Java Threads: ( => current thread ) - 0x000001229308c830 JavaThread "main" [_thread_blocked, id=13160, stack(0x000000122b800000,0x000000122b900000)] - 0x00000122b0f056b0 JavaThread "Reference Handler" daemon [_thread_blocked, id=15508, stack(0x000000122bf00000,0x000000122c000000)] - 0x00000122b0f06330 JavaThread "Finalizer" daemon [_thread_blocked, id=15848, stack(0x000000122c000000,0x000000122c100000)] - 0x00000122b0f1e920 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4532, stack(0x000000122c100000,0x000000122c200000)] - 0x00000122b0f202f0 JavaThread "Attach Listener" daemon [_thread_blocked, id=12192, stack(0x000000122c200000,0x000000122c300000)] - 0x00000122b0f20cb0 JavaThread "Service Thread" daemon [_thread_blocked, id=13604, stack(0x000000122c300000,0x000000122c400000)] - 0x00000122b0f221e0 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=8596, stack(0x000000122c400000,0x000000122c500000)] - 0x00000122b0f28300 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=3332, stack(0x000000122c500000,0x000000122c600000)] - 0x00000122b0f2b930 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=11860, stack(0x000000122c600000,0x000000122c700000)] - 0x00000122b0f54f10 JavaThread "Sweeper thread" daemon [_thread_blocked, id=12392, stack(0x000000122c700000,0x000000122c800000)] - 0x00000122d01ac3f0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=12784, stack(0x000000122c800000,0x000000122c900000)] - 0x00000122d027a2b0 JavaThread "Notification Thread" daemon [_thread_blocked, id=3964, stack(0x000000122c900000,0x000000122ca00000)] - 0x00000122d1a34440 JavaThread "Daemon health stats" [_thread_blocked, id=14900, stack(0x000000122cf00000,0x000000122d000000)] - 0x00000122d054fa30 JavaThread "Incoming local TCP Connector on port 53329" [_thread_in_native, id=1920, stack(0x000000122d000000,0x000000122d100000)] - 0x00000122d04fb890 JavaThread "Daemon periodic checks" [_thread_blocked, id=1244, stack(0x000000122d100000,0x000000122d200000)] - 0x00000122d1973a30 JavaThread "Daemon" [_thread_blocked, id=11828, stack(0x000000122d200000,0x000000122d300000)] - 0x00000122d1974720 JavaThread "Handler for socket connection from /127.0.0.1:53329 to /127.0.0.1:53331" [_thread_in_native, id=4296, stack(0x000000122d300000,0x000000122d400000)] - 0x00000122d11703f0 JavaThread "Cancel handler" [_thread_blocked, id=14160, stack(0x000000122d400000,0x000000122d500000)] - 0x00000122d1170900 JavaThread "Daemon worker" [_thread_blocked, id=13688, stack(0x000000122d500000,0x000000122d600000)] - 0x00000122d1172760 JavaThread "Asynchronous log dispatcher for DefaultDaemonConnection: socket connection from /127.0.0.1:53329 to /127.0.0.1:53331" [_thread_blocked, id=14172, stack(0x000000122d600000,0x000000122d700000)] - 0x00000122d1170e10 JavaThread "Stdin handler" [_thread_blocked, id=8952, stack(0x000000122d700000,0x000000122d800000)] - 0x00000122d116f9d0 JavaThread "Daemon client event forwarder" [_thread_blocked, id=13476, stack(0x000000122d800000,0x000000122d900000)] - 0x00000122d1171830 JavaThread "Cache worker for journal cache (C:\Users\LENOVO YOGA\.gradle\caches\journal-1)" [_thread_blocked, id=5892, stack(0x000000122d900000,0x000000122da00000)] - 0x00000122d1171320 JavaThread "File lock request listener" [_thread_in_native, id=6952, stack(0x000000122da00000,0x000000122db00000)] - 0x00000122d1171d40 JavaThread "Cache worker for file hash cache (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\fileHashes)" [_thread_blocked, id=15248, stack(0x000000122db00000,0x000000122dc00000)] - 0x00000122d116efb0 JavaThread "Cache worker for file hash cache (C:\Users\LENOVO YOGA\opentelemetry-java2\.gradle\8.10.2\fileHashes)" [_thread_blocked, id=16420, stack(0x000000122dc00000,0x000000122dd00000)] - 0x00000122d1172250 JavaThread "Cache worker for Build Output Cleanup Cache (C:\Users\LENOVO YOGA\opentelemetry-java2\.gradle\buildOutputCleanup)" [_thread_blocked, id=16424, stack(0x000000122dd00000,0x000000122de00000)] - 0x00000122d116f4c0 JavaThread "Cache worker for Build Output Cleanup Cache (C:\Users\LENOVO YOGA\opentelemetry-java2\buildSrc\.gradle\buildOutputCleanup)" [_thread_blocked, id=16428, stack(0x000000122de00000,0x000000122df00000)] - 0x00000122d116fee0 JavaThread "File watcher server" daemon [_thread_in_native, id=16432, stack(0x000000122df00000,0x000000122e000000)] - 0x00000122d1bf6600 JavaThread "File watcher consumer" daemon [_thread_blocked, id=16436, stack(0x000000122e000000,0x000000122e100000)] - 0x00000122d1bf9db0 JavaThread "Cache worker for checksums cache (C:\Users\LENOVO YOGA\opentelemetry-java2\.gradle\8.10.2\checksums)" [_thread_blocked, id=16444, stack(0x000000122e100000,0x000000122e200000)] - 0x00000122d1bf7f50 JavaThread "Cache worker for file content cache (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\fileContent)" [_thread_blocked, id=16448, stack(0x000000122e200000,0x000000122e300000)] - 0x00000122d1bf7a40 JavaThread "Cache worker for cache directory md-rule (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\md-rule)" [_thread_blocked, id=16452, stack(0x000000122e300000,0x000000122e400000)] - 0x00000122d1bfa2c0 JavaThread "Cache worker for cache directory md-supplier (C:\Users\LENOVO YOGA\.gradle\caches\8.10.2\md-supplier)" [_thread_blocked, id=16456, stack(0x000000122e400000,0x000000122e500000)] - 0x00000122d1bf5be0 JavaThread "File lock release action executor" [_thread_blocked, id=16540, stack(0x000000122e600000,0x000000122e700000)] - -Other Threads: -=>0x00000122b0eff900 VMThread "VM Thread" [stack: 0x000000122be00000,0x000000122bf00000] [id=8] - 0x000001229308d6b0 WatcherThread [stack: 0x000000122ca00000,0x000000122cb00000] [id=7568] - 0x00000122930e5bc0 GCTaskThread "GC Thread#0" [stack: 0x000000122b900000,0x000000122ba00000] [id=6064] - 0x00000122d02a9eb0 GCTaskThread "GC Thread#1" [stack: 0x000000122cb00000,0x000000122cc00000] [id=10524] - 0x00000122d04fec00 GCTaskThread "GC Thread#2" [stack: 0x000000122cc00000,0x000000122cd00000] [id=13884] - 0x00000122d08c1b90 GCTaskThread "GC Thread#3" [stack: 0x000000122cd00000,0x000000122ce00000] [id=14068] - 0x00000122930f58d0 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000122ba00000,0x000000122bb00000] [id=8028] - 0x00000122930f61f0 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000122bb00000,0x000000122bc00000] [id=8156] - 0x000001229312df10 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000122bc00000,0x000000122bd00000] [id=9704] - 0x00000122d0a4f050 ConcurrentGCThread "G1 Refine#1" [stack: 0x000000122ce00000,0x000000122cf00000] [id=4192] - 0x00000122d35f8070 ConcurrentGCThread "G1 Refine#2" [stack: 0x000000122e500000,0x000000122e600000] [id=16504] - 0x000001229312ec10 ConcurrentGCThread "G1 Service" [stack: 0x000000122bd00000,0x000000122be00000] [id=14800] - -Threads with active compile tasks: - -VM state: at safepoint (normal execution) - -VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) -[0x0000012293089400] Threads_lock - owner thread: 0x00000122b0eff900 -[0x00000122930896d0] Heap_lock - owner thread: 0x00000122d1170900 - -Heap address: 0x0000000088a00000, size: 1910 MB, Compressed Oops mode: 32-bit - -CDS archive(s) mapped at: [0x00000122b1000000-0x00000122b1bb0000-0x00000122b1bb0000), size 12255232, SharedBaseAddress: 0x00000122b1000000, ArchiveRelocationMode: 1. -Compressed class space mapped at: 0x00000122b2000000-0x00000122cc000000, reserved size: 436207616 -Narrow klass base: 0x00000122b1000000, Narrow klass shift: 0, Narrow klass range: 0x100000000 - -GC Precious Log: - CPUs: 4 total, 4 available - Memory: 7633M - Large Page Support: Disabled - NUMA Support: Disabled - Compressed Oops: Enabled (32-bit) - Heap Region Size: 1M - Heap Min Capacity: 8M - Heap Initial Capacity: 120M - Heap Max Capacity: 1910M - Pre-touch: Disabled - Parallel Workers: 4 - Concurrent Workers: 1 - Concurrent Refinement Workers: 4 - Periodic GC: Disabled - -Heap: - garbage-first heap total 128000K, used 71808K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 2 young (2048K), 2 survivors (2048K) - Metaspace used 90440K, committed 91008K, reserved 557056K - class space used 11560K, committed 11840K, reserved 425984K - -Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next) -| 0|0x0000000088a00000, 0x0000000088b00000, 0x0000000088b00000|100%|HS| |TAMS 0x0000000088b00000, 0x0000000088b00000| Complete -| 1|0x0000000088b00000, 0x0000000088c00000, 0x0000000088c00000|100%|HC| |TAMS 0x0000000088c00000, 0x0000000088c00000| Complete -| 2|0x0000000088c00000, 0x0000000088d00000, 0x0000000088d00000|100%|HC| |TAMS 0x0000000088d00000, 0x0000000088d00000| Complete -| 3|0x0000000088d00000, 0x0000000088e00000, 0x0000000088e00000|100%|HC| |TAMS 0x0000000088e00000, 0x0000000088e00000| Complete -| 4|0x0000000088e00000, 0x0000000088f00000, 0x0000000088f00000|100%| O| |TAMS 0x0000000088f00000, 0x0000000088f00000| Untracked -| 5|0x0000000088f00000, 0x0000000089000000, 0x0000000089000000|100%| O| |TAMS 0x0000000089000000, 0x0000000089000000| Untracked -| 6|0x0000000089000000, 0x0000000089100000, 0x0000000089100000|100%| O| |TAMS 0x0000000089100000, 0x0000000089100000| Untracked -| 7|0x0000000089100000, 0x0000000089200000, 0x0000000089200000|100%| O| |TAMS 0x0000000089200000, 0x0000000089200000| Untracked -| 8|0x0000000089200000, 0x0000000089300000, 0x0000000089300000|100%|HS| |TAMS 0x0000000089300000, 0x0000000089300000| Complete -| 9|0x0000000089300000, 0x0000000089400000, 0x0000000089400000|100%| O| |TAMS 0x0000000089400000, 0x0000000089400000| Untracked -| 10|0x0000000089400000, 0x0000000089500000, 0x0000000089500000|100%| O| |TAMS 0x0000000089500000, 0x0000000089500000| Untracked -| 11|0x0000000089500000, 0x0000000089600000, 0x0000000089600000|100%| O| |TAMS 0x0000000089600000, 0x0000000089600000| Untracked -| 12|0x0000000089600000, 0x0000000089700000, 0x0000000089700000|100%| O| |TAMS 0x0000000089700000, 0x0000000089700000| Untracked -| 13|0x0000000089700000, 0x0000000089800000, 0x0000000089800000|100%| O| |TAMS 0x0000000089800000, 0x0000000089800000| Untracked -| 14|0x0000000089800000, 0x0000000089900000, 0x0000000089900000|100%| O| |TAMS 0x0000000089900000, 0x0000000089900000| Untracked -| 15|0x0000000089900000, 0x0000000089a00000, 0x0000000089a00000|100%| O| |TAMS 0x0000000089a00000, 0x0000000089a00000| Untracked -| 16|0x0000000089a00000, 0x0000000089b00000, 0x0000000089b00000|100%| O| |TAMS 0x0000000089b00000, 0x0000000089b00000| Untracked -| 17|0x0000000089b00000, 0x0000000089c00000, 0x0000000089c00000|100%| O| |TAMS 0x0000000089c00000, 0x0000000089c00000| Untracked -| 18|0x0000000089c00000, 0x0000000089d00000, 0x0000000089d00000|100%| O| |TAMS 0x0000000089d00000, 0x0000000089d00000| Untracked -| 19|0x0000000089d00000, 0x0000000089e00000, 0x0000000089e00000|100%| O| |TAMS 0x0000000089e00000, 0x0000000089e00000| Untracked -| 20|0x0000000089e00000, 0x0000000089f00000, 0x0000000089f00000|100%| O| |TAMS 0x0000000089f00000, 0x0000000089f00000| Untracked -| 21|0x0000000089f00000, 0x000000008a000000, 0x000000008a000000|100%| O| |TAMS 0x000000008a000000, 0x000000008a000000| Untracked -| 22|0x000000008a000000, 0x000000008a100000, 0x000000008a100000|100%| O| |TAMS 0x000000008a100000, 0x000000008a100000| Untracked -| 23|0x000000008a100000, 0x000000008a200000, 0x000000008a200000|100%| O| |TAMS 0x000000008a200000, 0x000000008a200000| Untracked -| 24|0x000000008a200000, 0x000000008a300000, 0x000000008a300000|100%| O| |TAMS 0x000000008a300000, 0x000000008a300000| Untracked -| 25|0x000000008a300000, 0x000000008a400000, 0x000000008a400000|100%| O| |TAMS 0x000000008a400000, 0x000000008a400000| Untracked -| 26|0x000000008a400000, 0x000000008a500000, 0x000000008a500000|100%| O| |TAMS 0x000000008a500000, 0x000000008a500000| Untracked -| 27|0x000000008a500000, 0x000000008a600000, 0x000000008a600000|100%| O| |TAMS 0x000000008a600000, 0x000000008a600000| Untracked -| 28|0x000000008a600000, 0x000000008a700000, 0x000000008a700000|100%| O| |TAMS 0x000000008a700000, 0x000000008a700000| Untracked -| 29|0x000000008a700000, 0x000000008a800000, 0x000000008a800000|100%| O| |TAMS 0x000000008a800000, 0x000000008a800000| Untracked -| 30|0x000000008a800000, 0x000000008a900000, 0x000000008a900000|100%| O| |TAMS 0x000000008a900000, 0x000000008a900000| Untracked -| 31|0x000000008a900000, 0x000000008aa00000, 0x000000008aa00000|100%|HS| |TAMS 0x000000008aa00000, 0x000000008aa00000| Complete -| 32|0x000000008aa00000, 0x000000008ab00000, 0x000000008ab00000|100%|HC| |TAMS 0x000000008ab00000, 0x000000008ab00000| Complete -| 33|0x000000008ab00000, 0x000000008ac00000, 0x000000008ac00000|100%|HC| |TAMS 0x000000008ac00000, 0x000000008ac00000| Complete -| 34|0x000000008ac00000, 0x000000008ad00000, 0x000000008ad00000|100%|HC| |TAMS 0x000000008ad00000, 0x000000008ad00000| Complete -| 35|0x000000008ad00000, 0x000000008ae00000, 0x000000008ae00000|100%|HC| |TAMS 0x000000008ae00000, 0x000000008ae00000| Complete -| 36|0x000000008ae00000, 0x000000008af00000, 0x000000008af00000|100%|HC| |TAMS 0x000000008af00000, 0x000000008af00000| Complete -| 37|0x000000008af00000, 0x000000008b000000, 0x000000008b000000|100%| O| |TAMS 0x000000008b000000, 0x000000008b000000| Untracked -| 38|0x000000008b000000, 0x000000008b100000, 0x000000008b100000|100%| O| |TAMS 0x000000008b100000, 0x000000008b100000| Untracked -| 39|0x000000008b100000, 0x000000008b200000, 0x000000008b200000|100%| O| |TAMS 0x000000008b200000, 0x000000008b200000| Untracked -| 40|0x000000008b200000, 0x000000008b300000, 0x000000008b300000|100%| O| |TAMS 0x000000008b300000, 0x000000008b300000| Untracked -| 41|0x000000008b300000, 0x000000008b400000, 0x000000008b400000|100%|HS| |TAMS 0x000000008b400000, 0x000000008b400000| Complete -| 42|0x000000008b400000, 0x000000008b500000, 0x000000008b500000|100%| O| |TAMS 0x000000008b500000, 0x000000008b500000| Untracked -| 43|0x000000008b500000, 0x000000008b600000, 0x000000008b600000|100%| O| |TAMS 0x000000008b600000, 0x000000008b600000| Untracked -| 44|0x000000008b600000, 0x000000008b700000, 0x000000008b700000|100%| O| |TAMS 0x000000008b700000, 0x000000008b700000| Untracked -| 45|0x000000008b700000, 0x000000008b800000, 0x000000008b800000|100%| O| |TAMS 0x000000008b800000, 0x000000008b800000| Untracked -| 46|0x000000008b800000, 0x000000008b900000, 0x000000008b900000|100%| O| |TAMS 0x000000008b900000, 0x000000008b900000| Untracked -| 47|0x000000008b900000, 0x000000008ba00000, 0x000000008ba00000|100%| O| |TAMS 0x000000008ba00000, 0x000000008ba00000| Untracked -| 48|0x000000008ba00000, 0x000000008bb00000, 0x000000008bb00000|100%| O| |TAMS 0x000000008bb00000, 0x000000008bb00000| Untracked -| 49|0x000000008bb00000, 0x000000008bc00000, 0x000000008bc00000|100%| O| |TAMS 0x000000008bc00000, 0x000000008bc00000| Untracked -| 50|0x000000008bc00000, 0x000000008bd00000, 0x000000008bd00000|100%| O| |TAMS 0x000000008bd00000, 0x000000008bd00000| Untracked -| 51|0x000000008bd00000, 0x000000008be00000, 0x000000008be00000|100%| O| |TAMS 0x000000008be00000, 0x000000008be00000| Untracked -| 52|0x000000008be00000, 0x000000008bf00000, 0x000000008bf00000|100%| O| |TAMS 0x000000008bf00000, 0x000000008bf00000| Untracked -| 53|0x000000008bf00000, 0x000000008c000000, 0x000000008c000000|100%| O| |TAMS 0x000000008c000000, 0x000000008c000000| Untracked -| 54|0x000000008c000000, 0x000000008c100000, 0x000000008c100000|100%| O| |TAMS 0x000000008c100000, 0x000000008c100000| Untracked -| 55|0x000000008c100000, 0x000000008c200000, 0x000000008c200000|100%| O| |TAMS 0x000000008c200000, 0x000000008c200000| Untracked -| 56|0x000000008c200000, 0x000000008c300000, 0x000000008c300000|100%| O| |TAMS 0x000000008c300000, 0x000000008c300000| Untracked -| 57|0x000000008c300000, 0x000000008c400000, 0x000000008c400000|100%| O| |TAMS 0x000000008c400000, 0x000000008c400000| Untracked -| 58|0x000000008c400000, 0x000000008c500000, 0x000000008c500000|100%| O| |TAMS 0x000000008c500000, 0x000000008c500000| Untracked -| 59|0x000000008c500000, 0x000000008c600000, 0x000000008c600000|100%| O| |TAMS 0x000000008c528a00, 0x000000008c600000| Untracked -| 60|0x000000008c600000, 0x000000008c700000, 0x000000008c700000|100%| O| |TAMS 0x000000008c600000, 0x000000008c700000| Untracked -| 61|0x000000008c700000, 0x000000008c800000, 0x000000008c800000|100%| O| |TAMS 0x000000008c700000, 0x000000008c800000| Untracked -| 62|0x000000008c800000, 0x000000008c900000, 0x000000008c900000|100%| O| |TAMS 0x000000008c800000, 0x000000008c900000| Untracked -| 63|0x000000008c900000, 0x000000008c955800, 0x000000008ca00000| 33%| O| |TAMS 0x000000008c900000, 0x000000008c955800| Untracked -| 64|0x000000008ca00000, 0x000000008ca00000, 0x000000008cb00000| 0%| F| |TAMS 0x000000008ca00000, 0x000000008ca00000| Untracked -| 65|0x000000008cb00000, 0x000000008cb00000, 0x000000008cc00000| 0%| F| |TAMS 0x000000008cb00000, 0x000000008cb00000| Untracked -| 66|0x000000008cc00000, 0x000000008cc00000, 0x000000008cd00000| 0%| F| |TAMS 0x000000008cc00000, 0x000000008cc00000| Untracked -| 67|0x000000008cd00000, 0x000000008cd00000, 0x000000008ce00000| 0%| F| |TAMS 0x000000008cd00000, 0x000000008cd00000| Untracked -| 68|0x000000008ce00000, 0x000000008ce00000, 0x000000008cf00000| 0%| F| |TAMS 0x000000008ce00000, 0x000000008ce00000| Untracked -| 69|0x000000008cf00000, 0x000000008cf00000, 0x000000008d000000| 0%| F| |TAMS 0x000000008cf00000, 0x000000008cf00000| Untracked -| 70|0x000000008d000000, 0x000000008d000000, 0x000000008d100000| 0%| F| |TAMS 0x000000008d000000, 0x000000008d000000| Untracked -| 71|0x000000008d100000, 0x000000008d100000, 0x000000008d200000| 0%| F| |TAMS 0x000000008d100000, 0x000000008d100000| Untracked -| 72|0x000000008d200000, 0x000000008d200000, 0x000000008d300000| 0%| F| |TAMS 0x000000008d200000, 0x000000008d200000| Untracked -| 73|0x000000008d300000, 0x000000008d300000, 0x000000008d400000| 0%| F| |TAMS 0x000000008d300000, 0x000000008d300000| Untracked -| 74|0x000000008d400000, 0x000000008d400000, 0x000000008d500000| 0%| F| |TAMS 0x000000008d400000, 0x000000008d400000| Untracked -| 75|0x000000008d500000, 0x000000008d500000, 0x000000008d600000| 0%| F| |TAMS 0x000000008d500000, 0x000000008d500000| Untracked -| 76|0x000000008d600000, 0x000000008d600000, 0x000000008d700000| 0%| F| |TAMS 0x000000008d600000, 0x000000008d600000| Untracked -| 77|0x000000008d700000, 0x000000008d700000, 0x000000008d800000| 0%| F| |TAMS 0x000000008d700000, 0x000000008d700000| Untracked -| 78|0x000000008d800000, 0x000000008d800000, 0x000000008d900000| 0%| F| |TAMS 0x000000008d800000, 0x000000008d800000| Untracked -| 79|0x000000008d900000, 0x000000008d900000, 0x000000008da00000| 0%| F| |TAMS 0x000000008d900000, 0x000000008d900000| Untracked -| 80|0x000000008da00000, 0x000000008da00000, 0x000000008db00000| 0%| F| |TAMS 0x000000008da00000, 0x000000008da00000| Untracked -| 81|0x000000008db00000, 0x000000008db00000, 0x000000008dc00000| 0%| F| |TAMS 0x000000008db00000, 0x000000008db00000| Untracked -| 82|0x000000008dc00000, 0x000000008dccaba0, 0x000000008dd00000| 79%| S|CS|TAMS 0x000000008dc00000, 0x000000008dc00000| Complete -| 83|0x000000008dd00000, 0x000000008de00000, 0x000000008de00000|100%| S|CS|TAMS 0x000000008dd00000, 0x000000008dd00000| Complete -| 84|0x000000008de00000, 0x000000008de00000, 0x000000008df00000| 0%| F| |TAMS 0x000000008de00000, 0x000000008de00000| Untracked -| 85|0x000000008df00000, 0x000000008df00000, 0x000000008e000000| 0%| F| |TAMS 0x000000008df00000, 0x000000008df00000| Untracked -| 86|0x000000008e000000, 0x000000008e000000, 0x000000008e100000| 0%| F| |TAMS 0x000000008e000000, 0x000000008e000000| Untracked -| 87|0x000000008e100000, 0x000000008e100000, 0x000000008e200000| 0%| F| |TAMS 0x000000008e100000, 0x000000008e100000| Untracked -| 88|0x000000008e200000, 0x000000008e200000, 0x000000008e300000| 0%| F| |TAMS 0x000000008e200000, 0x000000008e200000| Untracked -| 89|0x000000008e300000, 0x000000008e300000, 0x000000008e400000| 0%| F| |TAMS 0x000000008e300000, 0x000000008e300000| Untracked -| 90|0x000000008e400000, 0x000000008e400000, 0x000000008e500000| 0%| F| |TAMS 0x000000008e400000, 0x000000008e400000| Untracked -| 91|0x000000008e500000, 0x000000008e500000, 0x000000008e600000| 0%| F| |TAMS 0x000000008e500000, 0x000000008e500000| Untracked -| 92|0x000000008e600000, 0x000000008e600000, 0x000000008e700000| 0%| F| |TAMS 0x000000008e600000, 0x000000008e600000| Untracked -| 93|0x000000008e700000, 0x000000008e700000, 0x000000008e800000| 0%| F| |TAMS 0x000000008e700000, 0x000000008e700000| Untracked -| 94|0x000000008e800000, 0x000000008e800000, 0x000000008e900000| 0%| F| |TAMS 0x000000008e800000, 0x000000008e800000| Untracked -| 95|0x000000008e900000, 0x000000008e900000, 0x000000008ea00000| 0%| F| |TAMS 0x000000008e900000, 0x000000008e900000| Untracked -| 96|0x000000008ea00000, 0x000000008ea00000, 0x000000008eb00000| 0%| F| |TAMS 0x000000008ea00000, 0x000000008ea00000| Untracked -| 97|0x000000008eb00000, 0x000000008eb00000, 0x000000008ec00000| 0%| F| |TAMS 0x000000008eb00000, 0x000000008eb00000| Untracked -| 98|0x000000008ec00000, 0x000000008ec00000, 0x000000008ed00000| 0%| F| |TAMS 0x000000008ec00000, 0x000000008ec00000| Untracked -| 99|0x000000008ed00000, 0x000000008ed00000, 0x000000008ee00000| 0%| F| |TAMS 0x000000008ed00000, 0x000000008ed00000| Untracked -| 100|0x000000008ee00000, 0x000000008ee00000, 0x000000008ef00000| 0%| F| |TAMS 0x000000008ee00000, 0x000000008ee00000| Untracked -| 101|0x000000008ef00000, 0x000000008ef00000, 0x000000008f000000| 0%| F| |TAMS 0x000000008ef00000, 0x000000008ef00000| Untracked -| 102|0x000000008f000000, 0x000000008f000000, 0x000000008f100000| 0%| F| |TAMS 0x000000008f000000, 0x000000008f000000| Untracked -| 103|0x000000008f100000, 0x000000008f100000, 0x000000008f200000| 0%| F| |TAMS 0x000000008f100000, 0x000000008f100000| Untracked -| 104|0x000000008f200000, 0x000000008f200000, 0x000000008f300000| 0%| F| |TAMS 0x000000008f200000, 0x000000008f200000| Untracked -| 105|0x000000008f300000, 0x000000008f300000, 0x000000008f400000| 0%| F| |TAMS 0x000000008f300000, 0x000000008f300000| Untracked -| 106|0x000000008f400000, 0x000000008f400000, 0x000000008f500000| 0%| F| |TAMS 0x000000008f400000, 0x000000008f400000| Untracked -| 107|0x000000008f500000, 0x000000008f500000, 0x000000008f600000| 0%| F| |TAMS 0x000000008f500000, 0x000000008f500000| Untracked -| 108|0x000000008f600000, 0x000000008f600000, 0x000000008f700000| 0%| F| |TAMS 0x000000008f600000, 0x000000008f600000| Untracked -| 109|0x000000008f700000, 0x000000008f700000, 0x000000008f800000| 0%| F| |TAMS 0x000000008f700000, 0x000000008f700000| Untracked -| 110|0x000000008f800000, 0x000000008f800000, 0x000000008f900000| 0%| F| |TAMS 0x000000008f800000, 0x000000008f800000| Untracked -| 111|0x000000008f900000, 0x000000008f900000, 0x000000008fa00000| 0%| F| |TAMS 0x000000008f900000, 0x000000008f900000| Untracked -| 112|0x000000008fa00000, 0x000000008fa00000, 0x000000008fb00000| 0%| F| |TAMS 0x000000008fa00000, 0x000000008fa00000| Untracked -| 113|0x000000008fb00000, 0x000000008fb00000, 0x000000008fc00000| 0%| F| |TAMS 0x000000008fb00000, 0x000000008fb00000| Untracked -| 114|0x000000008fc00000, 0x000000008fc00000, 0x000000008fd00000| 0%| F| |TAMS 0x000000008fc00000, 0x000000008fc00000| Untracked -| 115|0x000000008fd00000, 0x000000008fd00000, 0x000000008fe00000| 0%| F| |TAMS 0x000000008fd00000, 0x000000008fd00000| Untracked -| 116|0x000000008fe00000, 0x000000008fe00000, 0x000000008ff00000| 0%| F| |TAMS 0x000000008fe00000, 0x000000008fe00000| Untracked -| 117|0x000000008ff00000, 0x000000008ff00000, 0x0000000090000000| 0%| F| |TAMS 0x000000008ff00000, 0x000000008ff00000| Untracked -| 118|0x0000000090000000, 0x0000000090000000, 0x0000000090100000| 0%| F| |TAMS 0x0000000090000000, 0x0000000090000000| Untracked -| 119|0x0000000090100000, 0x0000000090100000, 0x0000000090200000| 0%| F| |TAMS 0x0000000090100000, 0x0000000090100000| Untracked -|1905|0x00000000ffb00000, 0x00000000ffc00000, 0x00000000ffc00000|100%| O| |TAMS 0x00000000ffc00000, 0x00000000ffc00000| Untracked -|1906|0x00000000ffc00000, 0x00000000ffd00000, 0x00000000ffd00000|100%| O| |TAMS 0x00000000ffd00000, 0x00000000ffd00000| Untracked -|1907|0x00000000ffd00000, 0x00000000ffe00000, 0x00000000ffe00000|100%| O| |TAMS 0x00000000ffe00000, 0x00000000ffe00000| Untracked -|1908|0x00000000ffe00000, 0x00000000fff00000, 0x00000000fff00000|100%| O| |TAMS 0x00000000fff00000, 0x00000000fff00000| Untracked -|1909|0x00000000fff00000, 0x0000000100000000, 0x0000000100000000|100%| O| |TAMS 0x0000000100000000, 0x0000000100000000| Untracked - -Card table byte_map: [0x00000122aa5c0000,0x00000122aa980000] _byte_map_base: 0x00000122aa17b000 - -Marking Bits (Prev, Next): (CMBitMap*) 0x00000122930e60e0, (CMBitMap*) 0x00000122930e6120 - Prev Bits: [0x00000122aad40000, 0x00000122acb18000) - Next Bits: [0x00000122acb20000, 0x00000122ae8f8000) - -Polling page: 0x0000012293130000 - -Metaspace: - -Usage: - Non-class: 77.03 MB used. - Class: 11.29 MB used. - Both: 88.32 MB used. - -Virtual space: - Non-class space: 128.00 MB reserved, 77.31 MB ( 60%) committed, 2 nodes. - Class space: 416.00 MB reserved, 11.56 MB ( 3%) committed, 1 nodes. - Both: 544.00 MB reserved, 88.88 MB ( 16%) committed. - -Chunk freelists: - Non-Class: 2.45 MB - Class: 4.42 MB - Both: 6.88 MB - -MaxMetaspaceSize: 512.00 MB -CompressedClassSpaceSize: 416.00 MB -Initial GC threshold: 21.00 MB -Current GC threshold: 133.44 MB -CDS: on -MetaspaceReclaimPolicy: balanced - - commit_granule_bytes: 65536. - - commit_granule_words: 8192. - - virtual_space_node_default_size: 8388608. - - enlarge_chunks_in_place: 1. - - new_chunks_are_fully_committed: 0. - - uncommit_free_chunks: 1. - - use_allocation_guard: 0. - - handle_deallocations: 1. - - -Internal statistics: - -num_allocs_failed_limit: 6. -num_arena_births: 588. -num_arena_deaths: 0. -num_vsnodes_births: 3. -num_vsnodes_deaths: 0. -num_space_committed: 1420. -num_space_uncommitted: 0. -num_chunks_returned_to_freelist: 6. -num_chunks_taken_from_freelist: 3678. -num_chunk_merges: 6. -num_chunk_splits: 2967. -num_chunks_enlarged: 2559. -num_inconsistent_stats: 0. - -CodeHeap 'non-profiled nmethods': size=120000Kb used=3622Kb max_used=3622Kb free=116377Kb - bounds [0x00000122a26a0000, 0x00000122a2a30000, 0x00000122a9bd0000] -CodeHeap 'profiled nmethods': size=120000Kb used=13544Kb max_used=13544Kb free=106455Kb - bounds [0x000001229abd0000, 0x000001229b910000, 0x00000122a2100000] -CodeHeap 'non-nmethods': size=5760Kb used=1792Kb max_used=1828Kb free=3967Kb - bounds [0x00000122a2100000, 0x00000122a2370000, 0x00000122a26a0000] - total_blobs=7562 nmethods=6661 adapters=812 - compilation: enabled - stopped_count=0, restarted_count=0 - full_count=0 - -Compilation events (20 events): -Event: 50.641 Thread 0x00000122b0f2b930 7525 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls::visitFunctionAccess (18 bytes) -Event: 50.643 Thread 0x00000122b0f2b930 nmethod 7525 0x000001229b904790 code [0x000001229b9049a0, 0x000001229b905008] -Event: 50.649 Thread 0x00000122b0f2b930 7527 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls::visitConst (18 bytes) -Event: 50.650 Thread 0x00000122b0f2b930 nmethod 7527 0x000001229b905290 code [0x000001229b9054a0, 0x000001229b905b08] -Event: 50.651 Thread 0x00000122b0f2b930 7528 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls::visitValueParameter (17 bytes) -Event: 50.652 Thread 0x00000122b0f2b930 nmethod 7528 0x000001229b905d90 code [0x000001229b905fa0, 0x000001229b9065e8] -Event: 50.652 Thread 0x00000122b0f2b930 7529 3 org.jetbrains.kotlin.backend.common.ClassLoweringVisitor::visitCall (13 bytes) -Event: 50.654 Thread 0x00000122b0f2b930 nmethod 7529 0x000001229b906890 code [0x000001229b906b80, 0x000001229b907998] -Event: 50.654 Thread 0x00000122b0f2b930 7530 3 org.jetbrains.kotlin.backend.common.ClassLoweringVisitor::visitCall (7 bytes) -Event: 50.656 Thread 0x00000122b0f2b930 nmethod 7530 0x000001229b907e90 code [0x000001229b908160, 0x000001229b908e18] -Event: 50.667 Thread 0x00000122b0f2b930 7531 3 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls::visitContainerExpression (17 bytes) -Event: 50.668 Thread 0x00000122b0f2b930 nmethod 7531 0x000001229b909310 code [0x000001229b909520, 0x000001229b909b68] -Event: 50.815 Thread 0x00000122b0f2b930 7532 1 org.jetbrains.kotlin.ir.declarations.impl.IrConstructorImpl::getOrigin (5 bytes) -Event: 50.815 Thread 0x00000122b0f2b930 nmethod 7532 0x00000122a2a29190 code [0x00000122a2a29320, 0x00000122a2a293f8] -Event: 51.372 Thread 0x00000122b0f2b930 7533 1 org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl::getOrigin (5 bytes) -Event: 51.373 Thread 0x00000122b0f2b930 nmethod 7533 0x00000122a2a29490 code [0x00000122a2a29620, 0x00000122a2a296f8] -Event: 51.401 Thread 0x00000122b0f2b930 7534 1 org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl::getName (5 bytes) -Event: 51.401 Thread 0x00000122b0f2b930 nmethod 7534 0x00000122a2a29790 code [0x00000122a2a29920, 0x00000122a2a299f8] -Event: 51.426 Thread 0x00000122b0f2b930 7535 3 org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeBuilder::setNullability (12 bytes) -Event: 51.427 Thread 0x00000122b0f2b930 nmethod 7535 0x000001229b909e10 code [0x000001229b90a020, 0x000001229b90a618] - -GC Heap History (20 events): -Event: 32.786 GC heap after -{Heap after GC invocations=19 (full 0): - garbage-first heap total 109568K, used 53137K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 2 young (2048K), 2 survivors (2048K) - Metaspace used 56250K, committed 56832K, reserved 491520K - class space used 7938K, committed 8192K, reserved 425984K -} -Event: 34.498 GC heap before -{Heap before GC invocations=20 (full 0): - garbage-first heap total 109568K, used 87953K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 35 young (35840K), 2 survivors (2048K) - Metaspace used 59588K, committed 60096K, reserved 491520K - class space used 8275K, committed 8512K, reserved 425984K -} -Event: 34.505 GC heap after -{Heap after GC invocations=21 (full 0): - garbage-first heap total 109568K, used 56556K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 4 young (4096K), 4 survivors (4096K) - Metaspace used 59588K, committed 60096K, reserved 491520K - class space used 8275K, committed 8512K, reserved 425984K -} -Event: 35.853 GC heap before -{Heap before GC invocations=21 (full 0): - garbage-first heap total 109568K, used 88300K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 35 young (35840K), 4 survivors (4096K) - Metaspace used 63386K, committed 63936K, reserved 491520K - class space used 8606K, committed 8896K, reserved 425984K -} -Event: 35.864 GC heap after -{Heap after GC invocations=22 (full 0): - garbage-first heap total 109568K, used 57974K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 2 young (2048K), 2 survivors (2048K) - Metaspace used 63386K, committed 63936K, reserved 491520K - class space used 8606K, committed 8896K, reserved 425984K -} -Event: 38.530 GC heap before -{Heap before GC invocations=23 (full 0): - garbage-first heap total 109568K, used 88694K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 32 young (32768K), 2 survivors (2048K) - Metaspace used 66717K, committed 67264K, reserved 491520K - class space used 9015K, committed 9280K, reserved 425984K -} -Event: 38.541 GC heap after -{Heap after GC invocations=24 (full 0): - garbage-first heap total 109568K, used 59838K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 4 young (4096K), 4 survivors (4096K) - Metaspace used 66717K, committed 67264K, reserved 491520K - class space used 9015K, committed 9280K, reserved 425984K -} -Event: 40.233 GC heap before -{Heap before GC invocations=24 (full 0): - garbage-first heap total 109568K, used 83390K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 28 young (28672K), 4 survivors (4096K) - Metaspace used 70258K, committed 70784K, reserved 491520K - class space used 9469K, committed 9728K, reserved 425984K -} -Event: 40.248 GC heap after -{Heap after GC invocations=25 (full 0): - garbage-first heap total 109568K, used 61018K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 4 young (4096K), 4 survivors (4096K) - Metaspace used 70258K, committed 70784K, reserved 491520K - class space used 9469K, committed 9728K, reserved 425984K -} -Event: 41.870 GC heap before -{Heap before GC invocations=26 (full 0): - garbage-first heap total 124928K, used 91738K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 33 young (33792K), 4 survivors (4096K) - Metaspace used 70929K, committed 71424K, reserved 491520K - class space used 9543K, committed 9792K, reserved 425984K -} -Event: 41.890 GC heap after -{Heap after GC invocations=27 (full 0): - garbage-first heap total 124928K, used 62510K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 3 young (3072K), 3 survivors (3072K) - Metaspace used 70929K, committed 71424K, reserved 491520K - class space used 9543K, committed 9792K, reserved 425984K -} -Event: 44.128 GC heap before -{Heap before GC invocations=27 (full 0): - garbage-first heap total 124928K, used 101422K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 41 young (41984K), 3 survivors (3072K) - Metaspace used 72936K, committed 73408K, reserved 491520K - class space used 9747K, committed 9984K, reserved 425984K -} -Event: 44.144 GC heap after -{Heap after GC invocations=28 (full 0): - garbage-first heap total 124928K, used 65961K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 6 young (6144K), 6 survivors (6144K) - Metaspace used 72936K, committed 73408K, reserved 491520K - class space used 9747K, committed 9984K, reserved 425984K -} -Event: 46.403 GC heap before -{Heap before GC invocations=29 (full 0): - garbage-first heap total 124928K, used 101801K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 41 young (41984K), 6 survivors (6144K) - Metaspace used 77268K, committed 77824K, reserved 557056K - class space used 10197K, committed 10432K, reserved 425984K -} -Event: 46.421 GC heap after -{Heap after GC invocations=30 (full 0): - garbage-first heap total 124928K, used 68120K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 3 young (3072K), 3 survivors (3072K) - Metaspace used 77268K, committed 77824K, reserved 557056K - class space used 10197K, committed 10432K, reserved 425984K -} -Event: 48.052 GC heap before -{Heap before GC invocations=30 (full 0): - garbage-first heap total 124928K, used 101912K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 36 young (36864K), 3 survivors (3072K) - Metaspace used 80882K, committed 81408K, reserved 557056K - class space used 10582K, committed 10816K, reserved 425984K -} -Event: 48.063 GC heap after -{Heap after GC invocations=31 (full 0): - garbage-first heap total 124928K, used 70200K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 5 young (5120K), 5 survivors (5120K) - Metaspace used 80882K, committed 81408K, reserved 557056K - class space used 10582K, committed 10816K, reserved 425984K -} -Event: 49.490 GC heap before -{Heap before GC invocations=32 (full 0): - garbage-first heap total 128000K, used 101944K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 36 young (36864K), 5 survivors (5120K) - Metaspace used 85185K, committed 85696K, reserved 557056K - class space used 11023K, committed 11264K, reserved 425984K -} -Event: 49.503 GC heap after -{Heap after GC invocations=33 (full 0): - garbage-first heap total 128000K, used 71223K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 2 young (2048K), 2 survivors (2048K) - Metaspace used 85185K, committed 85696K, reserved 557056K - class space used 11023K, committed 11264K, reserved 425984K -} -Event: 51.442 GC heap before -{Heap before GC invocations=33 (full 0): - garbage-first heap total 128000K, used 106039K [0x0000000088a00000, 0x0000000100000000) - region size 1024K, 36 young (36864K), 2 survivors (2048K) - Metaspace used 90440K, committed 91008K, reserved 557056K - class space used 11560K, committed 11840K, reserved 425984K -} - -Dll operation events (15 events): -Event: 0.073 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\java.dll -Event: 0.735 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jsvml.dll -Event: 0.886 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\zip.dll -Event: 0.900 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\instrument.dll -Event: 0.915 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\net.dll -Event: 0.920 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\nio.dll -Event: 0.927 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\zip.dll -Event: 2.001 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jimage.dll -Event: 2.685 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\verify.dll -Event: 3.186 Loaded shared library C:\Users\LENOVO YOGA\.gradle\native\c067742578af261105cb4f569cf0c3c89f3d7b1fecec35dd04571415982c5e48\windows-amd64\native-platform.dll -Event: 3.219 Loaded shared library C:\Users\LENOVO YOGA\.gradle\native\100fb08df4bc3b14c8652ba06237920a3bd2aa13389f12d3474272988ae205f9\windows-amd64\native-platform-file-events.dll -Event: 9.126 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management.dll -Event: 9.131 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management_ext.dll -Event: 10.010 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\extnet.dll -Event: 11.562 Loaded shared library C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\sunmscapi.dll - -Deoptimization events (20 events): -Event: 50.433 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffff45 fr.pc=0x00000122a26df5d4 relative=0x0000000000000234 -Event: 50.433 Thread 0x00000122d1170900 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000122a26df5d4 method=org.jetbrains.kotlin.name.Name.hashCode()I @ 16 c2 -Event: 50.433 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a26df5d4 sp=0x000000122d5f4130 -Event: 50.433 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f40d0 mode 2 -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6fa0 relative=0x0000000000001700 -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6fa0 method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 13 c2 -Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6fa0 sp=0x000000122d5f5a20 -Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6fa0 relative=0x0000000000001700 -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6fa0 method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 13 c2 -Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6fa0 sp=0x000000122d5f5a20 -Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6dec relative=0x000000000000154c -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6dec method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 30 c2 -Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6dec sp=0x000000122d5f5a20 -Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000122a27c6dec relative=0x000000000000154c -Event: 50.886 Thread 0x00000122d1170900 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x00000122a27c6dec method=gnu.trove.TObjectHash.insertionIndex(Ljava/lang/Object;)I @ 30 c2 -Event: 50.886 Thread 0x00000122d1170900 DEOPT PACKING pc=0x00000122a27c6dec sp=0x000000122d5f5a20 -Event: 50.886 Thread 0x00000122d1170900 DEOPT UNPACKING pc=0x00000122a215699d sp=0x000000122d5f59d0 mode 2 - -Classes loaded (20 events): -Event: 31.023 Loading class sun/nio/ch/ChannelInputStream -Event: 31.023 Loading class sun/nio/ch/ChannelInputStream done -Event: 36.249 Loading class java/util/ArrayList$ListItr -Event: 36.249 Loading class java/util/ArrayList$ListItr done -Event: 37.054 Loading class java/text/StringCharacterIterator -Event: 37.056 Loading class java/text/CharacterIterator -Event: 37.057 Loading class java/text/CharacterIterator done -Event: 37.057 Loading class java/text/StringCharacterIterator done -Event: 37.230 Loading class java/io/NotSerializableException -Event: 37.230 Loading class java/io/NotSerializableException done -Event: 37.398 Loading class java/util/AbstractList$ListItr -Event: 37.399 Loading class java/util/AbstractList$ListItr done -Event: 38.997 Loading class java/util/function/IntUnaryOperator -Event: 38.997 Loading class java/util/function/IntUnaryOperator done -Event: 39.162 Loading class java/util/AbstractList$SubList -Event: 39.163 Loading class java/util/AbstractList$SubList done -Event: 39.163 Loading class java/util/AbstractList$SubList$1 -Event: 39.163 Loading class java/util/AbstractList$SubList$1 done -Event: 44.196 Loading class java/util/AbstractList$RandomAccessSubList -Event: 44.196 Loading class java/util/AbstractList$RandomAccessSubList done - -Classes unloaded (0 events): -No events - -Classes redefined (0 events): -No events - -Internal exceptions (20 events): -Event: 27.905 Thread 0x00000122d1170900 Exception (0x000000008c428f78) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.122 Thread 0x00000122d1170900 Exception (0x000000008bf61728) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.124 Thread 0x00000122d1170900 Exception (0x000000008bf6aad0) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.128 Thread 0x00000122d1170900 Exception (0x000000008bf7b290) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.133 Thread 0x00000122d1170900 Exception (0x000000008bf83e20) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.138 Thread 0x00000122d1170900 Exception (0x000000008bf945f0) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.141 Thread 0x00000122d1170900 Exception (0x000000008bfa46c0) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.144 Thread 0x00000122d1170900 Exception (0x000000008bfb4538) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 28.145 Thread 0x00000122d1170900 Exception (0x000000008bfc4090) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 29.808 Thread 0x00000122d1170900 Exception (0x00000000901723c8) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 29.941 Thread 0x00000122d1170900 Exception (0x000000008dbe00a8) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 36.343 Thread 0x00000122d1170900 Exception (0x000000008e9a79b0) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 36.344 Thread 0x00000122d1170900 Exception (0x000000008e9ad530) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 36.344 Thread 0x00000122d1170900 Exception (0x000000008e9b2898) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 36.382 Thread 0x00000122d1170900 Implicit null exception at 0x00000122a284a06c to 0x00000122a284a120 -Event: 39.250 Thread 0x00000122d1170900 Exception (0x000000008e474630) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 39.258 Thread 0x00000122d1170900 Exception (0x000000008e47f310) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 39.260 Thread 0x00000122d1170900 Exception (0x000000008e4852f8) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 39.261 Thread 0x00000122d1170900 Exception (0x000000008e48aa28) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] -Event: 47.420 Thread 0x00000122d1170900 Exception (0x000000008e9d5740) -thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759] - -VM Operations (20 events): -Event: 48.392 Executing VM operation: G1PauseCleanup done -Event: 48.541 Executing VM operation: HandshakeAllThreads -Event: 48.542 Executing VM operation: HandshakeAllThreads done -Event: 48.807 Executing VM operation: HandshakeAllThreads -Event: 48.808 Executing VM operation: HandshakeAllThreads done -Event: 48.811 Executing VM operation: HandshakeAllThreads -Event: 48.811 Executing VM operation: HandshakeAllThreads done -Event: 49.490 Executing VM operation: G1CollectForAllocation -Event: 49.503 Executing VM operation: G1CollectForAllocation done -Event: 49.860 Executing VM operation: HandshakeAllThreads -Event: 49.860 Executing VM operation: HandshakeAllThreads done -Event: 49.860 Executing VM operation: HandshakeAllThreads -Event: 49.860 Executing VM operation: HandshakeAllThreads done -Event: 50.303 Executing VM operation: ICBufferFull -Event: 50.303 Executing VM operation: ICBufferFull done -Event: 50.538 Executing VM operation: HandshakeAllThreads -Event: 50.538 Executing VM operation: HandshakeAllThreads done -Event: 50.752 Executing VM operation: HandshakeAllThreads -Event: 50.752 Executing VM operation: HandshakeAllThreads done -Event: 51.442 Executing VM operation: G1CollectForAllocation - -Memory protections (0 events): -No events - -Nmethod flushes (20 events): -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4c3210 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e6490 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e6c90 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e7710 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e8510 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e8810 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e8c10 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e9390 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4e9b10 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ea390 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ea790 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ead90 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4ee090 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4efb10 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4f3190 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4f5090 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b504310 -Event: 35.512 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b538090 -Event: 49.873 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b3dda10 -Event: 49.875 Thread 0x00000122b0f54f10 flushing nmethod 0x000001229b4f1510 - -Events (20 events): -Event: 11.667 Thread 0x00000122d054fa30 Thread added: 0x00000122d1973a30 -Event: 11.676 Thread 0x00000122d1973a30 Thread added: 0x00000122d1974720 -Event: 11.835 Thread 0x00000122d1973a30 Thread added: 0x00000122d11703f0 -Event: 11.875 Thread 0x00000122d1973a30 Thread added: 0x00000122d1170900 -Event: 11.905 Thread 0x00000122d1170900 Thread added: 0x00000122d1172760 -Event: 12.002 Thread 0x00000122d1170900 Thread added: 0x00000122d1170e10 -Event: 12.023 Thread 0x00000122d1170900 Thread added: 0x00000122d116f9d0 -Event: 13.815 Thread 0x00000122d1170900 Thread added: 0x00000122d1171830 -Event: 13.851 Thread 0x00000122d1170900 Thread added: 0x00000122d1171320 -Event: 13.959 Thread 0x00000122d1170900 Thread added: 0x00000122d1171d40 -Event: 17.231 Thread 0x00000122d1170900 Thread added: 0x00000122d116efb0 -Event: 17.267 Thread 0x00000122d1170900 Thread added: 0x00000122d1172250 -Event: 18.098 Thread 0x00000122d1170900 Thread added: 0x00000122d116f4c0 -Event: 18.248 Thread 0x00000122d1170900 Thread added: 0x00000122d116fee0 -Event: 18.271 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf6600 -Event: 19.185 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf9db0 -Event: 19.285 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf7f50 -Event: 19.736 Thread 0x00000122d1170900 Thread added: 0x00000122d1bf7a40 -Event: 20.085 Thread 0x00000122d1170900 Thread added: 0x00000122d1bfa2c0 -Event: 36.005 Thread 0x00000122d1171320 Thread added: 0x00000122d1bf5be0 - - -Dynamic libraries: -0x00007ff75e7f0000 - 0x00007ff75e853000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\java.exe -0x00007ff91d3a0000 - 0x00007ff91d5a9000 C:\Windows\SYSTEM32\ntdll.dll -0x00007ff91c270000 - 0x00007ff91c32d000 C:\Windows\System32\KERNEL32.DLL -0x00007ff91a830000 - 0x00007ff91abb4000 C:\Windows\System32\KERNELBASE.dll -0x00007ff91b0d0000 - 0x00007ff91b1e1000 C:\Windows\System32\ucrtbase.dll -0x00007ff913b70000 - 0x00007ff913b87000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jli.dll -0x00007ff90df60000 - 0x00007ff90df7b000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\VCRUNTIME140.dll -0x00007ff91ccf0000 - 0x00007ff91ce9d000 C:\Windows\System32\USER32.dll -0x00007ff91ae70000 - 0x00007ff91ae96000 C:\Windows\System32\win32u.dll -0x00007ff91cea0000 - 0x00007ff91ceca000 C:\Windows\System32\GDI32.dll -0x00007ff91acd0000 - 0x00007ff91adee000 C:\Windows\System32\gdi32full.dll -0x00007ff909170000 - 0x00007ff909415000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22000.120_none_9d947278b86cc467\COMCTL32.dll -0x00007ff91d2b0000 - 0x00007ff91d353000 C:\Windows\System32\msvcrt.dll -0x00007ff91abc0000 - 0x00007ff91ac5d000 C:\Windows\System32\msvcp_win.dll -0x00007ff91b920000 - 0x00007ff91b951000 C:\Windows\System32\IMM32.DLL -0x0000000065980000 - 0x000000006598c000 C:\Program Files (x86)\360\Total Security\safemon\SafeWrapper.dll -0x00007ff91c1c0000 - 0x00007ff91c26e000 C:\Windows\System32\ADVAPI32.dll -0x00007ff91b760000 - 0x00007ff91b7fe000 C:\Windows\System32\sechost.dll -0x00007ff91d0a0000 - 0x00007ff91d1c1000 C:\Windows\System32\RPCRT4.dll -0x00007ff8c5ce0000 - 0x00007ff8c5d8c000 C:\Program Files (x86)\360\Total Security\safemon\libzdtp64.dll -0x00007ff91c420000 - 0x00007ff91cbe5000 C:\Windows\System32\SHELL32.dll -0x00007ff91cc90000 - 0x00007ff91cced000 C:\Windows\System32\SHLWAPI.dll -0x00007ff91a0b0000 - 0x00007ff91a0ba000 C:\Windows\SYSTEM32\VERSION.dll -0x00007ff916be0000 - 0x00007ff916bec000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\vcruntime140_1.dll -0x00007ff8f2cc0000 - 0x00007ff8f2d4d000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\msvcp140.dll -0x00007ff8b41f0000 - 0x00007ff8b4e5c000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\server\jvm.dll -0x00007ff91d240000 - 0x00007ff91d2af000 C:\Windows\System32\WS2_32.dll -0x00007ff91a700000 - 0x00007ff91a74d000 C:\Windows\SYSTEM32\POWRPROF.dll -0x00007ff913a00000 - 0x00007ff913a33000 C:\Windows\SYSTEM32\WINMM.dll -0x00007ff91a6e0000 - 0x00007ff91a6f3000 C:\Windows\SYSTEM32\UMPDC.dll -0x00007ff919830000 - 0x00007ff919848000 C:\Windows\SYSTEM32\kernel.appcore.dll -0x00007ff907b00000 - 0x00007ff907b0a000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jimage.dll -0x00007ff918230000 - 0x00007ff918451000 C:\Windows\SYSTEM32\DBGHELP.DLL -0x00007ff901370000 - 0x00007ff9013a1000 C:\Windows\SYSTEM32\dbgcore.DLL -0x00007ff91adf0000 - 0x00007ff91ae6f000 C:\Windows\System32\bcryptPrimitives.dll -0x00007ff8ebbd0000 - 0x00007ff8ebbde000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\instrument.dll -0x00007ff8f2c90000 - 0x00007ff8f2cb5000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\java.dll -0x00007ff8e0c00000 - 0x00007ff8e0cd7000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\jsvml.dll -0x00007ff918890000 - 0x00007ff9190f2000 C:\Windows\SYSTEM32\windows.storage.dll -0x00007ff91be40000 - 0x00007ff91c1b6000 C:\Windows\System32\combase.dll -0x00007ff918720000 - 0x00007ff918887000 C:\Windows\SYSTEM32\wintypes.dll -0x00007ff91b1f0000 - 0x00007ff91b2da000 C:\Windows\System32\SHCORE.dll -0x00007ff91a760000 - 0x00007ff91a785000 C:\Windows\SYSTEM32\profapi.dll -0x00007ff8f2c50000 - 0x00007ff8f2c68000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\zip.dll -0x00007ff8f6360000 - 0x00007ff8f6379000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\net.dll -0x00007ff913f10000 - 0x00007ff914024000 C:\Windows\SYSTEM32\WINHTTP.dll -0x00007ff919ce0000 - 0x00007ff919d47000 C:\Windows\system32\mswsock.dll -0x00007ff8f2c70000 - 0x00007ff8f2c86000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\nio.dll -0x00007ff8f6340000 - 0x00007ff8f6350000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\verify.dll -0x00007ff902330000 - 0x00007ff902357000 C:\Users\LENOVO YOGA\.gradle\native\c067742578af261105cb4f569cf0c3c89f3d7b1fecec35dd04571415982c5e48\windows-amd64\native-platform.dll -0x00007ff8b6020000 - 0x00007ff8b6164000 C:\Users\LENOVO YOGA\.gradle\native\100fb08df4bc3b14c8652ba06237920a3bd2aa13389f12d3474272988ae205f9\windows-amd64\native-platform-file-events.dll -0x00007ff8f2bd0000 - 0x00007ff8f2bda000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management.dll -0x00007ff8f25d0000 - 0x00007ff8f25db000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\management_ext.dll -0x00007ff91d090000 - 0x00007ff91d098000 C:\Windows\System32\PSAPI.DLL -0x00007ff919f20000 - 0x00007ff919f38000 C:\Windows\SYSTEM32\CRYPTSP.dll -0x00007ff919790000 - 0x00007ff9197c5000 C:\Windows\system32\rsaenh.dll -0x00007ff919dd0000 - 0x00007ff919dfc000 C:\Windows\SYSTEM32\USERENV.dll -0x00007ff91a0c0000 - 0x00007ff91a0e7000 C:\Windows\SYSTEM32\bcrypt.dll -0x00007ff919f40000 - 0x00007ff919f4c000 C:\Windows\SYSTEM32\CRYPTBASE.dll -0x00007ff919350000 - 0x00007ff91937d000 C:\Windows\SYSTEM32\IPHLPAPI.DLL -0x00007ff91c330000 - 0x00007ff91c339000 C:\Windows\System32\NSI.dll -0x00007ff914a30000 - 0x00007ff914a49000 C:\Windows\SYSTEM32\dhcpcsvc6.DLL -0x00007ff9150e0000 - 0x00007ff9150fe000 C:\Windows\SYSTEM32\dhcpcsvc.DLL -0x00007ff9193c0000 - 0x00007ff9194a7000 C:\Windows\SYSTEM32\DNSAPI.dll -0x00007ff8ebc20000 - 0x00007ff8ebc29000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\extnet.dll -0x00007ff8ebc10000 - 0x00007ff8ebc1e000 C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\sunmscapi.dll -0x00007ff91aea0000 - 0x00007ff91b002000 C:\Windows\System32\CRYPT32.dll -0x00007ff91a070000 - 0x00007ff91a098000 C:\Windows\SYSTEM32\ncrypt.dll -0x00007ff91a030000 - 0x00007ff91a067000 C:\Windows\SYSTEM32\NTASN1.dll -0x00007ff906f00000 - 0x00007ff906f08000 C:\Windows\system32\wshunix.dll - -dbghelp: loaded successfully - version: 4.0.5 - missing functions: none -symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22000.120_none_9d947278b86cc467;C:\Program Files (x86)\360\Total Security\safemon;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin\server;C:\Users\LENOVO YOGA\.gradle\native\c067742578af261105cb4f569cf0c3c89f3d7b1fecec35dd04571415982c5e48\windows-amd64;C:\Users\LENOVO YOGA\.gradle\native\100fb08df4bc3b14c8652ba06237920a3bd2aa13389f12d3474272988ae205f9\windows-amd64 - -VM Arguments: -jvm_args: -XX:MaxMetaspaceSize=512m --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -javaagent:C:\Users\LENOVO YOGA\.gradle\wrapper\dists\gradle-8.10.2-bin\a04bxjujx95o3nb99gddekhwo\gradle-8.10.2\lib\agents\gradle-instrumentation-agent-8.10.2.jar -java_command: org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.10.2 -java_class_path (initial): C:\Users\LENOVO YOGA\.gradle\wrapper\dists\gradle-8.10.2-bin\a04bxjujx95o3nb99gddekhwo\gradle-8.10.2\lib\gradle-daemon-main-8.10.2.jar -Launcher Type: SUN_STANDARD - -[Global flags] - intx CICompilerCount = 3 {product} {ergonomic} - size_t CompressedClassSpaceSize = 436207616 {product} {ergonomic} - uint ConcGCThreads = 1 {product} {ergonomic} - uint G1ConcRefinementThreads = 4 {product} {ergonomic} - size_t G1HeapRegionSize = 1048576 {product} {ergonomic} - uintx GCDrainStackTargetSize = 64 {product} {ergonomic} - size_t InitialHeapSize = 125829120 {product} {ergonomic} - size_t MarkStackSize = 4194304 {product} {ergonomic} - size_t MaxHeapSize = 2002780160 {product} {ergonomic} - size_t MaxMetaspaceSize = 536870912 {product} {command line} - size_t MaxNewSize = 1201668096 {product} {ergonomic} - size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} - size_t MinHeapSize = 8388608 {product} {ergonomic} - uintx NonNMethodCodeHeapSize = 5832780 {pd product} {ergonomic} - uintx NonProfiledCodeHeapSize = 122912730 {pd product} {ergonomic} - uintx ProfiledCodeHeapSize = 122912730 {pd product} {ergonomic} - uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} - bool SegmentedCodeCache = true {product} {ergonomic} - size_t SoftMaxHeapSize = 2002780160 {manageable} {ergonomic} - bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} - bool UseCompressedOops = true {product lp64_product} {ergonomic} - bool UseG1GC = true {product} {ergonomic} - bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} - -Logging: -Log output configuration: - #0: stdout all=warning uptime,level,tags - #1: stderr all=off uptime,level,tags - -Environment Variables: -JAVA_HOME=C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\ -CLASSPATH=C:\Users\LENOVO YOGA\opentelemetry-java2\\gradle\wrapper\gradle-wrapper.jar -PATH=C:\Python312\Scripts\;C:\Python312\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Programs1\Git\cmd;C:\Program Files\dotnet\;C:\ProgramData\chocolatey\bin;C:\Users\LENOVO YOGA\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Go\bin;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\bin;C:\Program Files\RedHat\java-17-openjdk-17.0.13.0.11-1\missioncontrol\;C:\Users\LENOVO YOGA\.cargo\bin;C:\Users\LENOVO YOGA\AppData\Local\pnpm;C:\Users\LENOVO YOGA\AppData\Local\Microsoft\WindowsApps;C:\Users\LENOVO YOGA\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\LENOVO YOGA\AppData\Local\GitHubDesktop\bin;C:\Users\LENOVO YOGA\AppData\Roaming\npm;C:\Users\LENOVO YOGA\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\LENOVO YOGA\go\bin -USERNAME=LENOVO YOGA -LANG=en_US.UTF-8 -OS=Windows_NT -PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 78 Stepping 3, GenuineIntel -TMP=C:\Users\LENOVO~1\AppData\Local\Temp -TEMP=C:\Users\LENOVO~1\AppData\Local\Temp - - - -Periodic native trim disabled - - ---------------- S Y S T E M --------------- - -OS: - Windows 11 , 64 bit Build 22000 (10.0.22000.2538) -OS uptime: 0 days 1:32 hours -Hyper-V role detected - -CPU: total 4 (initial active 4) (2 cores per cpu, 2 threads per core) family 6 model 78 stepping 3 microcode 0xd6, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, aes, erms, clmul, clflush, clflushopt, hv -Processor Information for all 4 processors : - Max Mhz: 2112, Current Mhz: 2112, Mhz Limit: 2112 - -Memory: 4k page, system-wide physical 7633M (85M free) -TotalPageFile size 14563M (AvailPageFile size 22M) -current process WorkingSet (physical memory assigned to process): 346M, peak: 346M -current process commit charge ("private bytes"): 377M, peak: 402M - -vm_info: OpenJDK 64-Bit Server VM (17.0.13+11-LTS) for windows-amd64 JRE (17.0.13+11-LTS), built on Oct 9 2024 05:44:29 by "" with MS VC++ 16.10 / 16.11 (VS2019) - -END. From bed6535ceba41d33600b063d4e71f97e802a7fd3 Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 26 Oct 2024 00:30:51 +0100 Subject: [PATCH 05/19] fix comment --- buildSrc/build.gradle.kts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index d1bbd0d4245..b28ecb4b2f5 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -68,8 +68,9 @@ dependencies { } // We can't apply conventions to this build so include important ones such as the Java compilation +// target. java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) - } + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } } From c21608c45f0ef97ce41532597cb649cac66a16e3 Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 26 Oct 2024 01:49:00 +0100 Subject: [PATCH 06/19] Created a test in the sdkspantest to see if codecov will have line 437 and 438 covered(just for trials) --- .../io/opentelemetry/sdk/trace/SdkSpanTest.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java index 7814074269b..ad63ebcd1a3 100644 --- a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java +++ b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java @@ -1539,4 +1539,15 @@ void testConcurrentModification() throws ExecutionException, InterruptedExceptio } modifierFuture.get(); } -} + + @Test + void testSetStatusToUnsetWhenCurrentStatusIsError() { + // Set the initial status to ERROR + sdkSpan.setStatus(StatusCode.ERROR, "An error occurred"); + + // Attempt to set the status to UNSET + sdkSpan.setStatus(StatusCode.UNSET, null); + + // Verify that the warning was logged (implement logging capture as needed) + } +} \ No newline at end of file From ec33889cc8159bbcb7df744d4efa719b5adb4727 Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 26 Oct 2024 03:02:57 +0100 Subject: [PATCH 07/19] test 2 --- .gitignore | 1 + .../opentelemetry/sdk/trace/SdkSpanTest.java | 18 +++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 6dd7dc74f2f..5b0e48cf637 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ bin # Vim .swp + diff --git a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java index ad63ebcd1a3..085e68395b0 100644 --- a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java +++ b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java @@ -1542,12 +1542,12 @@ void testConcurrentModification() throws ExecutionException, InterruptedExceptio @Test void testSetStatusToUnsetWhenCurrentStatusIsError() { - // Set the initial status to ERROR - sdkSpan.setStatus(StatusCode.ERROR, "An error occurred"); - - // Attempt to set the status to UNSET - sdkSpan.setStatus(StatusCode.UNSET, null); - - // Verify that the warning was logged (implement logging capture as needed) - } -} \ No newline at end of file + // Set the initial status to ERROR + sdkSpan.setStatus(StatusCode.ERROR, "An error occurred"); + + // Attempt to set the status to UNSET + sdkSpan.setStatus(StatusCode.UNSET, null); + + // Verify that the warning was logged (implement logging capture as needed) + } +} From ab67793a8b0ad0dd3d7a92edbeea9a8540803c3c Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 26 Oct 2024 03:32:18 +0100 Subject: [PATCH 08/19] . --- .gitignore | 1 - .../src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b0e48cf637..6dd7dc74f2f 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,3 @@ bin # Vim .swp - diff --git a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java index 085e68395b0..5d0c0126725 100644 --- a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java +++ b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java @@ -1550,4 +1550,4 @@ void testSetStatusToUnsetWhenCurrentStatusIsError() { // Verify that the warning was logged (implement logging capture as needed) } -} +} \ No newline at end of file From 189c4168c2c90a5dbc334e0a09df287722b9f4ec Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 26 Oct 2024 03:33:09 +0100 Subject: [PATCH 09/19] . --- .../src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java index 5d0c0126725..085e68395b0 100644 --- a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java +++ b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java @@ -1550,4 +1550,4 @@ void testSetStatusToUnsetWhenCurrentStatusIsError() { // Verify that the warning was logged (implement logging capture as needed) } -} \ No newline at end of file +} From 7991abfcac0a615ead70f16bebe4f708967c4cb8 Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 26 Oct 2024 03:58:39 +0100 Subject: [PATCH 10/19] . --- .../java/io/opentelemetry/sdk/trace/SdkSpanTest.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java index 085e68395b0..7814074269b 100644 --- a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java +++ b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java @@ -1539,15 +1539,4 @@ void testConcurrentModification() throws ExecutionException, InterruptedExceptio } modifierFuture.get(); } - - @Test - void testSetStatusToUnsetWhenCurrentStatusIsError() { - // Set the initial status to ERROR - sdkSpan.setStatus(StatusCode.ERROR, "An error occurred"); - - // Attempt to set the status to UNSET - sdkSpan.setStatus(StatusCode.UNSET, null); - - // Verify that the warning was logged (implement logging capture as needed) - } } From 448ece8533ca64ba2dfe85912a9b83f79dee2c67 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 3 Nov 2024 03:28:49 +0100 Subject: [PATCH 11/19] ensured span's status does not change after it has ended in the nothingChangedAfterEnd test Ref Fix Span#setStatus #6797 --- buildSrc/build.gradle.kts | 73 ++++++++++--------- .../opentelemetry/sdk/trace/SdkSpanTest.java | 54 +++++++------- 2 files changed, 66 insertions(+), 61 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index b28ecb4b2f5..9a1ac25d49a 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,28 +1,29 @@ plugins { - `kotlin-dsl` - // When updating, update below in dependencies too - id("com.diffplug.spotless") version "6.25.0" + `kotlin-dsl` + + // When updating, update below in dependencies too + id("com.diffplug.spotless") version "6.25.0" } if (!hasLauncherForJavaVersion(17)) { - throw GradleException( - "JDK 17 is required to build and gradle was unable to detect it on the system. " + - "Please install it and see https://docs.gradle.org/current/userguide/toolchains.html#sec:auto_detection " + - "for details on how gradle detects java toolchains." - ) + throw GradleException( + "JDK 17 is required to build and gradle was unable to detect it on the system. " + + "Please install it and see https://docs.gradle.org/current/userguide/toolchains.html#sec:auto_detection " + + "for details on how gradle detects java toolchains." + ) } fun hasLauncherForJavaVersion(version: Int): Boolean { - return try { - javaToolchains.launcherFor { languageVersion.set(JavaLanguageVersion.of(version)) }.get() - true - } catch (e: Exception) { - false - } + return try { + javaToolchains.launcherFor { languageVersion = JavaLanguageVersion.of(version) }.get() + true + } catch (e: Exception) { + false + } } spotless { -kotlinGradle { + kotlinGradle { ktlint().editorConfigOverride(mapOf( "indent_size" to "2", "continuation_indent_size" to "2", @@ -43,28 +44,30 @@ kotlinGradle { } repositories { - mavenCentral() - gradlePluginPortal() - mavenLocal() + mavenCentral() + gradlePluginPortal() + mavenLocal() } dependencies { - implementation(enforcedPlatform("com.squareup.wire:wire-bom:5.1.0")) - implementation("com.google.auto.value:auto-value-annotations:1.11.0") - implementation("com.diffplug.spotless:spotless-plugin-gradle:6.25.0") - implementation("com.google.guava:guava:33.3.1-jre") - implementation("com.squareup:javapoet:1.13.0") - implementation("com.squareup.wire:wire-compiler") - implementation("com.squareup.wire:wire-gradle-plugin") - implementation("gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.18") - implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6") - implementation("me.champeau.gradle:japicmp-gradle-plugin:0.4.3") - implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.2") - implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.0.1") - implementation("net.ltgt.gradle:gradle-nullaway-plugin:2.0.0") - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21") - implementation("org.owasp:dependency-check-gradle:10.0.4") - implementation("ru.vyarus:gradle-animalsniffer-plugin:1.7.1") + implementation(enforcedPlatform("com.squareup.wire:wire-bom:5.1.0")) + implementation("com.google.auto.value:auto-value-annotations:1.11.0") + // When updating, update above in plugins too + implementation("com.diffplug.spotless:spotless-plugin-gradle:6.25.0") + // Needed for japicmp but not automatically brought in for some reason. + implementation("com.google.guava:guava:33.3.1-jre") + implementation("com.squareup:javapoet:1.13.0") + implementation("com.squareup.wire:wire-compiler") + implementation("com.squareup.wire:wire-gradle-plugin") + implementation("gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.18") + implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6") + implementation("me.champeau.gradle:japicmp-gradle-plugin:0.4.4") + implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.2") + implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.1.0") + implementation("net.ltgt.gradle:gradle-nullaway-plugin:2.1.0") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21") + implementation("org.owasp:dependency-check-gradle:11.1.0") + implementation("ru.vyarus:gradle-animalsniffer-plugin:1.7.1") } // We can't apply conventions to this build so include important ones such as the Java compilation @@ -73,4 +76,4 @@ java { toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } -} +} \ No newline at end of file diff --git a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java index 7814074269b..0a1fd37dae7 100644 --- a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java +++ b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java @@ -41,11 +41,11 @@ import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.sdk.testing.time.TestClock; import io.opentelemetry.sdk.trace.data.EventData; +import io.opentelemetry.sdk.trace.data.ExceptionEventData; import io.opentelemetry.sdk.trace.data.LinkData; import io.opentelemetry.sdk.trace.data.SpanData; import io.opentelemetry.sdk.trace.data.StatusData; import io.opentelemetry.sdk.trace.internal.ExtendedSpanProcessor; -import io.opentelemetry.sdk.trace.internal.data.ExceptionEventData; import java.io.PrintWriter; import java.io.StringWriter; import java.time.Duration; @@ -119,11 +119,25 @@ void setUp() { @Test void nothingChangedAfterEnd() { SdkSpan span = createTestSpan(SpanKind.INTERNAL); + + // Set an initial status before ending the span + span.setStatus(StatusCode.OK, "Initial status"); + assertThat(span.toSpanData().getStatus().getStatusCode()).isEqualTo(StatusCode.OK); + + // End the span span.end(); - // Check that adding trace events or update fields after Span#end() does not throw any thrown + + // Store the current status for verification + StatusData currentStatus = span.toSpanData().getStatus(); + + // Check that adding trace events or update fields after Span#end() does not throw any exception // and are ignored. spanDoWork(span, StatusCode.ERROR, "CANCELLED"); + + // Verify that the status has not changed after the span has ended SpanData spanData = span.toSpanData(); + assertThat(spanData.getStatus()).isEqualTo(currentStatus); + verifySpanData( spanData, Attributes.empty(), @@ -1166,20 +1180,16 @@ void recordException() { EventData event = events.get(0); assertThat(event.getName()).isEqualTo("exception"); assertThat(event.getEpochNanos()).isEqualTo(timestamp); - assertThat(event.getAttributes()) - .isEqualTo( - Attributes.builder() - .put("exception.type", "java.lang.IllegalStateException") - .put("exception.message", "there was an exception") - .put("exception.stacktrace", stacktrace) - .build()); - + assertThat(event.getAttributes().get(stringKey("exception.message"))) + .isEqualTo("there was an exception"); + assertThat(event.getAttributes().get(stringKey("exception.type"))) + .isEqualTo(exception.getClass().getName()); + assertThat(event.getAttributes().get(stringKey("exception.stacktrace"))).isEqualTo(stacktrace); assertThat(event) .isInstanceOfSatisfying( ExceptionEventData.class, exceptionEvent -> { assertThat(exceptionEvent.getException()).isSameAs(exception); - assertThat(exceptionEvent.getAdditionalAttributes()).isEqualTo(Attributes.empty()); }); } @@ -1237,27 +1247,19 @@ void recordException_additionalAttributes() { EventData event = events.get(0); assertThat(event.getName()).isEqualTo("exception"); assertThat(event.getEpochNanos()).isEqualTo(timestamp); - assertThat(event.getAttributes()) - .isEqualTo( - Attributes.builder() - .put("key1", "this is an additional attribute") - .put("exception.type", "java.lang.IllegalStateException") - .put("exception.message", "this is a precedence attribute") - .put("exception.stacktrace", stacktrace) - .build()); + assertThat(event.getAttributes().get(stringKey("exception.message"))) + .isEqualTo("this is a precedence attribute"); + assertThat(event.getAttributes().get(stringKey("key1"))) + .isEqualTo("this is an additional attribute"); + assertThat(event.getAttributes().get(stringKey("exception.type"))) + .isEqualTo("java.lang.IllegalStateException"); + assertThat(event.getAttributes().get(stringKey("exception.stacktrace"))).isEqualTo(stacktrace); assertThat(event) .isInstanceOfSatisfying( ExceptionEventData.class, exceptionEvent -> { assertThat(exceptionEvent.getException()).isSameAs(exception); - assertThat(exceptionEvent.getAdditionalAttributes()) - .isEqualTo( - Attributes.of( - stringKey("key1"), - "this is an additional attribute", - stringKey("exception.message"), - "this is a precedence attribute")); }); } From 2fdd372c7780b345e66bc4b1e67f41579f88d9bf Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 4 Nov 2024 02:19:51 +0100 Subject: [PATCH 12/19] # --- sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index 51f6356c4b4..9582622e687 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -439,7 +439,7 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti // Check the current status and enforce priority rules StatusCode currentStatusCode = this.status.getStatusCode(); - // Prevent setting a lower priority status + // Prevent setting a lower priority status. if (currentStatusCode == StatusCode.OK) { return this; // Do not allow lower priority status to override OK } else if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { From d452c3e8f437a12ba8d0fb3f3d2632be36d0cc36 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 4 Nov 2024 02:41:59 +0100 Subject: [PATCH 13/19] # --- sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index 9582622e687..ee90f17adb2 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -447,7 +447,7 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti return this; // Do not allow UNSET to override ERROR } - // Set the status, ignoring description if status is not ERROR + // Set the status, ignoring description if status is not ERROR. if (statusCode == StatusCode.ERROR) { this.status = StatusData.create(statusCode, description); // Allow description for ERROR } else { From f04bb8d4077969bce18cb3ce8a1ed912fe4655d8 Mon Sep 17 00:00:00 2001 From: Victorsesan <156327324+Victorsesan@users.noreply.github.com> Date: Fri, 8 Nov 2024 01:32:13 +0100 Subject: [PATCH 14/19] Update sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java Co-authored-by: John Watson --- sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index ee90f17adb2..a7ecc975685 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -436,7 +436,6 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti return this; // Prevent modification if the span has ended } - // Check the current status and enforce priority rules StatusCode currentStatusCode = this.status.getStatusCode(); // Prevent setting a lower priority status. From 5aa430e42faa5831070c36bc3880d4ca26b13252 Mon Sep 17 00:00:00 2001 From: Victorsesan <156327324+Victorsesan@users.noreply.github.com> Date: Fri, 8 Nov 2024 01:32:34 +0100 Subject: [PATCH 15/19] Update sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java Co-authored-by: John Watson --- sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index a7ecc975685..e5a2fc39b23 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -433,7 +433,7 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti synchronized (lock) { if (!isModifiableByCurrentThread()) { logger.log(Level.FINE, "Calling setStatus() on an ended Span."); - return this; // Prevent modification if the span has ended + return this; } StatusCode currentStatusCode = this.status.getStatusCode(); From db6a054e9ddf1c7c4a98d03f68bebcdec2a60dfb Mon Sep 17 00:00:00 2001 From: Victorsesan <156327324+Victorsesan@users.noreply.github.com> Date: Fri, 8 Nov 2024 01:32:45 +0100 Subject: [PATCH 16/19] Update sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java Co-authored-by: John Watson --- sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index e5a2fc39b23..cc3a2421d30 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -456,7 +456,7 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti } } } - return this; // Return the current span for method chaining + return this; } @Override From b1776cff62401ce78c0cd00fdcf1c0ee565ff202 Mon Sep 17 00:00:00 2001 From: Victorsesan <156327324+Victorsesan@users.noreply.github.com> Date: Fri, 8 Nov 2024 01:32:58 +0100 Subject: [PATCH 17/19] Update sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java Co-authored-by: John Watson --- sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index cc3a2421d30..f7a220c7c16 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -448,7 +448,7 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti // Set the status, ignoring description if status is not ERROR. if (statusCode == StatusCode.ERROR) { - this.status = StatusData.create(statusCode, description); // Allow description for ERROR + this.status = StatusData.create(statusCode, description); } else { if (currentStatusCode != statusCode) { this.status = From d9e11e8e4aebfe44bc79436b8e7ee42344e4a5aa Mon Sep 17 00:00:00 2001 From: Victorsesan <156327324+Victorsesan@users.noreply.github.com> Date: Fri, 8 Nov 2024 01:34:00 +0100 Subject: [PATCH 18/19] Update sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java Co-authored-by: John Watson --- sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index f7a220c7c16..168658529e0 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -452,7 +452,7 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti } else { if (currentStatusCode != statusCode) { this.status = - StatusData.create(statusCode, null); // Ignore description for non-ERROR statuses + StatusData.create(statusCode, null); } } } From 8fc96593d5e9d5cec377902a82a6c080bdb67526 Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 8 Nov 2024 04:01:39 +0100 Subject: [PATCH 19/19] Added a new test to help ensure that my setStatus method behaves correctly under the specified conditions, maintaining the integrity of the span's status. Ref Fix Span#setStatus #6797 --- .../io/opentelemetry/sdk/trace/SdkSpan.java | 16 ++++++------- .../opentelemetry/sdk/trace/SdkSpanTest.java | 23 +++++++++++++++++++ 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java index ee90f17adb2..b8edecec200 100644 --- a/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java +++ b/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkSpan.java @@ -433,31 +433,31 @@ public ReadWriteSpan setStatus(StatusCode statusCode, @Nullable String descripti synchronized (lock) { if (!isModifiableByCurrentThread()) { logger.log(Level.FINE, "Calling setStatus() on an ended Span."); - return this; // Prevent modification if the span has ended + return this; } - - // Check the current status and enforce priority rules + StatusCode currentStatusCode = this.status.getStatusCode(); // Prevent setting a lower priority status. if (currentStatusCode == StatusCode.OK) { + logger.log(Level.FINE, "Calling setStatus() on a Span that is already set to OK."); return this; // Do not allow lower priority status to override OK - } else if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { - logger.log(Level.WARNING, "Cannot set status to UNSET when current status is ERROR."); + } if (currentStatusCode == StatusCode.ERROR && statusCode == StatusCode.UNSET) { + logger.log(Level.FINE, "Cannot set status to UNSET when current status is ERROR."); return this; // Do not allow UNSET to override ERROR } // Set the status, ignoring description if status is not ERROR. if (statusCode == StatusCode.ERROR) { - this.status = StatusData.create(statusCode, description); // Allow description for ERROR + this.status = StatusData.create(statusCode, description); } else { if (currentStatusCode != statusCode) { this.status = - StatusData.create(statusCode, null); // Ignore description for non-ERROR statuses + StatusData.create(statusCode, null); } } } - return this; // Return the current span for method chaining + return this; } @Override diff --git a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java index 0a1fd37dae7..a5fad854241 100644 --- a/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java +++ b/sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanTest.java @@ -1446,6 +1446,29 @@ private void verifySpanData( spanDataAttributes.forEach((key, value) -> assertThat(attributes.get(key)).isEqualTo(value)); } + + @Test +void setStatusCannotOverrideStatusError() { + SdkSpan testSpan = createTestRootSpan(); + + // Set an initial status to ERROR + testSpan.setStatus(StatusCode.ERROR, "Initial error status"); + assertThat(testSpan.toSpanData().getStatus().getStatusCode()).isEqualTo(StatusCode.ERROR); + + // Attempt to set status to OK (should not change) + testSpan.setStatus(StatusCode.OK); + assertThat(testSpan.toSpanData().getStatus().getStatusCode()).isEqualTo(StatusCode.ERROR); + + // Attempt to set status to UNSET (should not change) + testSpan.setStatus(StatusCode.UNSET); + assertThat(testSpan.toSpanData().getStatus().getStatusCode()).isEqualTo(StatusCode.ERROR); + + // Attempt to set status to ERROR again (should remain ERROR) + testSpan.setStatus(StatusCode.ERROR, "Another error status"); + assertThat(testSpan.toSpanData().getStatus().getStatusCode()).isEqualTo(StatusCode.ERROR); +} + + @Test void testAsSpanData() { String name = "GreatSpan";