Node stack parser splits anonymous frames at ` (` inside the file path (`C:\Program Files (x86)\...`, `My App (beta)/...`)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 76/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- node.js, typescript
- Bereich
- backend, observability
Rechercherichtung
Lies packages/core/src/utils/node-stack-trace.ts und untersuche FULL_MATCH; im Bericht steht außerdem, dass der Browser-Parser chromeStackLineParser dieselbe Aufteilung aufweist. Reproduziere das Problem mit den bereitgestellten anonymen V8-Frames, deren Dateipfade ( enthalten, und überprüfe beide Parser. Fertig ist es, wenn diese Frames den vollständigen Dateinamen beibehalten und als anonyme Frames geparst werden, während benannte Frames weiterhin korrekt geparst werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is there an existing issue for this?
- I have checked for existing issues https://github.com/getsentry/sentry-javascript/issues
- I have reviewed the documentation https://docs.sentry.io/
- I am using the latest SDK release https://github.com/getsentry/sentry-javascript/releases
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/node
SDK Version
11.11.0 (also develop 6c6c040256)
Framework Version
Node.js v26.13.0
Link to Sentry event
No response
Reproduction Example/SDK Setup
/home/me/My App (beta)/index.js:
const { defaultStackParser } = require("@sentry/node");
try {
[1].forEach(() => {
throw new Error("boom");
});
} catch (err) {
console.log(err.stack.split("\n")[1]);
const top = defaultStackParser(err.stack).pop();
console.log(top.filename, "|", top.function, top.lineno, top.colno);
}
Steps to Reproduce
Run node index.js from a directory whose path contains a space followed by (. The same happens for any anonymous V8 frame such as at C:\Program Files (x86)\MyApp\index.js:2:9 or at async /home/me/My App (beta)/index.js:2:9.
Expected Result
at /home/me/My App (beta)/index.js:4:11
/home/me/My App (beta)/index.js | ? 4 11
Actual Result
at /home/me/My App (beta)/index.js:4:11
beta)/index.js | /home/me/My App 4 11
Parsing at C:\Program Files (x86)\MyApp\index.js:2:9 returns {"function":"C:\\Program Files","filename":"x86)\\MyApp\\index.js","in_app":false}. Named frames (at main (/home/me/My App (beta)/index.js:5:3)) are parsed as expected.
Additional Context
FULL_MATCH in packages/core/src/utils/node-stack-trace.ts is /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/; the optional lazy (.+?)\s+\( function-name group matches up to the first ( in the path even when the line has no name ( prefix. The truncated filename no longer starts with / or a Windows drive letter, so filenameIsInApp also returns false, and source map lookup and code context fail for these frames. The browser chromeStackLineParser shows the same split for Node-style frames.
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.
Credit: https://ucsbplse.github.io/
- Vorherrschende Sprache
- TypeScript
- Sterne
- 8.8k
- Forks
- 1.9k
- Ø Merge
- 1 T. 21 Std.
- Gemergte PRs (30 T.)
- 637
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus getsentry/sentry-javascript
-
Waiting for: Product Owner
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
getsentry/sentry-javascript#26203 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Workers AI integration drops output of non-streaming chat responses in the OpenAI format (`choices`)Evtl. vergeben @andreiborza hat das vor 1 Tag übernommen. OffenBug Cloudflare Workers Spans Waiting for: Product Owner
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
getsentry/sentry-javascript#26120 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Only create Nuxt database and storage spans when there is a parent spanEvtl. vergeben @nicohrubec hat das vor 9 Tagen übernommen. OffenImprovement Nuxt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
getsentry/sentry-javascript#25805 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Only create Cloudflare storage and D1 db spans when there is a parent spanEvtl. vergeben @nicohrubec hat das vor 9 Tagen übernommen. OffenCloudflare Workers Improvement Spans
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
getsentry/sentry-javascript#25804 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Only create aws-sdk DynamoDB db spans when there is a parent spanEvtl. vergeben @nicohrubec hat das vor 9 Tagen übernommen. OffenBug javascript
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
getsentry/sentry-javascript#25801 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in getsentry/sentry-javascript
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
bytedance/flowgram.ai#1235 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
devswha/herdr-web-ui#3325 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
desktop v3 windows
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
esengine/DeepSeek-Reasonix#15016 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag