diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml
index d16919d1e4..8b5770077e 100644
--- a/dubbo-dependencies-bom/pom.xml
+++ b/dubbo-dependencies-bom/pom.xml
@@ -150,7 +150,7 @@
2.1.2
1.54.0
0.8.1
- 1.2.1
+ 1.2.2
1.7.36
1.2
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/stub/UnaryStubMethodHandler.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/stub/UnaryStubMethodHandler.java
index f2bff904f1..81e069fa63 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/stub/UnaryStubMethodHandler.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/stub/UnaryStubMethodHandler.java
@@ -34,7 +34,11 @@ public class UnaryStubMethodHandler implements StubMethodHandler {
T request = (T) arguments[0];
CompletableFuture future = new CompletableFuture<>();
StreamObserver responseObserver = new FutureToObserverAdaptor<>(future);
- func.accept(request, responseObserver);
+ try {
+ func.accept(request, responseObserver);
+ } catch (Throwable e) {
+ future.completeExceptionally(e);
+ }
return future;
}
}