[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