On Saturday 17 March 2007 13:24, Chris Halls wrote:
>
> Hi Andrew
>
> Thanks for your ping. Actually, I already fixed this bug in subversion
> but have not had time to finish testing and preparing a release. Here's
> the current changelog:
>
> apt-proxy (1.9.36~svn) unstable; urgency=low
>
>   [ Chris Halls ]
>   * Acknowledge NMU by Steinar H. Gunderson, thanks! (Closes: #386344)
>   * Close a longstanding bug where clients would hang when receiving
>     files from the cache. The problem was caused by reusing the same
>     file handle for several requests at once.
>     (Closes: #274679, #382078, #322242, #397399, #397403, #398217)

> Please feel free to give it a try:
>
> svn co svn+ssh://svn.debian.org/svn/apt-proxy/trunk apt-proxy
> cd apt-proxy
> <as root> ./aptest
>
Ok.  I am currently running apt-proxy as above.  This does seem better.

After approx 2 hours the exception re-occurred.  This time apt-proxy was 
able to recover and continue.

2007/03/20 23:19 EST [TimeoutProtocol,client] Stopping factory 
<apt_proxy.fetchers.HttpFetcher instance at 0xb6ab75cc>
2007/03/20 23:19 EST [TimeoutProtocol,client] Stopping factory 
<twisted.protocols.policies.TimeoutFactory instance at 0xb6aaf8ec>
2007/03/20 23:19 EST [Channel,211,192.168.1.23] [CacheEntry] this is a real 
request:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:19 EST [Channel,212,192.168.1.23] [CacheEntry] this is a real 
request:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:20 EST [-] [CacheEntry] sending file from 
cache:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:20 EST [-] [CacheEntry] 
transfer_file:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:20 EST [Channel,213,192.168.1.23] [CacheEntry] this is a real 
request:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:21 EST [Channel,214,192.168.1.23] [CacheEntry] this is a real 
request:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:21 EST [-] [CacheEntry] sending file from 
cache:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:21 EST [-] [CacheEntry] 
transfer_file:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:21 EST [-] [verify] cache file verification FAILED 
for /var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb: 
Verification process timed out
2007/03/20 23:21 EST [-] [CacheEntry] start 
download:pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:21 EST [-] [verify] cache file verification FAILED 
for /var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb: 
dpkg failed

2007/03/20 23:21 EST [-] Traceback (most recent call last):
          
File "/usr/lib/python2.4/site-packages/twisted/internet/posixbase.py", line 
250, in _disconnectSelectable
            selectable.readConnectionLost(f)
          
File "/usr/lib/python2.4/site-packages/twisted/internet/abstract.py", line 
157, in readConnectionLost
            self.connectionLost(reason)
          
File "/usr/lib/python2.4/site-packages/twisted/internet/process.py", line 
233, in connectionLost
            self.proc.childConnectionLost(self.name, reason)
          
File "/usr/lib/python2.4/site-packages/twisted/internet/process.py", line 
659, in childConnectionLost
            self.maybeCallProcessEnded()
        --- <exception caught here> ---
          
File "/usr/lib/python2.4/site-packages/twisted/internet/process.py", line 
688, in maybeCallProcessEnded
            self.proto.processEnded(failure.Failure(e))
          File "/home/andrew/apt-proxy/apt-proxy/apt_proxy/cache.py", line 
674, in processEnded
            self.parent.failed(os.path.basename(self.exe)+ " failed")
          File "/home/andrew/apt-proxy/apt-proxy/apt_proxy/cache.py", line 
623, in failed
            os.unlink(self.path)
        exceptions.OSError: [Errno 2] No such file or 
directory: 
'/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb'

2007/03/20 23:21 EST [Channel,215,192.168.1.23] [CacheEntry] this is a real 
request:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:21 EST [Channel,215,192.168.1.23] [CacheEntry] start 
download:pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:21 EST [Channel,215,192.168.1.23] Starting factory 
<apt_proxy.fetchers.HttpFetcher instance at 0xb6ac3e2c>
2007/03/20 23:21 EST [Channel,215,192.168.1.23] Starting factory 
<twisted.protocols.policies.TimeoutFactory instance at 0xb6ac3e8c>
2007/03/20 23:21 EST [TimeoutProtocol,client] [CacheEntry] download 
started:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:29 EST [TimeoutProtocol,client] [CacheEntry] 
download_data_end: 
/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb 
(1 clients)
2007/03/20 23:29 EST [TimeoutProtocol,client] [CacheEntry] 
file_sent:/var/cache/apt-proxy/debian/pool/main/v/valgrind/valgrind_3.2.1-1_i386.deb
2007/03/20 23:29 EST [TimeoutProtocol,client] Stopping factory 
<apt_proxy.fetchers.HttpFetcher instance at 0xb6ac3e2c>
2007/03/20 23:29 EST [TimeoutProtocol,client] Stopping factory 
<twisted.protocols.policies.TimeoutFactory instance at 0xb6ac3e8c>

I am pulling debian-testing-i386-DVD-1.iso using jigdo-lite through 
apt-proxy.  Jigdo-lite acts like a single threaded script and appears to 
use wget internally.  

valgrind_3.2.1-1_i386.deb was already in the cache.  Comparison with a 
backup shows both copies are identical.

At 23:20 the disk was in heavy use. (Daily backups backing up that disk + at 
least 2 other processes accessing that disk + an active swap partition).  
Load average was probably about 2.5, but could have been higher.

My guess is that disk/processor contention caused file verification to 
stall, causing wget to timeout, leading to multiple requests, leading to 
breakage.

By the way, is this version supposed to support access from multiple clients 
simultaneously?

Thanks 
Andrew V.


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

Reply via email to