Can't follow channels in Mastodon after a migration
Steps to reproduce
- Install with migration from a old server following:
- https://docs.funkwhale.audio/installation/debian.html
- https://docs.funkwhale.audio/admin/migration.html
- Try to follow a channel in Mastodon
What happens?
- Mastodon seems to follow without problems
- After a while Mastodon pass the follow status to
pending
- In
journalctl -u funkwhale-worker.service
:
[2022-05-07 18:21:09,266: INFO/MainProcess] Task federation.dispatch_inbox[b4839bed-d11a-4b99-9e51-cafd997eef11] received
[2022-05-07 18:21:09,414: INFO/ForkPoolWorker-2] Task federation.dispatch_inbox[b4839bed-d11a-4b99-9e51-cafd997eef11] succeeded in 0.14362048543989658s: None
[2022-05-07 18:21:18,578: INFO/MainProcess] Task federation.dispatch_inbox[676d8e9f-04ff-4c22-a0f6-1d44320d5d77] received
[2022-05-07 18:21:18,734: INFO/MainProcess] Task federation.dispatch_outbox[9638b9d2-a5c4-480c-9951-e844d709e632] received
[2022-05-07 18:21:18,736: INFO/ForkPoolWorker-2] Task federation.dispatch_inbox[676d8e9f-04ff-4c22-a0f6-1d44320d5d77] succeeded in 0.15366541035473347s: None
[2022-05-07 18:21:18,780: INFO/ForkPoolWorker-1] Task federation.dispatch_outbox[9638b9d2-a5c4-480c-9951-e844d709e632] succeeded in 0.04417194426059723s: None
[2022-05-07 18:21:18,782: INFO/MainProcess] Task federation.deliver_to_remote_inbox[816573b9-b340-484e-953a-52c944642bb6] received
[2022-05-07 18:21:19,335: WARNING/ForkPoolWorker-2] [celery] Error during task 816573b9-b340-484e-953a-52c944642bb6: '_RSAPrivateKey' object has no attribute 'signer'
[2022-05-07 18:21:19,335: WARNING/ForkPoolWorker-2]
[2022-05-07 18:21:19,336: WARNING/ForkPoolWorker-2] Traceback (most recent call last):
[2022-05-07 18:21:19,336: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/celery/app/trace.py", line 450, in trace_task
R = retval = fun(*args, **kwargs)
[2022-05-07 18:21:19,336: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/celery/app/trace.py", line 731, in __protected_call__
return self.run(*args, **kwargs)
[2022-05-07 18:21:19,337: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/celery/app/autoretry.py", line 34, in run
return task._orig_run(*args, **kwargs)
[2022-05-07 18:21:19,337: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/api/funkwhale_api/taskapp/celery.py", line 57, in inner
return function(*args, **kwargs)
[2022-05-07 18:21:19,337: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/api/funkwhale_api/federation/tasks.py", line 149, in deliver_to_remote
response = session.get_session().post(
[2022-05-07 18:21:19,337: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/sessions.py", line 590, in post
return self.request('POST', url, data=data, json=json, **kwargs)
[2022-05-07 18:21:19,337: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/api/funkwhale_api/common/session.py", line 11, in request
return super().request(*args, **kwargs)
[2022-05-07 18:21:19,338: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/sessions.py", line 528, in request
prep = self.prepare_request(req)
[2022-05-07 18:21:19,338: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/sessions.py", line 456, in prepare_request
p.prepare(
[2022-05-07 18:21:19,338: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/models.py", line 320, in prepare
self.prepare_auth(auth, url)
[2022-05-07 18:21:19,338: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/models.py", line 556, in prepare_auth
r = auth(self)
[2022-05-07 18:21:19,338: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests_http_signature/__init__.py", line 94, in __call__
raw_sig = Crypto(self.algorithm).sign(string_to_sign=self.get_string_to_sign(request, self.headers),
[2022-05-07 18:21:19,338: WARNING/ForkPoolWorker-2] File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests_http_signature/__init__.py", line 25, in sign
signer = key.signer(padding=self.PKCS1v15(), algorithm=hasher)
[2022-05-07 18:21:19,339: WARNING/ForkPoolWorker-2] AttributeError: '_RSAPrivateKey' object has no attribute 'signer'
[2022-05-07 18:21:19,339: ERROR/ForkPoolWorker-2] Task federation.deliver_to_remote_inbox[816573b9-b340-484e-953a-52c944642bb6] raised unexpected: AttributeError("'_RSAPrivateKey' object has no attribute 'signer'")
Traceback (most recent call last):
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/celery/app/trace.py", line 450, in trace_task
R = retval = fun(*args, **kwargs)
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/celery/app/trace.py", line 731, in __protected_call__
return self.run(*args, **kwargs)
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/celery/app/autoretry.py", line 34, in run
return task._orig_run(*args, **kwargs)
File "/srv/funkwhale/api/funkwhale_api/taskapp/celery.py", line 57, in inner
return function(*args, **kwargs)
File "/srv/funkwhale/api/funkwhale_api/federation/tasks.py", line 149, in deliver_to_remote
response = session.get_session().post(
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/sessions.py", line 590, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/srv/funkwhale/api/funkwhale_api/common/session.py", line 11, in request
return super().request(*args, **kwargs)
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/sessions.py", line 528, in request
prep = self.prepare_request(req)
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/sessions.py", line 456, in prepare_request
p.prepare(
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/models.py", line 320, in prepare
self.prepare_auth(auth, url)
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests/models.py", line 556, in prepare_auth
r = auth(self)
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests_http_signature/__init__.py", line 94, in __call__
raw_sig = Crypto(self.algorithm).sign(string_to_sign=self.get_string_to_sign(request, self.headers),
File "/srv/funkwhale/virtualenv/lib/python3.9/site-packages/requests_http_signature/__init__.py", line 25, in sign
signer = key.signer(padding=self.PKCS1v15(), algorithm=hasher)
AttributeError: '_RSAPrivateKey' object has no attribute 'signer'
What is expected?
Don't change status to pending
and accept the follow request
Context
Funkwhale version(s) affected: 1.2.4 Nginx as proxy