[tahoe-lafs-trac-stream] [Tahoe-LAFS] #1794: upload failed -- "I/O operation on closed file"

Tahoe-LAFS trac at tahoe-lafs.org
Thu Dec 18 23:43:32 UTC 2014


#1794: upload failed -- "I/O operation on closed file"
------------------------------+----------------------------------
     Reporter:  zooko         |      Owner:
         Type:  defect        |     Status:  new
     Priority:  normal        |  Milestone:  undecided
    Component:  code-network  |    Version:  1.9.2
   Resolution:                |   Keywords:  upload error twisted
Launchpad Bug:                |
------------------------------+----------------------------------

Comment (by zooko):

 A customer (now former customer) of !LeastAuthority's S4 service, named
 AB, reported a problem, and his `twistd.log` contains this:
 {{{
 2014-11-08 17:46:18+0000 [SSHService ssh-connection on
 SSHServerTransport,1,127.0.0.1] adding 81920 to 49152 in channel 0
 2014-11-08 17:46:18+0000 [SSHService ssh-connection on
 SSHServerTransport,1,127.0.0.1] adding 81920 to 49152 in channel 0
 2014-11-08 17:46:18+0000 [SSHService ssh-connection on
 SSHServerTransport,1,127.0.0.1] adding 81920 to 49152 in channel 0
 2014-11-08 17:46:37+0000 [-] Unhandled error in Deferred:
 2014-11-08 17:46:37+0000 [-] Unhandled Error
         Traceback (most recent call last):
           File "/usr/lib64/python2.7/site-packages/nevow/flat/twist.py",
 line 42, in cb
             _drive(iterable, finished)
           File "/usr/lib64/python2.7/site-packages/nevow/flat/twist.py",
 line 26, in _drive
             finished.callback('')
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 382, in callback
             self._startRunCallbacks(result)
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 490, in _startRunCallbacks
             self._runCallbacks()
         --- <exception caught here> ---
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 577, in _runCallbacks
             current.result = callback(current.result, *args, **kw)
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 181, in _cbFinishRender
             self.finishRequest(  True )
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 176, in finishRequest
             server.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/server.py",
 line 228, in finish
             return http.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/http.py",
 line 930, in finish
             "Request.finish called on a request after its connection was
 lost; "
         exceptions.RuntimeError: Request.finish called on a request after
 its connection was lost; use Request.notifyFinish to keep track of this.

 2014-11-08 17:50:08+0000 [SSHServerTransport,1,127.0.0.1] Got remote
 error, code 11
         reason: disconnected by user
 2014-11-08 17:50:08+0000 [SSHServerTransport,1,127.0.0.1] connection lost
 2014-11-08 17:52:10+0000 [-] Log opened.
 2014-11-08 17:52:10+0000 [-] twistd 14.0.0 (/usr/bin/python2.7 2.7.8)
 starting up.
 2014-11-08 17:52:10+0000 [-] reactor class:
 twisted.internet.epollreactor.EPollReactor.
 2014-11-08 17:52:10+0000 [-] Listener starting on 51077
 2014-11-08 17:52:10+0000 [-] SSHFactory starting on 8022
 2014-11-08 17:52:10+0000 [-] Starting factory
 <allmydata.frontends.sftpd.SSHFactory instance at 0x7f9451502e18>
 2014-11-08 17:52:10+0000 [-] NevowSite starting on 3456
 2014-11-08 17:52:10+0000 [-] Starting factory <nevow.appserver.NevowSite
 instance at 0x7f94510b4488>
 2014-11-08 17:52:10+0000 [-] My pid: 16255
 2014-11-08 17:52:10+0000 [-] DatagramProtocol starting on 47997
 2014-11-08 17:52:10+0000 [-] Starting protocol
 <twisted.internet.protocol.DatagramProtocol instance at 0x7f9450c6ddd0>
 2014-11-08 17:52:10+0000 [-] (UDP Port 47997 Closed)
 2014-11-08 17:52:10+0000 [-] Stopping protocol
 <twisted.internet.protocol.DatagramProtocol instance at 0x7f9450c6ddd0>
 2014-11-08 17:53:30+0000 [-] Exception rendering error page:
 2014-11-08 17:53:30+0000 [-] Unhandled Error
         Traceback (most recent call last):
           File "/usr/lib64/python2.7/site-packages/foolscap/eventual.py",
 line 26, in _turn
             cb(*args, **kwargs)
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 382, in callback
             self._startRunCallbacks(result)
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 490, in _startRunCallbacks
             self._runCallbacks()
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 577, in _runCallbacks
             current.result = callback(current.result, *args, **kw)
         --- <exception caught here> ---
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 82, in processingFailed
             handler.renderHTTP_exception(ctx, reason)
           File "/usr/lib64/python2.7/site-
 packages/allmydata/web/common.py", line 332, in renderHTTP_exception
             return self.simple(ctx, traceback, http.INTERNAL_SERVER_ERROR)
           File "/usr/lib64/python2.7/site-
 packages/allmydata/web/common.py", line 302, in simple
             req.finishRequest(False)
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 176, in finishRequest
             server.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/server.py",
 line 228, in finish
             return http.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/http.py",
 line 930, in finish
             "Request.finish called on a request after its connection was
 lost; "
         exceptions.RuntimeError: Request.finish called on a request after
 its connection was lost; use Request.notifyFinish to keep track of this.

 2014-11-08 17:53:30+0000 [-] 'Original exception:'
 2014-11-08 17:53:30+0000 [-] Unhandled Error
         Traceback (most recent call last):
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 295, in addCallbacks
             self._runCallbacks()
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 577, in _runCallbacks
             current.result = callback(current.result, *args, **kw)
           File "/usr/lib64/python2.7/site-
 packages/allmydata/immutable/upload.py", line 752, in <lambda>
             self._read_encrypted(length, ciphertext, hash_only, d2))
           File "/usr/lib64/python2.7/site-
 packages/allmydata/immutable/upload.py", line 767, in _read_encrypted
             d = defer.maybeDeferred(self.original.read, size)
         --- <exception caught here> ---
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 139, in maybeDeferred
             result = f(*args, **kw)
           File "/usr/lib64/python2.7/site-
 packages/allmydata/immutable/upload.py", line 1467, in read
             return defer.succeed([self._filehandle.read(length)])
         exceptions.ValueError: I/O operation on closed file

 2014-11-08 17:53:30+0000 [-] Unhandled error in Deferred:
 2014-11-08 17:53:30+0000 [-] Unhandled Error
         Traceback (most recent call last):
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/base.py", line 824, in runUntilCurrent
             call.func(*call.args, **call.kw)
           File "/usr/lib64/python2.7/site-packages/foolscap/eventual.py",
 line 26, in _turn
             cb(*args, **kwargs)
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 382, in callback
             self._startRunCallbacks(result)
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 490, in _startRunCallbacks
             self._runCallbacks()
         --- <exception caught here> ---
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 577, in _runCallbacks
             current.result = callback(current.result, *args, **kw)
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 91, in processingFailed
             request.finishRequest( False )
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 176, in finishRequest
             server.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/server.py",
 line 228, in finish
             return http.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/http.py",
 line 930, in finish
             "Request.finish called on a request after its connection was
 lost; "
         exceptions.RuntimeError: Request.finish called on a request after
 its connection was lost; use Request.notifyFinish to keep track of this.

 2014-11-08 17:53:57+0000 [-] Unhandled error in Deferred:
 2014-11-08 17:53:57+0000 [-] Unhandled Error
         Traceback (most recent call last):
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 577, in _runCallbacks
             current.result = callback(current.result, *args, **kw)
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 169, in gotPageContext
             self._cbFinishRender, pageContext
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 306, in addCallback
             callbackKeywords=kw)
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 295, in addCallbacks
             self._runCallbacks()
         --- <exception caught here> ---
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 577, in _runCallbacks
             current.result = callback(current.result, *args, **kw)
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 181, in _cbFinishRender
             self.finishRequest(  True )
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 176, in finishRequest
             server.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/server.py",
 line 228, in finish
             return http.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/http.py",
 line 930, in finish
             "Request.finish called on a request after its connection was
 lost; "
         exceptions.RuntimeError: Request.finish called on a request after
 its connection was lost; use Request.notifyFinish to keep track of this.

 2014-11-08 17:54:28+0000 [-] Unhandled error in Deferred:
 2014-11-08 17:54:28+0000 [-] Unhandled Error
         Traceback (most recent call last):
           File "/usr/lib64/python2.7/site-packages/nevow/flat/twist.py",
 line 42, in cb
             _drive(iterable, finished)
           File "/usr/lib64/python2.7/site-packages/nevow/flat/twist.py",
 line 26, in _drive
             finished.callback('')
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 382, in callback
             self._startRunCallbacks(result)
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 490, in _startRunCallbacks
             self._runCallbacks()
         --- <exception caught here> ---
           File "/usr/lib64/python2.7/site-
 packages/twisted/internet/defer.py", line 577, in _runCallbacks
             current.result = callback(current.result, *args, **kw)
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 181, in _cbFinishRender
             self.finishRequest(  True )
           File "/usr/lib64/python2.7/site-packages/nevow/appserver.py",
 line 176, in finishRequest
             server.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/server.py",
 line 228, in finish
             return http.Request.finish(self)
           File "/usr/lib64/python2.7/site-packages/twisted/web/http.py",
 line 930, in finish
             "Request.finish called on a request after its connection was
 lost; "
         exceptions.RuntimeError: Request.finish called on a request after
 its connection was lost; use Request.notifyFinish to keep track of this.
 }}}

 (plus much more of the same)

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1794#comment:4>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list