Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Run out of stack due to recursion loop in synapse/crypto/keyring.py #5723

Closed
michaelkaye opened this issue Jul 19, 2019 · 1 comment
Closed

Comments

@michaelkaye
Copy link
Contributor

Two python backtraces here:

gdb_traceback.log
gdb.txt

This seems to be recursing a lot on "_start_key_lookups" and "remove_deferred"

@michaelkaye michaelkaye changed the title Run out of stack due to recursion loop in synapse/crypto/keyring.py, line 280, in _start_key_lookups Run out of stack due to recursion loop in synapse/crypto/keyring.py Jul 19, 2019
richvdh added a commit that referenced this issue Jul 19, 2019
richvdh added a commit that referenced this issue Jul 22, 2019
* Refactor Keyring._start_key_lookups

There's an awful lot of deferreds and dictionaries flying around here. The
whole thing can be made much simpler and achieve the same effect.

* Add a delay to key lookup lock release to fix stack overflow

A tactical call_later here should fix #5723

* changelog
@richvdh
Copy link
Member

richvdh commented Jul 22, 2019

fixed by #5724, I hope

@richvdh richvdh closed this as completed Jul 22, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants