Skip to main content

[JavaScript] How do I verify release and abs_path source map matching?

Issue

Stack traces stay minified after I uploaded source maps. Sentry is matching by release and file path, not Debug IDs, and I need to confirm the event’s release, dist, and minified abs_path line up with the uploaded artifacts.

Applies To

  • All SaaS Customers and Self-Hosted Users

  • JavaScript SDK

  • Source maps matched by release and abs_path (legacy lookup)

  • Project Settings → Source Maps

Symptoms

  • Event release or dist does not match the uploaded artifacts

  • Minified abs_path does not match the artifact path (for example a missing folder)

  • Stack traces stay minified after a successful upload

Resolution

Match the event release and dist to the uploaded artifacts, then match the minified frame abs_path to the artifact path. ~ stands in for protocol and host.

If you can use Debug IDs, use that path instead. See How do I verify Debug IDs for source maps?.

If you need to check release and dist:

Open the event JSON and read the release and dist tags. Those values must match the artifacts on Project Settings → Source Maps.

If the SDK sets dist, the upload must use the same dist. If the event shows dist: null, the artifacts must have no dist.

[Screenshot: event JSON tags with release "vite1" and dist null.]

Screenshot 2023-08-09 at 1.48.42 PM.png

[Screenshot: Source Maps Artifact Bundles search for vite1. A bundle shows “1 Release associated” as vite1 and “No dists associated with this release”.]

Screenshot 2023-08-09 at 1.50.12 PM.png

If you need to check abs_path against artifact paths:

Use the minified stack. In the event UI, open the frame to see the full URL. In event JSON, copy raw_stacktrace frame abs_path.

In this example the minified abs_path is http://localhost:3000/assets/index-5e0ef25e.js.

[Screenshot: event Stack Trace frame for /assets/index-5e0ef25e.js with tooltip http://localhost:3000/assets/index-5e0ef25e.js.]

Screenshot 2023-08-09 at 1.54.44 PM.png

[Screenshot: event JSON raw_stacktrace frame with abs_path http://localhost:3000/assets/index-5e0ef25e.js, filename /assets/index-5e0ef25e.js, lineno 1, colno 50914.]

Screenshot 2023-08-09 at 1.54.14 PM.png

~ replaces the scheme and host. It is not a glob. http://localhost:3000/assets/index-5e0ef25e.js matches ~/assets/index-5e0ef25e.js. It does not match ~/index-5e0ef25e.js.

[Screenshot: Artifact Bundle for release vite1 with minified ~/assets/index-5e0ef25e.js and source map ~/assets/index-5e0ef25e.js.map. That path matches the event abs_path.]

Screenshot 2023-08-09 at 2.04.30 PM.png

[Screenshot: Artifact Bundle with minified ~/index-5e0ef25e.js and source map ~/index-5e0ef25e.js.map. The assets/ folder is missing, so this path does not match.]

Screenshot 2023-08-09 at 2.06.09 PM.png

If abs_path includes a dynamic segment, use RewriteFrames so the frame path matches the uploaded artifact name.

If you need to check sourceMappingURL:

Open the deployed minified file. It must contain a //# sourceMappingURL= comment that points at the map, for example //# sourceMappingURL=index-5e0ef25e.js.map.

Sentry matches the stack to the minified file, then follows that comment to the map. Upload both files. A CDN that strips comments can remove sourceMappingURL.

If source maps were uploaded after the event:

Sentry does not reprocess old events. Upload artifacts before errors occur. Only new events after the upload can use those maps.

See Legacy Uploading Methods. To see how a frame was resolved, see How were my source maps resolved?. If the debugger reports no errors and the stack is still wrong, see Why are my source maps still not working?.

Did this answer your question?