1 files changed, 5 insertions, 1 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 2b09a410f4..4a543a3976 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -232,7 +232,11 @@ class FederationHandler(BaseHandler):
d = defer.Deferred()
self.waiting_for_join_list.setdefault((joinee, room_id), []).append(d)
reactor.callLater(10, d.cancel)
- yield d
+
+ try:
+ yield d
+ except defer.CancelledError:
+ raise SynapseError("500", "Unable to join remote room")
try:
yield self.store.store_room(
|