← Back to team overview

ubuntu-phone team mailing list archive

Re: Failing qt connections

 

As always, I forgot some info (stupid Manuel). I have been running the
tests constantly and for hours and a mako device and the tests do not fail,
would be interesting to know the diffs between mako and the build servers.


On Wed, Apr 9, 2014 at 12:21 AM, Manuel de la Pena <
manuel.delapena@xxxxxxxxxxxxx> wrote:

> Hello,
>
> In the ubuntu download manager we are using the new connection style
> syntax (http://qt-project.org/wiki/New_Signal_Slot_Syntax) so that if
> there are errors in the signal connections we will be notified at compile
> time. However, in recent versions of udm we have noticed that the udm tests
> that ensure that the qt signals are emitted correctly have started failing
> randomly in the build servers.
>
> As it can be seen in the following build logs the compilation does finish
> with no errors but the tests raise errors at runtime (an assert was added
> for each of the connect calls in the project):
>
>
> https://launchpadlibrarian.net/172280588/buildlog_ubuntu-trusty-powerpc.ubuntu-download-manager_0.3%2B14.04.20140408.1-0ubuntu1_FAILEDTOBUILD.txt.gz
>
> https://launchpadlibrarian.net/172280333/buildlog_ubuntu-trusty-arm64.ubuntu-download-manager_0.3%2B14.04.20140408.1-0ubuntu1_FAILEDTOBUILD.txt.gz
>
> https://launchpadlibrarian.net/172280872/buildlog_ubuntu-trusty-armhf.ubuntu-download-manager_0.3%2B14.04.20140408.1-0ubuntu1_FAILEDTOBUILD.txt.gz
>
> Some of the errors between the diff archs are the same but this feels like
> a coincidence. The unity-scope-click package project has had the same issue
> and has solved it in the following way:
>
> scope/click/download-manager.cpp (123)
>
>  // NOTE: using SIGNAL/SLOT macros here because new-style
>     // connections are flaky on ARM.
>     c = connect(impl->systemDownloadManager.data(),
> SIGNAL(downloadCreated(Download*)),
>                 this, SLOT(handleDownloadCreated(Download*)));
>
>     if (!c) {
>         qDebug() << "failed to connect to
> systemDownloadManager::downloadCreated";
>
>     }
>
>
> It is very interesting that the tests have never (so far) failed in the
> other 2 architectures (i386, amd64). I'm raising this issue because it
> might be hitting us in some other projects. I have reported the following
> bug (https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1304709) in (very
> probably) wrong project. I would really appreciate input form more
> intelligent developers :)
>
> PS: At least I know that my crazy tests that ensure that all signals are
> raised correctly do make sense even when they stop me from landing udm at
> the moment.
>

References