[TIMOB-3032] iOS emulator, 1.2.2 + 1.6.0 - app fails to launch (error (null)) : ipad 3.2/ipad 4.2/Iphone 3.2
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-04-17T02:00:44.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 1.6.0 M08 |
Components | iOS |
Labels | emulator, ios, regression, release-1.6.0, reported-1.6.0 |
Reporter | Thomas Huelbert |
Assignee | Stephen Tramer |
Created | 2011-04-15T03:35:08.000+0000 |
Updated | 2011-04-17T02:00:44.000+0000 |
Description
[INFO] Titanium SDK version: 1.6.0 (02/02/11 07:59 a632082), 1.2.2
When launching the emulator, the app (ks, ks-ipad) fails to launch. The configs affected are: iphone 3.2, ipad 3.2, ipad 4.2
output:
[INFO] Launching application in Simulator
[DEBUG] App Spec: specified by path
/Users/thomashuelbert/titanium_mobile/demos/KitchenSink/build/iphone/build/Debug-iphonesimulator/KitchenSink.app
[DEBUG] SDK Root:
path=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk
version=3.2 name=Simulator - iOS 3.2 [DEBUG] using device family iphone [INFO] Launched application in Simulator
(10.00 seconds) [DEBUG] Session started [DEBUG] Session did end with error (null)
[INFO] Application has exited from
Simulator
Attachments
File | Date | Size |
---|---|---|
padtest_2011-02-02-141233_macintosh-140.crash | 2011-04-15T03:35:08.000+0000 | 20622 |
same for iphone 3.2 using 1.5.1
Well, ain't this a pickle.
When we select SDK 3.2 initially from the dropdown, everything compiles DIRECTLY against the installed 3.2 (and not the latest SDK) libraries. You may remember, from the distant past, that when 4.2 was released, there was a problem (with mmap) where we couldn't run on simulator - tijscore was linked to the "wrong" function location in the static library. So we updated tijscore so that it did the right thing.
Fast forward to this bug!
You select 3.2 SDK from the dropdown - so it compiles against the 3.2 libraries, with the latest tijscore (which was updated to link against the "right" function locations in the BSD system libraries for 4.2). But this introduces a fundamental incompatibility because... you guessed it... some symbols in this NEW tijscore don't match up to the locations in the 3.2 BSD system libraries.
Attached a crash log which demonstrates. Note that the app runs fine on device.
(from [a02f7db3abbb8c9978e80c82506bd974337d5c2a]) [#3032 state:fixed-in-qa] Don't be a schmuck: LINK against the latest simulator SDK, but RUN in the specified one. This is consistent with how distribution/install works. https://github.com/appcelerator/titanium_mobile/commit/a02f7db3abbb8c9978e80c82506bd974337d5c2a"> https://github.com/appcelerator/titanium_mobile/commit/a02f7db3abbb...
[INFO] Titanium SDK version: 1.6.0 (02/03/11 09:22 a02f7db) emulator 3.2 and 4.2 ipad.
oh yeah, iphone 3,2 as well (iphone idiom - expected)