Opened at 2021-01-20T16:31:35Z
Closed at 2021-01-25T14:14:41Z
#3595 closed defect (fixed)
Get rid of `fireEventually` use in EncryptAnUploadable._read_encrypted
Reported by: | exarkun | Owned by: | GitHub <noreply@…> |
---|---|---|---|
Priority: | normal | Milestone: | undecided |
Component: | unknown | Version: | n/a |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
_read_encrypted uses fireEventually to interrupt Deferred chain unwinding. The implementation of read_encrypted incurs one additional Deferred in the chain per chunk. There are (total size / 50kB) chunks. If there are more than about 200 chunks then this overflows the Python stack limit, supposedly.
There are ways to avoid this overflow without fireEventually though. Removing fireEventually simplifies testing since it removes the implicit global reactor dependency. fireEventually also comes from Foolscap so removing it also removes one more point of dependency on Foolscap.
Change History (1)
comment:1 Changed at 2021-01-25T14:14:41Z by GitHub <noreply@…>
- Owner set to GitHub <noreply@…>
- Resolution set to fixed
- Status changed from new to closed
In e5f0dcf/trunk: