TypeError: Cannot set property logger of #<Y> which has only a getter — OTel instrumentation crash on cold start (@opentelemetry/instrumentation v0.214.0)

Author: Tyagi221BCreated Apr 11, 2026Updated Sep 18, 2026
LabelsWaiting for: CommunityStaleBugNext.jsState: Blocked

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/nextjs

SDK Version

10.48.0

Framework Version

16.1.4

Link to Sentry event

https://gympilot-0k.sentry.io/issues/111299682/events/a59aaf966d2347ce86f0dc0c41f5c6c1/

Reproduction Example/SDK Setup

javascript
// sentry.server.config.ts
import * as Sentry from "@sentry/nextjs";

Sentry.init({
  dsn: "YOUR_DSN",
  tracesSampleRate: 0.1,
});

Steps to Reproduce

  1. Install @sentry/[email protected] in a Next.js 15+ project
  2. Create sentry.server.config.ts with a basic Sentry.init() call
  3. Deploy to any Node.js environment (Vercel, etc.)
  4. Observe server logs on cold start

Expected Result

Sentry initializes cleanly with no errors in server logs.

Actual Result

TypeError: Cannot set property logger of #<Y> which has only a getter
    at Object.assign (<anonymous>)
    at setupOnce (node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js)

Root cause: @opentelemetry/instrumentation v0.214.0 changed the logger property on InstrumentationAbstract from a writable property to a getter-only (no setter). Sentry's OTel setup calls Object.assign() on the instrumentation object with a logger key, which throws a TypeError because there is no setter.

Workaround: skipOpenTelemetrySetup: true in Sentry.init() stops the crash but disables all OTel-based performance tracing.

Package versions:

  • @sentry/nextjs: 10.48.0
  • @opentelemetry/instrumentation: 0.214.0 (pulled in transitively)

Additional Context

No response

Priority

React with to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it.

Source: getsentry/sentry-javascript