Spurious failure in TestMachineFilesystemgroupListener.test__calls_handler_with_update_on_update

Bug #1592474 reported by Gavin Panella
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Invalid
High
Unassigned

Bug Description

ERROR: maasserver.triggers.tests.test_websocket_listener.TestMachineFilesystemgroupListener.test__calls_handler_with_update_on_update
----------------------------------------------------------------------
testtools.testresult.real._StringException: test-id: {{{maasserver.triggers.tests.test_websocket_listener.TestMachineFilesystemgroupListener.test__calls_handler_with_update_on_update(machine)}}}

Traceback (most recent call last):
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/runtest.py", line 221, in _run_core
    self._clean()
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/runtest.py", line 238, in _clean
    raise MAASCrochetDirtyThreadsError(dirtyPools, threadStacks)
maastesting.runtest.MAASCrochetDirtyThreadsError: One or more threadpools were still in use:
  <provisioningserver.utils.twisted.ThreadPool object at 0x7f6706445c18>

Thread <Thread(PoolThread-default-0, started 140079955703552)> stack:
  File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/tmp/tarmac/branch.jttMzC/src/provisioningserver/utils/twisted.py", line 904, in worker
    return target()
  File "/usr/lib/python3/dist-packages/twisted/_threads/_threadworker.py", line 46, in work
    task()
  File "/usr/lib/python3/dist-packages/twisted/_threads/_team.py", line 190, in doWork
    task()
  File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 254, in inContext
    inContext.onResult(ok, result)
  File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 49, in onResult
    reactor.callFromThread(d.callback, result)
  File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 950, in callFromThread
    self.wakeUp()
  File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 520, in wakeUp
    self.waker.wakeUp()
  File "/usr/lib/python3/dist-packages/twisted/internet/posixbase.py", line 176, in wakeUp
    util.untilConcludes(os.write, self.o, b'x')
  File "/usr/lib/python3/dist-packages/twisted/python/util.py", line 713, in untilConcludes
    return f(*a, **kw)

Thread <Watchdog(CrochetShutdownWatchdog, started 140080185947904)> stack:
  File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3/dist-packages/crochet/_shutdown.py", line 28, in run
    time.sleep(0.1)

Thread <Thread(CrochetLogWriter, started 140080202733312)> stack:
  File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3/dist-packages/crochet/_eventloop.py", line 289, in _reader
    self._logWritingReactor.run(installSignalHandlers=False)
  File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1194, in run
    self.mainLoop()
  File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1206, in mainLoop
    self.doIteration(t)
  File "/usr/lib/python3/dist-packages/twisted/internet/pollreactor.py", line 155, in doPoll
    l = self._poller.poll(timeout)

Thread <Thread(CrochetReactor, started 140080194340608)> stack:
  File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3/dist-packages/crochet/_eventloop.py", line 382, in <lambda>
    target=lambda: self._reactor.run(installSignalHandlers=False),
  File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1194, in run
    self.mainLoop()
  File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 1203, in mainLoop
    self.runUntilCurrent()
  File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 798, in runUntilCurrent
    f(*a, **kw)
  File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 117, in _callFromThread
    result = defer.maybeDeferred(f, *a, **kw)
  File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 150, in maybeDeferred
    result = f(*args, **kw)
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/runtest.py", line 287, in _cleanThreads
    stacks = self._captureThreadStacks()
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/runtest.py", line 353, in _captureThreadStacks
    for ident, frame in sys._current_frames().items()

