erroropencheckout-apijava

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

com.example.checkout.PricingService#calculateTotal

Events1
First seen16d ago2026-08-07 17:34:56 UTC
Last seen16d ago2026-08-07 17:34:56 UTC
Releases1.6.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.checkout.PricingService.calculateTotalPricingService.java:64
    • in-appcom.example.checkout.CheckoutController.submitCheckoutController.java:88
    • vendororg.springframework.web.method.support.InvocableHandlerMethod.doInvokeInvocableHandlerMethod.java:255
  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=checkout-api
    type=java.lang.NullPointerException
    frame=com.example.checkout.PricingService#calculateTotal
    frame=com.example.checkout.CheckoutController#submit
  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
    72afc07c65a504072ab502fb78a99b18
    Algorithm version
    v1

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.