erroropennotification-workerjava

NullPointerException: Cannot invoke "String.length()" because "template" is null for user <uuid>

com.example.notify.TemplateRenderer#render

Events748
First seen12d ago2026-08-11 16:24:35 UTC
Last seen11d ago2026-08-12 20:58:36 UTC
Releases1.9.0
Events per hour, from the rollups0 in this window · peak 1
15:00
 
 
 
19:00
 
 
 
23:00
 
 
 
03:00
 
 
 
07:00
 
 
 
11:00
 
 
 
Table view
Bucket (UTC)Events
2026-08-22 15:00:000
2026-08-22 16:00:000
2026-08-22 17:00:000
2026-08-22 18:00:000
2026-08-22 19:00:000
2026-08-22 20:00:000
2026-08-22 21:00:000
2026-08-22 22:00:000
2026-08-22 23:00:000
2026-08-23 00:00:000
2026-08-23 01:00:000
2026-08-23 02:00:000
2026-08-23 03:00:000
2026-08-23 04:00:000
2026-08-23 05:00:000
2026-08-23 06:00:000
2026-08-23 07:00:000
2026-08-23 08:00:000
2026-08-23 09:00:000
2026-08-23 10:00:000
2026-08-23 11:00:000
2026-08-23 12:00:000
2026-08-23 13:00:000
2026-08-23 14:00:000

How this group was decided

Every step below is a pure function of the event. The same event always produces the same group.

  1. 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. 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. 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.

    Fingerprint
    99839629b24d6c36fee555466155c556
    Algorithm version
    v1

Latest stored event

2026-08-12 20:58:36 UTC

Cannot 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.