Skip to content

Commit 673a120

Browse files
committed
remove leaking references in cached failures
1 parent 11133e9 commit 673a120

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

scrapy/contrib/pipeline/media.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from collections import defaultdict
22
from twisted.internet.defer import Deferred, DeferredList
3+
from twisted.python.failure import Failure
34

45
from scrapy.utils.defer import mustbe_deferred, defer_result
56
from scrapy import log
@@ -88,6 +89,11 @@ def _check_media_to_download(self, result, request, info):
8889
return dfd
8990

9091
def _cache_result_and_execute_waiters(self, result, fp, info):
92+
if isinstance(result, Failure):
93+
# minimize cached information for failure
94+
result.cleanFailure()
95+
result.frames = []
96+
result.stack = None
9197
info.downloading.remove(fp)
9298
info.downloaded[fp] = result # cache result
9399
for wad in info.waiting.pop(fp):

0 commit comments

Comments
 (0)