Thread <_MainThread(MainThread, started 140080485525248)> stack:
  File "bin/test.region", line 77, in <module>
    sys.exit(maasserver.execute_from_command_line())
  File "/tmp/tarmac/branch.jttMzC/src/maasserver/__init__.py", line 57, in execute_from_command_line
    management.execute_from_command_line()
  File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 346, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python3/dist-packages/django/core/management/commands/test.py", line 30, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 394, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/lib/python3/dist-packages/django/core/management/commands/test.py", line 74, in execute
    super(Command, self).execute(*args, **options)
  File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 445, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python3/dist-packages/django/core/management/commands/test.py", line 90, in handle
    failures = test_runner.run_tests(test_labels)
  File "/usr/lib/python3/dist-packages/django_nose/runner.py", line 403, in run_tests
    result = self.run_suite(nose_argv)
  File "/usr/lib/python3/dist-packages/django_nose/runner.py", line 335, in run_suite
    addplugins=plugins_to_add)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/core.py", line 121, in __init__
    **extra_args)
  File "/usr/lib/python3.5/unittest/main.py", line 94, in __init__
    self.runTests()
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/core.py", line 207, in runTests
    result = self.testRunner.run(self.test)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/core.py", line 62, in run
    test(result)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/suite.py", line 177, in __call__
    return self.run(*arg, **kw)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/suite.py", line 224, in run
    test(orig)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/suite.py", line 177, in __call__
    return self.run(*arg, **kw)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/suite.py", line 224, in run
    test(orig)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/case.py", line 46, in __call__
    return self.run(*arg, **kwarg)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/case.py", line 134, in run
    self.runTest(result)
  File "/home/ubuntu/.buildout/eggs/nose-1.3.1-py3.5.egg/nose/case.py", line 152, in runTest
    test(result)
  File "/usr/lib/python3/dist-packages/django/test/testcases.py", line 186, in __call__
    super(SimpleTestCase, self).__call__(result)
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/testcase.py", line 244, in __call__
    super(MAASTestCase, self).__call__(result)
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/scenarios.py", line 27, in __call__
    test.__call__(result)
  File "/usr/lib/python3/dist-packages/django/test/testcases.py", line 186, in __call__
    super(SimpleTestCase, self).__call__(result)
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/testcase.py", line 244, in __call__
    super(MAASTestCase, self).__call__(result)
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/scenarios.py", line 29, in __call__
    super(WithScenarios, self).__call__(result)
  File "/home/ubuntu/.buildout/eggs/unittest2-1.1.0-py3.5.egg/unittest2/case.py", line 673, in __call__
    return self.run(*args, **kwds)
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/testcase.py", line 240, in run
    super(MAASTestCase, self).run(result)
  File "/home/ubuntu/.buildout/eggs/testscenarios-0.4-py3.5.egg/testscenarios/testcase.py", line 65, in run
    return super(WithScenarios, self).run(result)
  File "/home/ubuntu/.buildout/eggs/testtools-2.1.0-py3.5.egg/testtools/testcase.py", line 666, in run
    return run_test.run(result)
  File "/home/ubuntu/.buildout/eggs/testtools-2.1.0-py3.5.egg/testtools/runtest.py", line 80, in run
    return self._run_one(actual_result)
  File "/home/ubuntu/.buildout/eggs/testtools-2.1.0-py3.5.egg/testtools/runtest.py", line 94, in _run_one
    return self._run_prepared_result(ExtendedToOriginalDecorator(result))
  File "/home/ubuntu/.buildout/eggs/testtools-2.1.0-py3.5.egg/testtools/runtest.py", line 108, in _run_prepared_result
    self._run_core()
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/runtest.py", line 221, in _run_core
    self._clean()
  File "/tmp/tarmac/branch.jttMzC/src/maastesting/runtest.py", line 236, in _clean
    blockingCallFromThread(reactor, self._cleanThreads))
  File "/usr/lib/python3/dist-packages/twisted/internet/threads.py", line 120, in blockingCallFromThread
    result = queue.get()
  File "/usr/lib/python3.5/queue.py", line 164, in get
    self.not_empty.wait()
  File "/usr/lib/python3.5/threading.py", line 293, in wait
    waiter.acquire()

-------------------- >> begin captured logging << --------------------
twisted: INFO: Listening for database notifications.
twisted: INFO: Connection closed.
--------------------- >> end captured logging << ---------------------

Tags: tests
Revision history for this message
Andres Rodriguez (andreserl) wrote :

Hi!

**This is an automated message**

We believe this is may no longer be an issue in the latest MAAS release. Due to the report date of this, we are currently marking it as Invalid. If you believe this bug report still valid against the latest release of MAAS, or if you are still interested in this, please re-open this bug report.

Thanks

Changed in maas:
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.