-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(node): Local variables handle error #13827
Conversation
size-limit report 📦
|
hah. I was just testing the new implementation and ran into this exact problem, was about to open a gh issue. @timfish is it worth implementing some kind of heartbeat on the worker so we can detect (and log) when it's dead? |
As a final FYI i tested a try/catch in the worker and it has fixed the worker dying in my testing. |
If you have logging enabled via |
The fix for this has been released in v8.34.0! |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@sentry/node](https://github.com/getsentry/sentry-javascript/tree/master/packages/node) ([source](https://github.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.33.1` -> `8.34.0`](https://renovatebot.com/diffs/npm/@sentry%2fnode/8.33.1/8.34.0) | | [@sentry/react](https://github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://github.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.33.1` -> `8.34.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.33.1/8.34.0) | --- ### Release Notes <details> <summary>getsentry/sentry-javascript (@​sentry/node)</summary> ### [`v8.34.0`](https://github.com/getsentry/sentry-javascript/releases/tag/8.34.0) [Compare Source](getsentry/sentry-javascript@8.33.1...8.34.0) ##### Important Changes - **ref(nextjs): Remove dead code ([#​13828](getsentry/sentry-javascript#13903 Relevant for users of the `@sentry/nextjs` package: If you have previously configured a `SENTRY_IGNORE_API_RESOLUTION_ERROR` environment variable, it is now safe to unset it. ##### Other Changes - feat(cdn): Export `getReplay` in replay CDN bundles ([#​13881](getsentry/sentry-javascript#13881)) - feat(replay): Clear fallback buffer when switching buffers ([#​13914](getsentry/sentry-javascript#13914)) - feat(replay): Upgrade rrweb packages to 2.28.0 ([#​13732](getsentry/sentry-javascript#13732)) - fix(docs): Correct supported browsers due to `globalThis` ([#​13788](getsentry/sentry-javascript#13788)) - fix(nextjs): Adjust path to `requestAsyncStorageShim.js` template file ([#​13928](getsentry/sentry-javascript#13928)) - fix(nextjs): Detect new locations for request async storage to support Next.js v15.0.0-canary.180 and higher ([#​13920](getsentry/sentry-javascript#13920)) - fix(nextjs): Drop `_not-found` spans for all HTTP methods ([#​13906](getsentry/sentry-javascript#13906)) - fix(nextjs): Fix resolution of request storage shim fallback ([#​13929](getsentry/sentry-javascript#13929)) - fix(node): Ensure graphql options are correct when preloading ([#​13769](getsentry/sentry-javascript#13769)) - fix(node): Local variables handle error ([#​13827](getsentry/sentry-javascript#13827)) - fix(node): Remove `dataloader` instrumentation from default integrations ([#​13873](getsentry/sentry-javascript#13873)) - fix(nuxt): Create declaration files for Nuxt module ([#​13909](getsentry/sentry-javascript#13909)) - fix(replay): Ensure `replay_id` is removed from frozen DSC when stopped ([#​13893](getsentry/sentry-javascript#13893)) - fix(replay): Try/catch `sendBufferedReplayOrFlush` to prevent cycles ([#​13900](getsentry/sentry-javascript#13900)) - fix(sveltekit): Ensure trace meta tags are always injected ([#​13231](getsentry/sentry-javascript#13231)) - fix(sveltekit): Update `wrapServerRouteWithSentry` to respect ParamMatchers ([#​13390](getsentry/sentry-javascript#13390)) - fix(wasm): Integration wasm uncaught WebAssembly.Exception ([#​13787](getsentry/sentry-javascript#13787)) ([#​13854](getsentry/sentry-javascript#13854)) - ref(nextjs): Ignore sentry spans based on query param attribute ([#​13905](getsentry/sentry-javascript#13905)) - ref(utils): Move `vercelWaitUntil` to utils ([#​13891](getsentry/sentry-javascript#13891)) Work in this release was contributed by [@​trzeciak](https://github.com/trzeciak), [@​gurpreetatwal](https://github.com/gurpreetatwal), [@​ykzts](https://github.com/ykzts) and [@​lizhiyao](https://github.com/lizhiyao). Thank you for your contributions! ##### Bundle size 📦 | Path | Size | | ---------------------------------------------------------------- | ----------------- | | [@​sentry/browser](https://github.com/sentry/browser) | 22.73 KB | | [@​sentry/browser](https://github.com/sentry/browser) - with treeshaking flags | 21.53 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing) | 34.97 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) | 71.62 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 62.03 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay with Canvas) | 75.97 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) | 88.73 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback, metrics) | 90.59 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. metrics) | 27 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Feedback) | 39.87 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. sendFeedback) | 27.38 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. FeedbackAsync) | 32.17 KB | | [@​sentry/react](https://github.com/sentry/react) | 25.49 KB | | [@​sentry/react](https://github.com/sentry/react) (incl. Tracing) | 37.94 KB | | [@​sentry/vue](https://github.com/sentry/vue) | 26.91 KB | | [@​sentry/vue](https://github.com/sentry/vue) (incl. Tracing) | 36.86 KB | | [@​sentry/svelte](https://github.com/sentry/svelte) | 22.87 KB | | CDN Bundle | 24.05 KB | | CDN Bundle (incl. Tracing) | 36.76 KB | | CDN Bundle (incl. Tracing, Replay) | 71.38 KB | | CDN Bundle (incl. Tracing, Replay, Feedback) | 76.7 KB | | CDN Bundle - uncompressed | 70.53 KB | | CDN Bundle (incl. Tracing) - uncompressed | 109.04 KB | | CDN Bundle (incl. Tracing, Replay) - uncompressed | 221.4 KB | | CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 234.62 KB | | [@​sentry/nextjs](https://github.com/sentry/nextjs) (client) | 37.91 KB | | [@​sentry/sveltekit](https://github.com/sentry/sveltekit) (client) | 35.56 KB | | [@​sentry/node](https://github.com/sentry/node) | 124.5 KB | | [@​sentry/node](https://github.com/sentry/node) - without tracing | 93.64 KB | | [@​sentry/aws-serverless](https://github.com/sentry/aws-serverless) | 103.3 KB | </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMTYuMCIsInVwZGF0ZWRJblZlciI6IjM4LjExNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Reviewed-on: https://git.tristess.app/alexandresoro/ouca/pulls/212 Reviewed-by: Alexandre Soro <code@soro.dev> Co-authored-by: renovate <renovate@git.tristess.app> Co-committed-by: renovate <renovate@git.tristess.app>
@chiragjn this looks unrelated to this issue so can you open a new issue with a reproduction? |
Ref #13768
Runtime.releaseObject
can throw. I've reworked it to simplify and so that errors are caught.After a lot of testing, I've removed the memory leak test. I've tested this PR extensively on Node v20 + v22 and while memory usage does peak at ~350MB, it doesn't get above that after 15 minute of 1k errors per second. Memory usage varies from 150-300MB but I've concluded it's not actually leaking.