#5168·metrics

ExponentiallyDecayingReservoir | Caused by: java.lang.NullPointerException: Cannot assign field "value" because "<local2>[<parameter1>]" is null - 4.2.16

Author: atul008Created Feb 24, 2026Updated May 25, 2026

We are facing the following exceptions in our application

Lib version

io.dropwizard.metrics:metrics-core:4.2.16
Caused by: java.lang.NullPointerException: Cannot assign field "value" because "<local2>[<parameter1>]" is null
	at java.base/java.lang.ThreadLocal$ThreadLocalMap.expungeStaleEntry(Unknown Source)
	at java.base/java.lang.ThreadLocal$ThreadLocalMap.getEntryAfterMiss(Unknown Source)
	at java.base/java.lang.ThreadLocal$ThreadLocalMap.getEntry(Unknown Source)
	at java.base/java.lang.ThreadLocal.get(Unknown Source)
	at java.base/java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryAcquireShared(Unknown Source)
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown Source)
	at java.base/java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
	at com.codahale.metrics.ExponentiallyDecayingReservoir.lockForRegularUsage(ExponentiallyDecayingReservoir.java:201)
	at com.codahale.metrics.ExponentiallyDecayingReservoir.update(ExponentiallyDecayingReservoir.java:95)
	at com.codahale.metrics.ExponentiallyDecayingReservoir.update(ExponentiallyDecayingReservoir.java:84)
	at com.codahale.metrics.Histogram.update(Histogram.java:41)
	at com.codahale.metrics.Timer.update(Timer.java:199)
	at com.codahale.metrics.Timer.update(Timer.java:94)