JVM SIGSEGV crashes after upgrade from 1.61.1 to 1.62.0
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- java
- Área
- devtools, performance
Línea de trabajo
Comienza revisando el logs.txt adjunto y los puntos de entrada del crash mencionados en el informe, especialmente JavaProfiler.dump0, AgentTaskScheduler, DefaultConfigurationPoller y la ruta shaded de okhttp. Compara los cambios entre 1.61.1 y 1.62.0 y, después, reproduce el problema en Java 25; se considera terminado cuando se haya identificado la regresión y confirmado que la JVM ya no se bloquea.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Tracer Version(s)
1.62.0
Java Version(s)
25
JVM Vendor
Eclipse Adoptium / Temurin
Bug Report
After upgrading dd-trace-java from 1.61.1 to 1.62.0, the JVM started crashing with SIGSEGV (and one UNKNOWN signal) on multiple tasks.
Reverting to 1.61.1 with no other changes made the crashes stop.
Crash tracking is enabled, and we have collected several distinct crash signatures. They cluster into three groups:
-
SIGSEGV inside the Datadog profiler native dump path:
Profiler::updateThreadName(jvmtiEnv*, JNIEnv, _jobject, bool)
-> jvmti_Deallocate
called from JavaProfiler.dump0 via the profiling system's periodic
snapshot task (AgentTaskScheduler$PeriodicTask). -
SIGSEGV in JIT inline-cache / wrong-method handling:
SharedRuntime::find_callee_info_helper
-> handle_ic_miss_helper / handle_wrong_method
Observed on multiple call sites, including:- the agent's own shaded okhttp during remote-config polling
(datadog.okhttp3...Http1Codec$FixedLengthSink.close, called from
DefaultConfigurationPoller.fetchConfiguration), seen repeatedly - a Micrometer StepMeterRegistry rollover scheduled task
(io.micrometer.core.instrument.step.StepTuple2.rollCount)
- the agent's own shaded okhttp during remote-config polling
-
JVM-internal crashes around the code cache / GC:
- nmethod::is_unloading -> DependencyContext::clean_unloading_dependents
on a G1 code-cache unloading worker - G1CodeRootSet::add(nmethod*) -> nmethod::oops_do -> register_nmethod
on a C1 CompileBroker thread installing a freshly compiled nmethod
(crashed inside concurrentHashTable.inline.hpp:684)
- nmethod::is_unloading -> DependencyContext::clean_unloading_dependents
All crashes occur either on a Datadog-managed thread or in code installed by the agent (its shaded okhttp). The stacks above come from dd-trace-java's own crashtracking output, which was enabled at the time.
hs_err_pid*.log files are not available: this is running on AWS ECS, and the crashing tasks were recycled before we could retrieve them.
Workaround: pinning back to 1.61.1 removes the crashes entirely.
Expected Behavior
Upgrading dd-trace-java from 1.61.1 to 1.62.0 should not cause JVM crashes.
Reproduction Code
No response
- Lenguaje dominante
- Java
- Estrellas
- 737
- Forks
- 361
- Merge medio
- 3 d 20 h
- PR fusionados (30 d)
- 173
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DataDog/dd-trace-java
-
type: feature request
Dificultad 1/5 1-3 horas Aptitud para principiantes 70/100
DataDog/dd-trace-java#10245 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 62/100
DataDog/dd-trace-java#12608 ·
-
type: bug report
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DataDog/dd-trace-java#12597 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DataDog/dd-trace-java#12540 · 4 comentarios · 1 asignado ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
DataDog/dd-trace-java#12480 ·
Todos los issues de DataDog/dd-trace-java
Issues similares
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
inu-appcenter/memorIN-backend#288 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
frontend maui-pilot pilot-ask question
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Abiertoarea/plugin
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kestra-io/plugin-kestra#190 ·