[Development] CI problem with iOS
Tor Arne Vestbø
tor.arne.vestbo at digia.com
Tue Mar 24 13:51:22 CET 2015
On 23/03/15 15:04, Simon Hausmann wrote:
> On Sunday 22. March 2015 23.19.15 Thiago Macieira wrote:
>> Anyone?
>>
>> This is still happening.
>>
>> If we don't know how to fix this, I propose we make the iOS builds
>> force-pass all tests.
>
> We haven't found the real bug yet, but we've found the change that revealed
> the change, and it's been reverted now:
>
> https://codereview.qt-project.org/109207
Still looking into the issue, but what seems to happen is a race
condition in Xcode/xcodebuild that is triggered by us running make with
-jN and ending up spawning multiple concurrent xcodebuilds.
Xcode seems to use global state to store the 'what is the destination of
this build' flag, which in turn affects build variables like VALID_ARCHS
and other build rules.
The change in question forced tests to be built for simulator, but some
apps in the tests do not have CONFIG+=testcase, such as the qclipboard
test helpers, and ended up being built for device. The result is that we
run something like this in parallel:
xcodebuild -sdk iphonesimulator [...]
xcodebuild -sdk iphoneos [...]
And the second build will mess up the state of the first, making it
believe that it's building with the simulator SDK, but targeting
arm64/armv7.
There are ways to guide Xcode in this process, so we can work around the
bug in xcodebuild, but in the meantime the revert makes sense to lessen
the chance of the problem appearing in the CI.
tor arne
More information about the Development
mailing list