Node stack parser splits anonymous frames at ` (` inside the file path (`C:\Program Files (x86)\...`, `My App (beta)/...`)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 76/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- node.js, typescript
- Domaine
- backend, observability
Piste de recherche
Lisez packages/core/src/utils/node-stack-trace.ts et examinez FULL_MATCH ; le rapport indique également que l’analyseur du navigateur chromeStackLineParser effectue le même découpage. Reproduisez le problème avec les frames V8 anonymes fournis dont les chemins de fichier contiennent (, et vérifiez les deux analyseurs. Le travail est terminé lorsque ces frames conservent le nom de fichier complet et sont analysés comme des frames anonymes, tandis que les frames nommés restent correctement analysés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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/
- Langage dominant
- TypeScript
- Étoiles
- 8.8k
- Forks
- 1.9k
- Merge moyen
- 1 j 21 h
- PR mergées (30 j)
- 637
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de getsentry/sentry-javascript
-
Waiting for: Product Owner
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
getsentry/sentry-javascript#26203 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Workers AI integration drops output of non-streaming chat responses in the OpenAI format (`choices`)Peut-être pris @andreiborza l’a pris il y a 1 jour. OuverteBug Cloudflare Workers Spans Waiting for: Product Owner
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
getsentry/sentry-javascript#26120 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Only create Nuxt database and storage spans when there is a parent spanPeut-être pris @nicohrubec l’a pris il y a 9 jours. OuverteImprovement Nuxt
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
getsentry/sentry-javascript#25805 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Only create Cloudflare storage and D1 db spans when there is a parent spanPeut-être pris @nicohrubec l’a pris il y a 9 jours. OuverteCloudflare Workers Improvement Spans
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
getsentry/sentry-javascript#25804 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Only create aws-sdk DynamoDB db spans when there is a parent spanPeut-être pris @nicohrubec l’a pris il y a 9 jours. OuverteBug javascript
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
getsentry/sentry-javascript#25801 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de getsentry/sentry-javascript
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
bytedance/flowgram.ai#1235 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
devswha/herdr-web-ui#3325 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
desktop v3 windows
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
esengine/DeepSeek-Reasonix#15016 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour