On Wed, Dec 27, 2006 at 02:49:55AM +0100, Steinar H. Gunderson wrote:
> Looks like the error is from a SIZE failing (which triggers a LIST trying to
> figure it out that way instead, which also fails, which gives the error
> message). Could you please also send your apt-proxy-v2.conf, and a new log
> with full debugging enabled ("debug = all:9" in apt-proxy-v2.conf) while
> reproducing the problem?

Nevermind, after about half an hour after the mirror you seem to be using
(today's thanks go out to KDE, for providing 300MB of packages I never use
myself, and thus a nice target for a huge apt install), I reproduced it with
debugging on:

2006/12/27 02:52 CET [FTPClient,client] <-- MDTM 
/debian/pool/main/e/ekg/libgadu3_1.7%7erc2-1_i386.deb
2006/12/27 02:52 CET [FTPClient,client] --> 213 20061121104814
2006/12/27 02:52 CET [FTPClient,client] [Fetcher] File mtime: 1164109694.0
2006/12/27 02:52 CET [FTPClient,client] <-- SIZE 
/debian/pool/main/e/ekg/libgadu3_1.7%7erc2-1_i386.deb
2006/12/27 02:52 CET [FTPClient,client] --> 550 Could not get file size.
2006/12/27 02:52 CET [FTPClient,client] [ftp_client] ftp size failed: [Failure 
instance: Traceback (failure with no frames): twisted.protocols.ftp.CommandFail
ed: ['550 Could not get file size.']
        ]
2006/12/27 02:52 CET [FTPClient,client] <-- PASV
2006/12/27 02:52 CET [FTPClient,client] --> 227 Entering Passive Mode 
(213,197,30,53,139,249)
2006/12/27 02:52 CET [FTPClient,client] <-- LIST 
/debian/pool/main/e/ekg/libgadu3_1.7%7erc2-1_i386.deb
2006/12/27 02:52 CET [FTPClient,client] --> 150 Here comes the directory 
listing.
2006/12/27 02:52 CET [FTPClient,client] --> 226 Directory send OK.
2006/12/27 02:52 CET [FTPClient,client] [ftp_client] ftp list failed: [Failure 
instance: Traceback: exceptions.NameError: global name 'filelist' is not define
d
        
/usr/lib/python2.4/site-packages/twisted/internet/defer.py:307:_runCallbacks
        
/usr/lib/python2.4/site-packages/twisted/internet/defer.py:497:_cbDeferred
        /usr/lib/python2.4/site-packages/twisted/internet/defer.py:229:callback
        
/usr/lib/python2.4/site-packages/twisted/internet/defer.py:294:_startRunCallbacks
        --- <exception caught here> ---
        
/usr/lib/python2.4/site-packages/twisted/internet/defer.py:307:_runCallbacks
        /usr/lib/python2.4/site-packages/apt_proxy/fetchers.py:648:ftpListResult
        ]
2006/12/27 02:52 CET [FTPClient,client] [fetcher] (/debian) internal error: 
Could not list directory
2006/12/27 02:52 CET [FTPClient,client] [Fetcher] download_failed: (500) Could 
not list directory 

Basically:

  1. The FTP server at the other end (debian.concepts.nl) appears to be
     broken somehow; it should not send out intermittent 550s on SIZE.
     I notice that there is a tilde in the filename that gets escaped
     in the log, though; however, note that it works on the MDTM. Telnetting
     to the server a few times allowed me to reproduce this:

     MDTM /debian/pool/main/e/ekg/libgadu3_1.7~rc2-1_i386.deb                   
                                 
     213 20060827124706
     SIZE /debian/pool/main/e/ekg/libgadu3_1.7~rc2-1_i386.deb      
     550 Could not get file size.
     MDTM /debian/pool/main/e/ekg/libgadu3_1.7~rc2-1_i386.deb         
     213 20060827124706
     SIZE /debian/pool/main/e/ekg/libgadu3_1.7~rc2-1_i386.deb      
     550 Could not get file size.
     PASV
     227 Entering Passive Mode (213,197,30,53,113,146)
     RETR /debian/pool/main/e/ekg/libgadu3_1.7~rc2-1_i386.deb      
     550 Failed to open file.

     Isn't that fishy? Sometimes it gets MDTM but not SIZE (as in this
     example), sometimes neither, sometimes both work. The tilde doesn't
     matter either:
     
     MDTM /debian/pool/main/e/ekg/libgadu3_1.5+20050411-5_i386.deb              
          
     213 20051007134706
     SIZE /debian/pool/main/e/ekg/libgadu3_1.5+20050411-5_i386.deb    
     550 Could not get file size.
  
     Even though apt-proxy shouldn't escape tildes (package names with
     tildes seem to give a consistent 404 when the server works?), I'm
     fairly certain this is a server bug.
  2. fetchers.py:648 should use "self.filelist" instead of "filelist"
     (ditto for line 652). While this is a bug, I'm not sure if it's
     the actual root cause.

So, my conclusion: We have two genuine apt-proxy bugs here (both should be
rather easily fixable if the release team would want them fixed in etch),
but the main conclusion is that the FTP server in the other end is what
is causing these issues.

/* Steinar */
-- 
Homepage: http://www.sesse.net/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to