TypeError: Cannot read properties of undefined (reading 'id')
demo.js#resolveUser
Table view
| Bucket (UTC) | Events |
|---|---|
| 2026-08-22 15:00:00 | 0 |
| 2026-08-22 16:00:00 | 0 |
| 2026-08-22 17:00:00 | 0 |
| 2026-08-22 18:00:00 | 0 |
| 2026-08-22 19:00:00 | 0 |
| 2026-08-22 20:00:00 | 0 |
| 2026-08-22 21:00:00 | 0 |
| 2026-08-22 22:00:00 | 0 |
| 2026-08-22 23:00:00 | 0 |
| 2026-08-23 00:00:00 | 0 |
| 2026-08-23 01:00:00 | 0 |
| 2026-08-23 02:00:00 | 0 |
| 2026-08-23 03:00:00 | 0 |
| 2026-08-23 04:00:00 | 0 |
| 2026-08-23 05:00:00 | 0 |
| 2026-08-23 06:00:00 | 0 |
| 2026-08-23 07:00:00 | 0 |
| 2026-08-23 08:00:00 | 0 |
| 2026-08-23 09:00:00 | 0 |
| 2026-08-23 10:00:00 | 0 |
| 2026-08-23 11:00:00 | 0 |
| 2026-08-23 12:00:00 | 0 |
| 2026-08-23 13:00:00 | 0 |
| 2026-08-23 14:00:00 | 0 |
How this group was decided
Every step below is a pure function of the event. The same event always produces the same group.
1 · Parse the stack trace
10 frames parsed, 4 belong to the application. Only those decide the group — the same bug reaches the runtime through different framework paths depending on the request.
- in-appdemo.js.resolveUserdemo.js:26
- in-appdemo.js.handlerdemo.js:31
- in-appdemo.js.maindemo.js:42
- in-appObject.<anonymous>demo.js:79
- vendorModule._compilenode:internal/modules/cjs/loader:1761
- vendorObject..jsnode:internal/modules/cjs/loader:1893
- vendorModule.loadnode:internal/modules/cjs/loader:1481
- vendorModule._loadnode:internal/modules/cjs/loader:1300
- vendorTracingChannel.traceSyncnode:diagnostics_channel:328
- vendornode:internal/modules/cjs/loader.wrapModuleLoadnode:internal/modules/cjs/loader:245
2 · Build the fingerprint input
Line numbers are dropped so that editing a line above the throw site does not open a new group. Values inside the message are replaced with placeholders.
v1 platform=javascript service=node-demo type=TypeError frame=demo.js#resolveUser frame=demo.js#handler frame=demo.js#main frame=Object#<anonymous>
3 · Hash it
SHA-256 of the text above, truncated to 128 bits. The version is part of the group key: a future algorithm opens new groups rather than rewriting these.
Fingerprinte9930574487b570d9e7633bf75ba64b4Algorithm versionv1
Latest stored event
2026-08-09 16:11:52 UTCCannot read properties of undefined (reading 'id')
TypeError: Cannot read properties of undefined (reading 'id')
at resolveUser (D:\Stacklight\examples\node-demo\demo.js:26:25)
at handler (D:\Stacklight\examples\node-demo\demo.js:31:12)
at main (D:\Stacklight\examples\node-demo\demo.js:42:5)
at Object.<anonymous> (D:\Stacklight\examples\node-demo\demo.js:79:1)
at Module._compile (node:internal/modules/cjs/loader:1761:14)
at Object..js (node:internal/modules/cjs/loader:1893:10)
at Module.load (node:internal/modules/cjs/loader:1481:32)
at Module._load (node:internal/modules/cjs/loader:1300:12)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)Similar groups
Trigram similarity computed by Postgres against a GIN index. It catches what a fingerprint cannot — the same fault one refactor away from an existing group. No model is involved.