[TIMOB-1764] xcode 4.1 and Ti - unexpected debug output
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-04-17T01:57:06.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 1.5.0 |
Components | iOS |
Labels | 4.1, ios, xcode |
Reporter | Thomas Huelbert |
Assignee | Blain Hamon |
Created | 2011-04-15T03:01:35.000+0000 |
Updated | 2011-04-17T01:57:06.000+0000 |
Description
Encountered when launching the simulator or installing the app after installing the xcode 4.1.
output:
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
munmap$UNIX2003 called from function _ZN2TI14ExecutablePool13systemReleaseERKNS0_10AllocationE in image KitchenSink.
pthread_cond_init$UNIX2003 called from function _ZN3WTI17TCMalloc_PageHeap4initEv in image KitchenSink.
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
pthread_cond_wait$UNIX2003 called from function _ZN3WTI17TCMalloc_PageHeap15scavengerThreadEv in image KitchenSink.
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
mmap$UNIX2003 called from function _Z20TCMalloc_SystemAllocmPmm in image QAtests.
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
pthread_cond_init$UNIX2003 called from function _ZN3WTI17TCMalloc_PageHeap4initEv in image QAtests.
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
pthread_cond_wait$UNIX2003 called from function _ZN3WTI17TCMalloc_PageHeap15scavengerThreadEv in image QAtests.
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
mprotect$UNIX2003 called from function ZN2TI3JIT35privateCompileCTIMachineTrampolinesEPN3WTI6RefPtrINS_14ExecutablePoolEEEPNS_12TiGlobalDataEPNS_21MacroAssemblerCodePtrES9_S9_S9 in image QAtests.
Getting this same problem (as are others on the Q&A pages). I'm wondering if this will prevent apps that are built up against 4.1 from being approved in the app store, as Apple's static analysis tools may see these calls out to 'undefined' system functions as a violation of some sort?
Note to self WRT what's going on here.
The methods are in TiJSCore, the webkit javascript engine we use. mmap$UNIX2003 is a call to mmap compiled with the default settings (IE, since 2003, the API supports POSIX calls). The odd bit is that this header file is the same in 4.1, and the copyrights date back to 2009. Trying to recreate on my end to see if it's some fluke.
In the mean time, considering that these are well-documented posix, Apple shouldn't be giving any problem, especially since it doesn't look like there's any related crashes.
Indeed, this is due to Apple tweaking things, but shouldn't be a worry.
Detailed reason:
The reason that the method was called "mmap$UNIX2003" was for backwards compatibility-- So Apple could have two versions of mmap due to behavior changes. These changes don't really matter for us, so we used the default. Both versions are present in iOS, but default chosen for us by Apple changed between 4.0 and 4.1, with the intent that the older version will be phaseed out (thus the warning). It was 'fixed' by recompiling libTiCore to 4.1 with nary a code change.
Cut to the chase:
This won't be problem, has been fixed, and works fine with 3.1.3-4.1 with no complaints, sim or device.
For those of you playing the home game:
This will be in the next release, but if you truly need to get the newer libTiCore, it'll be at http://timobile.appcelerator.com.s3.amazonaws.com/libTiCore-8.a.gz"> http://timobile.appcelerator.com.s3.amazonaws.com/libTiCore-8.a.gz .
back to you Blain. The fix was removed from 1.4.2 as it was creating the crash on launch issue.
The trick was pulling the jit. https://github.com/appcelerator/titanium_mobile/commit/b09e53c04e8bd704c058b06961e5598632026296"> https://github.com/appcelerator/titanium_mobile/commit/b09e53c04e8b...
1.5.0.3ee6a97