Ok so the issue is the ~Signal() is being called from withing the Signal executor...so recursively acquiring the same lock.
An async execution of the code that ends up deleting the PlayerImplentation solves that issue and avoids hangs in the unity8 autopilot tests. There's still an issue where ocassionally ~PlayerStub (during unity8 stop) hangs waiting for the dbus worker thread to finish; however that doesn't cause the autopilot tests to hang as the unity8 process is eventually sigkilled if that's the case. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to unity8 in Ubuntu. https://bugs.launchpad.net/bugs/1371454 Title: unity8.indicators.tests.test_indicators.IndicatorExistsTestCase.test_indicator_exists hangs on mako #245 #246 Status in Media Hub: In Progress Status in “unity8” package in Ubuntu: Opinion Bug description: Steps to reproduce - take * flash ubuntu-touch/devel-proposed reviosion 245 or later to mako * configure pin, developer mode, writable-image, network, .. * sudo apt-get install unity8-autopilot * sudo powerd-cli display on bright * autopilot run -v unity8-autopilot unity8 tests seem to run fine up to this point: 07:15:01.082 DEBUG __init__:305 - Unity started, waiting for it to be ready. 07:15:01.088 DEBUG dbus:433 - Selecting objects of type QQuickView with attributes: {} 07:15:01.185 DEBUG dbus:433 - Selecting objects of any type with attributes: {'objectName': 'greeterContentLoader'} 07:15:02.658 DEBUG __init__:307 - Unity loaded and ready. 07:15:02.659 DEBUG dbus:433 - Selecting objects of type QQuickView with attributes: {} 07:15:02.730 DEBUG dbus:433 - Selecting objects of type Greeter with attributes: {} 07:15:04.068 INFO process_helpers:95 - Greeter unlocked, continuing. 07:15:04.069 DEBUG dbus:433 - Selecting objects of type QQuickView with attributes: {} 07:15:04.166 DEBUG dbus:433 - Selecting objects of type DefaultIndicatorWidget with attributes: {'objectName': 'indicator-power-widget'} 07:15:05.095 INFO __init__:330 - Stopping unity 07:15:06.262 INFO __init__:246 - Resetting upstart env QT_LOAD_TESTABILITY to None 07:15:06.432 INFO testresult:46 - OK: unity8.indicators.tests.test_indicators.IndicatorExistsTestCase.test_indicator_exists(Power,Native Device) 07:15:06.436 INFO globals:58 - ************************************************************ 07:15:06.436 INFO globals:59 - Starting test unity8.indicators.tests.test_indicators.IndicatorExistsTestCase.test_indicator_exists (Sound,Native Device) 07:15:06.438 WARNING testcase:116 - No tracing available - install the python-autopilot-trace package! 07:15:06.443 WARNING testcase:157 - Process manager backend unavailable, application snapshot support disabled. 07:15:06.452 WARNING utilities:265 - WARNING: in file "/usr/lib/python2.7/dist-packages/unity8/shell/tests/__init__.py", line 164 in setUp This function is deprecated. Please use 'the Touch class to instantiate a device object' instead. 07:15:06.727 INFO __init__:268 - Lib path is '/usr/lib/arm-linux-gnueabihf/unity8', binary path is '/usr/bin/unity8' 07:15:06.729 INFO __init__:346 - Setting up LightDM mock type 'single' 07:15:06.837 INFO __init__:355 - New library path: /usr/lib/arm-linux-gnueabihf/unity8/qml/mocks/libusermetrics:/usr/lib/arm-linux-gnueabihf/unity8/qml/mocks/LightDM/single 07:15:06.884 INFO __init__:108 - New QML2 import path: /usr/lib/arm-linux-gnueabihf/unity8/qml/mocks 07:15:06.951 INFO __init__:317 - Starting unity 07:15:07.047 INFO process_helpers:151 - Starting job unity8 with arguments ('BINARY=/usr/bin/unity8', 'ARGS=', 'XDG_DATA_DIRS=/usr/share/unity8/mocks/data:/usr/share/ubuntu-touch:/usr/local/share:/usr/share', 'LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf/unity8/qml/mocks/libusermetrics:/usr/lib/arm-linux-gnueabihf/unity8/qml/mocks/LightDM/single', 'QML2_IMPORT_PATH=/usr/lib/arm-linux-gnueabihf/unity8/qml/mocks', 'QT_LOAD_TESTABILITY=1'). 07:15:07.679 INFO process_helpers:159 - unity8 start/running, process 7450 07:15:33.540 ERROR proxies:410 - Introspect error on :1.391:/com/canonical/Autopilot/Introspection: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. 07:15:33.547 DEBUG proxies:413 - Executing introspect queue due to error 07:16:25.189 ERROR proxies:410 - Introspect error on :1.413:/com/canonical/Autopilot/Introspection: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. 07:16:25.195 DEBUG proxies:413 - Executing introspect queue due to error 07:17:15.309 ERROR proxies:410 - Introspect error on :1.391:/com/canonical/Autopilot/Introspection: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. 07:17:15.311 DEBUG proxies:413 - Executing introspect queue due to error 07:18:05.418 ERROR proxies:410 - Introspect error on :1.391:/com/canonical/Autopilot/Introspection: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. 07:18:05.419 DEBUG proxies:413 - Executing introspect queue due to error 07:18:55.558 ERROR proxies:410 - Introspect error on :1.391:/com/canonical/Autopilot/Introspection: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. 07:18:55.561 DEBUG proxies:413 - Executing introspect queue due to error 07:19:45.859 ERROR proxies:410 - Introspect error on :1.391:/com/canonical/Autopilot/Introspection: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. ... To manage notifications about this bug go to: https://bugs.launchpad.net/media-hub/+bug/1371454/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp