apache/dubbo

Misleading NullPointerException when request parameter is not Serializable

Open

#16,293 opened on May 26, 2026

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Java (41,524 stars) (26,453 forks)batch import
help wanted

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