** Description changed: - When lastest master just moving around the UI caused a wierd stacktrace. - It didn't seem to affect the experience of using MAAS, but needs to be - looked into. + [Impact] + + Web http/wsgi doesn't fail gracefully when the client closes the + connection, causing 'Traceback' in MAAS /var/log/maas/rackd.log as + follows: + + .... + File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException + raise self.value.with_traceback(self.tb) + builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' + .... + File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection + self.channel.loseConnection() + builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection' + .... + + [Test Case] + + [Regression Potential] + + [Other Information] + + * Upstream bug: + https://twistedmatrix.com/trac/ticket/9410 + + * Upstream fix: + https://github.com/twisted/twisted/commit/169fd1d93b7af06bf0f6893b193ce19970881868 + + # git describe --contains 169fd1d93b + twisted-19.7.0~20^2~13 + + # rmadison + => python3-twisted | 17.9.0-2ubuntu0.1 | bionic-updates | all + => python3-twisted | 18.9.0-11 | focal | all + => python3-twisted | 18.9.0-11 | groovy | all + + [Original Description] + When latest master just moving around the UI caused a wierd stacktrace. It didn't seem to affect the experience of using MAAS, but needs to be looked into. 2018-01-08 15:33:45 -: [critical] WSGI application error - Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext - return self.currentContext().callWithContext(ctx, func, *args, **kw) - File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 87, in callWithContext - self.contexts.pop() - File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 875, in callInContext - return func(*args, **kwargs) - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 522, in run - self.started = True - --- <exception caught here> --- - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 500, in run - self.write(elem) - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 455, in write - self.reactor, wsgiWrite, self.started) - File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread - result.raiseException() - File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException - raise self.value.with_traceback(self.tb) - builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' - + Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext + return self.currentContext().callWithContext(ctx, func, *args, **kw) + File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 87, in callWithContext + self.contexts.pop() + File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 875, in callInContext + return func(*args, **kwargs) + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 522, in run + self.started = True + --- <exception caught here> --- + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 500, in run + self.write(elem) + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 455, in write + self.reactor, wsgiWrite, self.started) + File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread + result.raiseException() + File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException + raise self.value.with_traceback(self.tb) + builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' + 2018-01-08 15:33:45 -: [critical] WSGI application error - Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext - return self.currentContext().callWithContext(ctx, func, *args, **kw) - File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 87, in callWithContext - self.contexts.pop() - File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 875, in callInContext - return func(*args, **kwargs) - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 522, in run - self.started = True - --- <exception caught here> --- - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 500, in run - self.write(elem) - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 455, in write - self.reactor, wsgiWrite, self.started) - File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread - result.raiseException() - File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException - raise self.value.with_traceback(self.tb) - builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' - + Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext + return self.currentContext().callWithContext(ctx, func, *args, **kw) + File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 87, in callWithContext + self.contexts.pop() + File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 875, in callInContext + return func(*args, **kwargs) + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 522, in run + self.started = True + --- <exception caught here> --- + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 500, in run + self.write(elem) + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 455, in write + self.reactor, wsgiWrite, self.started) + File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread + result.raiseException() + File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException + raise self.value.with_traceback(self.tb) + builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' + 2018-01-08 15:33:45 -: [critical] Unhandled Error - Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 396, in startReactor - self.config, oldstdout, oldstderr, self.profiler, reactor) - File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 311, in runReactorWithLogging - reactor.run() - File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1243, in run - self.mainLoop() - File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1252, in mainLoop - self.runUntilCurrent() - --- <exception caught here> --- - File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 851, in runUntilCurrent - f(*a, **kw) - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 510, in wsgiError - self.request.loseConnection() - File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection - self.channel.loseConnection() - builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection' - + Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 396, in startReactor + self.config, oldstdout, oldstderr, self.profiler, reactor) + File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 311, in runReactorWithLogging + reactor.run() + File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1243, in run + self.mainLoop() + File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1252, in mainLoop + self.runUntilCurrent() + --- <exception caught here> --- + File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 851, in runUntilCurrent + f(*a, **kw) + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 510, in wsgiError + self.request.loseConnection() + File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection + self.channel.loseConnection() + builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection' + 2018-01-08 15:33:45 -: [critical] Unhandled Error - Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 396, in startReactor - self.config, oldstdout, oldstderr, self.profiler, reactor) - File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 311, in runReactorWithLogging - reactor.run() - File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1243, in run - self.mainLoop() - File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1252, in mainLoop - self.runUntilCurrent() - --- <exception caught here> --- - File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 851, in runUntilCurrent - f(*a, **kw) - File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 510, in wsgiError - self.request.loseConnection() - File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection - self.channel.loseConnection() - builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection' + Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 396, in startReactor + self.config, oldstdout, oldstderr, self.profiler, reactor) + File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 311, in runReactorWithLogging + reactor.run() + File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1243, in run + self.mainLoop() + File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1252, in mainLoop + self.runUntilCurrent() + --- <exception caught here> --- + File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 851, in runUntilCurrent + f(*a, **kw) + File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 510, in wsgiError + self.request.loseConnection() + File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection + self.channel.loseConnection() + builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection'
** Description changed: [Impact] Web http/wsgi doesn't fail gracefully when the client closes the connection, causing 'Traceback' in MAAS /var/log/maas/rackd.log as follows: .... File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException raise self.value.with_traceback(self.tb) builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' .... File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection self.channel.loseConnection() builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection' .... [Test Case] [Regression Potential] [Other Information] * Upstream bug: https://twistedmatrix.com/trac/ticket/9410 * Upstream fix: https://github.com/twisted/twisted/commit/169fd1d93b7af06bf0f6893b193ce19970881868 # git describe --contains 169fd1d93b twisted-19.7.0~20^2~13 # rmadison - => python3-twisted | 17.9.0-2ubuntu0.1 | bionic-updates | all - => python3-twisted | 18.9.0-11 | focal | all - => python3-twisted | 18.9.0-11 | groovy | all + => python3-twisted | 17.9.0-2ubuntu0.1 | bionic-updates | all + => python3-twisted | 18.9.0-11 | focal | all + => python3-twisted | 18.9.0-11 | groovy | all [Original Description] - When latest master just moving around the UI caused a wierd stacktrace. It didn't seem to affect the experience of using MAAS, but needs to be looked into. + + When latest master just moving around the UI caused a wierd stacktrace. + It didn't seem to affect the experience of using MAAS, but needs to be + looked into. 2018-01-08 15:33:45 -: [critical] WSGI application error Traceback (most recent call last): File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 87, in callWithContext self.contexts.pop() File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 875, in callInContext return func(*args, **kwargs) File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 522, in run self.started = True --- <exception caught here> --- File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 500, in run self.write(elem) File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 455, in write self.reactor, wsgiWrite, self.started) File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread result.raiseException() File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException raise self.value.with_traceback(self.tb) builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' 2018-01-08 15:33:45 -: [critical] WSGI application error Traceback (most recent call last): File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 87, in callWithContext self.contexts.pop() File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 875, in callInContext return func(*args, **kwargs) File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 522, in run self.started = True --- <exception caught here> --- File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 500, in run self.write(elem) File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 455, in write self.reactor, wsgiWrite, self.started) File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread result.raiseException() File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 385, in raiseException raise self.value.with_traceback(self.tb) builtins.AttributeError: 'NoneType' object has no attribute 'writeHeaders' 2018-01-08 15:33:45 -: [critical] Unhandled Error Traceback (most recent call last): File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 396, in startReactor self.config, oldstdout, oldstderr, self.profiler, reactor) File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 311, in runReactorWithLogging reactor.run() File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1243, in run self.mainLoop() File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1252, in mainLoop self.runUntilCurrent() --- <exception caught here> --- File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 851, in runUntilCurrent f(*a, **kw) File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 510, in wsgiError self.request.loseConnection() File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection self.channel.loseConnection() builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection' 2018-01-08 15:33:45 -: [critical] Unhandled Error Traceback (most recent call last): File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 396, in startReactor self.config, oldstdout, oldstderr, self.profiler, reactor) File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 311, in runReactorWithLogging reactor.run() File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1243, in run self.mainLoop() File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1252, in mainLoop self.runUntilCurrent() --- <exception caught here> --- File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 851, in runUntilCurrent f(*a, **kw) File "/usr/lib/python3/dist-packages/twisted/web/wsgi.py", line 510, in wsgiError self.request.loseConnection() File "/usr/lib/python3/dist-packages/twisted/web/http.py", line 1474, in loseConnection self.channel.loseConnection() builtins.AttributeError: 'NoneType' object has no attribute 'loseConnection' -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1741913 Title: [master] Twisted seems to not handle disconnect from client correctly To manage notifications about this bug go to: https://bugs.launchpad.net/maas/+bug/1741913/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
