Skip to content

Sentry changing worker thread error behavior #18592

Description

@mohd-akram

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/node

SDK Version

10.32.1

Framework Version

No response

Link to Sentry event

No response

Reproduction Example/SDK Setup

instrument.js:

import * as Sentry from "@sentry/node";
Sentry.init();

main.js:

import { Worker } from "worker_threads";

export function runJob() {
  const worker = new Worker("./job.js");
  return new Promise((resolve, reject) => {
    worker.once("error", reject);
    worker.once("exit", (code) => {
      if (code) reject(new Error(`Worker exited with code ${code}`));
      else resolve();
    });
  });
}

try {
  await runJob();
} catch (err) {
  console.error("caught", err);
}

job.js

throw new Error("job failed");

package.json

{
  "type": "module",
  "dependencies": {
    "@sentry/node": "^10.32.1"
  }
}

Steps to Reproduce

  1. Run node main.js
  2. Run SENTRY_DSN=dsn node --import ./instrument.js main.js
  3. Compare results

Expected Result

caught Error: job failed
    at job (file:///private/tmp/sentry-test/job.js:2:9)
    at file:///private/tmp/sentry-test/job.js:5:7
    at ModuleJob.run (node:internal/modules/esm/module_job:377:25)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:691:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)

Actual Result

Error: job failed
    at job (file:///private/tmp/sentry-test/job.js:2:9)
    at file:///private/tmp/sentry-test/job.js:5:7
    at ModuleJob.run (node:internal/modules/esm/module_job:377:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:691:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)
caught Error: Worker exited with code 1
    at Worker.<anonymous> (file:///private/tmp/sentry-test/main.js:8:24)
    at Object.onceWrapper (node:events:623:26)
    at Worker.emit (node:events:508:28)
    at [kOnExit] (node:internal/worker:379:10)
    at Worker.<computed>.onexit (node:internal/worker:293:20)

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions