2 files changed, 9 insertions, 6 deletions
diff --git a/changelog.d/6996.bugfix b/changelog.d/6996.bugfix
new file mode 100644
index 0000000000..765d376c7c
--- /dev/null
+++ b/changelog.d/6996.bugfix
@@ -0,0 +1 @@
+Fix bug which caused an error when joining a room, with `'coroutine' object has no attribute 'event_id'`.
diff --git a/synapse/federation/federation_base.py b/synapse/federation/federation_base.py
index eea64c1c9f..9fff65716a 100644
--- a/synapse/federation/federation_base.py
+++ b/synapse/federation/federation_base.py
@@ -96,12 +96,14 @@ class FederationBase(object):
if not res and pdu.origin != origin:
try:
- res = yield self.get_pdu(
- destinations=[pdu.origin],
- event_id=pdu.event_id,
- room_version=room_version,
- outlier=outlier,
- timeout=10000,
+ res = yield defer.ensureDeferred(
+ self.get_pdu(
+ destinations=[pdu.origin],
+ event_id=pdu.event_id,
+ room_version=room_version,
+ outlier=outlier,
+ timeout=10000,
+ )
)
except SynapseError:
pass
|