[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