[tahoe-dev] [tahoe-lafs] #1154: mplayer triggers two bugs in Tahoe's new downloader
tahoe-lafs
trac at tahoe-lafs.org
Thu Aug 5 18:15:21 UTC 2010
#1154: mplayer triggers two bugs in Tahoe's new downloader
------------------------------+---------------------------------------------
Reporter: francois | Owner: warner
Type: defect | Status: assigned
Priority: critical | Milestone: 1.8.0
Component: code-network | Version: 1.8β
Resolution: | Keywords: download regression random-access error
Launchpad Bug: |
------------------------------+---------------------------------------------
Comment (by warner):
Oh, I should mention what I'm guessing mplayer was doing. I think it
issued two simultaneous parallel webapi GET requests: one for the index
near the end of the file, and another for the first block of the file.
They both would have been delivered to the same {{{FileNode}}} instance,
creating two {{{Segmentation}}} requests (one for each {{{read()}}} call),
creating two calls to {{{DownloadNode.get_segment()}}}. The second one
would wait for the first one to finish, since to keep the memory footprint
low, {{{DownloadNode}}} only works on one segment at a time. The first
segment-fetch failed because of the {{{__len__}}} bug, leaving the second
fetch hanging (because of the lost-progress bug). When mplayer got an
error on the index GET, I believe it gave up on the other GET, dropping
the HTTP connection, causing {{{connectionLost}}} and {{{stopProducing}}},
causing a {{{DownloadLoad._cancel_request}}} when no segment-fetch was
active, triggering the third bug.
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1154#comment:11>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-dev
mailing list