[Bug 1741913] Re: [master] Twisted seems to not handle disconnect from client correctly

Eric Desrochers 1741913 at bugs.launchpad.net
Thu Oct 15 20:03:16 UTC 2020


** 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
Foundations Bugs, which is subscribed to twisted in Ubuntu.
https://bugs.launchpad.net/bugs/1741913

Title:
  [master] Twisted seems to not handle disconnect from client correctly

Status in MAAS:
  New
Status in twisted package in Ubuntu:
  Confirmed

Bug description:
  [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'

  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'

To manage notifications about this bug go to:
https://bugs.launchpad.net/maas/+bug/1741913/+subscriptions



More information about the foundations-bugs mailing list