Recordsgolanggo.opentelemetry.io/otel/tracefailure issue
Failure signature
PROJECT_TEST exit 1 ×1
--- FAIL: TestNewHandlerContract (0.00s) · FAIL example.com/otelhttp-sample 0.004s
Evidence quality: complete · go/test · test-runner-diagnostic · outer go test · First recorded: 2026-09-10 · Last seen: 2026-09-10
sha256:00b364355b89…
go.opentelemetry.io/otel/trace.SpanFromContext go.opentelemetry.io/otel/trace.TracerProvider
Where it was measured
PASS means the release recorded a passing observation at PROJECT_TEST and no record of this failure. That is the nearest thing to absence this network can report, not a proof of it.
- v1.46.0 PASS 20 passing observations
- v1.45.0 FAIL
- v1.44.0 PASS 2 passing observations
- v1.43.0 PASS 190 passing observations
- v1.37.0 PASS 6 passing observations
Where it reproduced
- os=linux · runtime=go@1.26 ×1 2026-09-10 → 2026-09-10
Nearest known PASS/FAIL boundaries
The two adjacent releases the verdict changes across. Releases nothing measured do not close the gap; they are counted instead.
-
Last passing release v1.44.0 → first failing release v1.45.0
What differs across the boundary
- go.opentelemetry.io/otel v1.44.0 → v1.45.0 hypothesis
A version that moved across the boundary is a candidate, not a cause. Only a receipt that recorded the failure and the tree it resolved in the same run is marked as evidence.
-
Last failing release v1.45.0 → first passing release v1.46.0
What differs across the boundary
- github.com/stretchr/testify v1.12.1 → v1.11.1 hypothesis
- go.opentelemetry.io/otel v1.46.0 → v1.45.0 hypothesis
A version that moved across the boundary is a candidate, not a cause. Only a receipt that recorded the failure and the tree it resolved in the same run is marked as evidence.
Dependency versions across releases
What each release of this package resolved its children to. A child whose version moved is listed first: that is where an upgrade changed something underneath you.
| Library | v1.46.0 | v1.45.0 | v1.44.0 | v1.43.0 | v1.37.0 |
|---|---|---|---|---|---|
| github.com/stretchr/testify | v1.12.1 | v1.11.1 | v1.11.1 | v1.11.1 | v1.11.1 |
| go.opentelemetry.io/otel | v1.46.0 | v1.45.0 | v1.44.0 | v1.43.0 | v1.37.0 |
| github.com/google/go-cmp | v0.7.0 | v0.7.0 | v0.7.0 | v0.7.0 | v0.7.0 |
Moved: 2 · unchanged at every release: 1
An edge records that a resolver placed one release beside another on a real machine. It is not a claim that the two work together; that question is answered by samples and contracts, not by presence here.
Evidence gaps
- No failure domain was inferred for this failure.
Published answers for the affected releases
- go.opentelemetry.io/otel/trace v1.45.0: Multiple WithInstrumentationAttributes and WithInstrumentationAttributeSet options merge scope attributes with last-value-wins precedence instead of overwriting earlier options This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. HOWgo.opentelemetry.io/otel/trace.NewTracerConfiggo.opentelemetry.io/otel/trace.WithInstrumentationAttributesgo.opentelemetry.io/otel/trace.WithInstrumentationAttributeSetgo.opentelemetry.io/otel/trace.TracerConfig.InstrumentationAttributesgo MIT-0 · 2026-08-16
- go.opentelemetry.io/otel/trace v1.45.0: SpanFromContext never returns nil on untraced contexts but yields invalid non-recording spans whose IDs format to 32-character and 16-character zero strings rather than empty strings, RecordError does not set error status, and NewSpanContext drops all fields if either TraceID or SpanID is zero This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. HOWgo.opentelemetry.io/otel/trace.SpanFromContextgo.opentelemetry.io/otel/trace.ContextWithSpango.opentelemetry.io/otel/trace.ContextWithRemoteSpanContextgo.opentelemetry.io/otel/trace.WithNewRootgo.opentelemetry.io/otel/trace.NewSpanContextgo.opentelemetry.io/otel/trace.TraceIDFromHexgo.opentelemetry.io/otel/trace.SpanIDFromHexgo.opentelemetry.io/otel/trace.Span.RecordErrorgo MIT-0 · 2026-08-16
- go.opentelemetry.io/otel/trace v1.45.0: SpanFromContext never returns nil on uninstrumented contexts, ContextWithRemoteSpanContext produces non-recording spans that silently drop in-place mutations, TraceIDFromHex rejects uppercase hex, and TraceState mutations are strictly immutable This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. HOWgo.opentelemetry.io/otel/trace.SpanFromContextgo.opentelemetry.io/otel/trace.ContextWithRemoteSpanContextgo.opentelemetry.io/otel/trace.WithNewRootgo.opentelemetry.io/otel/trace.TraceIDFromHexgo.opentelemetry.io/otel/trace.SpanIDFromHexgo.opentelemetry.io/otel/trace.TraceStatego MIT-0 · 2026-08-16