NullPointerException: Cannot invoke "String.length()" because "template" is null for user <uuid>
com.example.notify.TemplateRenderer#render
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
3 frames parsed, 2 belong to the application. Only those decide the group — the same bug reaches the runtime through different framework paths depending on the request.
- in-appcom.example.notify.TemplateRenderer.renderTemplateRenderer.java:47
- in-appcom.example.notify.DispatchWorker.sendDispatchWorker.java:112
- vendorjava.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1144
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=java service=notification-worker type=java.lang.NullPointerException frame=com.example.notify.TemplateRenderer#render frame=com.example.notify.DispatchWorker#send
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.
Fingerprint99839629b24d6c36fee555466155c556Algorithm versionv1
Latest stored event
2026-08-12 20:58:36 UTCCannot invoke "String.length()" because "template" is null for user 72924090-20d5-4b3e-96fc-e5baa58aa028
java.lang.NullPointerException: Cannot invoke "String.length()" because "template" is null at com.example.notify.TemplateRenderer.render(TemplateRenderer.java:47) at com.example.notify.DispatchWorker.send(DispatchWorker.java:112) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
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.