apache/dubbo

Misleading NullPointerException when request parameter is not Serializable

Closed

#16,293 opened on May 26, 2026

 (1 comment) (0 reactions) (0 assignees)Java (26,453 forks)batch import
help wanted

Repository metrics

Stars
 (41,524 stars)
PR merge metrics
 (Avg merge 7d 14h) (20 merged PRs in 30d)

Description

Pre-check

  • I am sure that all the content I provide is in English.

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Apache Dubbo Component

Java SDK (apache/dubbo)

Descriptions

When calling a Dubbo service with a parameter that does not​ implement java.io.Serializable, the request fails with a confusing NullPointerException.

java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null at java.util.concurrent.ConcurrentHashMap.get(...) at org.apache.dubbo.rpc.support.GroupServiceKeyCache.getServiceKey(...) at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getInvoker(...)

Root Cause:​

The actual problem is that the entity class is not Serializable.

Adding implements Serializablefixes the issue immediately.

Expected Behavior:​

Dubbo should throw a clear exception (e.g. NotSerializableException) instead of an internal NPE.

Suggestion:​

Fail fast with a meaningful error message indicating which class is not serializable.

Related issues

No response

Are you willing to submit a pull request to fix on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

Contributor guide