{ "id": "87983", "key": "TIMOB-8025", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" }, { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13170", "name": "Sprint 2012-06", "archived": true, "released": true, "releaseDate": "2012-03-25" }, { "id": "13572", "description": "Release 2.1.1", "name": "Release 2.1.1", "archived": true, "released": true, "releaseDate": "2012-07-31" }, { "id": "14096", "description": "Release 2.1.2", "name": "Release 2.1.2", "archived": true, "released": true, "releaseDate": "2012-08-31" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-08-21T21:42:34.000+0000", "created": "2012-03-14T16:50:15.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" } ], "issuelinks": [ { "id": "15788", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "88044", "key": "TISTUD-1353", "fields": { "summary": "iOS: Clean needs to call `xcodebuild clean` to remove stale files", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-06-19T12:44:01.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "When building any iPhone app after doing a clean, I get the following error:\r\n\r\n{code}\r\n[ERROR] fatal error: file '/Volumes/ultima/projects/titanium/timob-5698-maps/build/iphone/timob-5698-maps_Prefix.pch' has been modified since the precompiled header was built\r\n{code}\r\n\r\nI'm not alone: http://developer.appcelerator.com/question/130795/ios-cannot-compile-with-19-continuous-build.\r\n\r\nIt can be fixed by simply changing the guid in the tiapp.xml.", "attachment": [ { "id": "26275", "filename": "20120316-ek15br2r82brrctydutmy4me1e.jpg", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T22:54:28.000+0000", "size": 80813, "mimeType": "image/jpeg" }, { "id": "26274", "filename": "preferences-screenshot.jpg", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T22:48:55.000+0000", "size": 49100, "mimeType": "image/jpeg" }, { "id": "26276", "filename": "Screen Shot 2012-03-16 at 12.09.38 AM.png", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T23:10:33.000+0000", "size": 80220, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: Precompiled headers modified error", "creator": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "environment": null, "comment": { "comments": [ { "id": "186641", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "In order to resolve this, we require more information:\r\n\r\n* The version of TiStudio\r\n* The version of Xcode\r\n* The exact version of CI build (githash is preferable over date)\r\n* A sample project (complete) which demonstrates the issue.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T11:33:33.000+0000", "updated": "2012-03-15T11:33:33.000+0000" }, { "id": "186642", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Titanium Studio, build: 2.0.0.201203121914\r\n\r\nXcode 4.2 build 4D199\r\n\r\nLatest master will cause it. This problem has been around for months.\r\n\r\nAny app will do. Just go into the build directory and kill the iphone directory, then go to run in iphone simulator.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T11:39:24.000+0000", "updated": "2012-03-15T11:39:24.000+0000" }, { "id": "186644", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Unable to reproduce on:\r\n\r\n* TiStudio 1.0.9.201202141208\r\n* XCode 4.2.1\r\n* TiMob SDK 2.0.0.a70a010\r\n* Existing project built for iOS only\r\n* Cleaned in TiStudio\r\n* Cleaned by deleting contents of {{iphone}}\r\n* Cleaned by deleting {{iphone}}\r\n\r\nStill need more information if this is persisting.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T11:45:50.000+0000", "updated": "2012-03-15T15:03:31.000+0000" }, { "id": "186704", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I believe it's related to Xcode Derived Data which is at a separate location and not affected by TiStudio clean.\r\nProbably we should clean Derived Data every time we do a clean build in builder.py", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T15:15:41.000+0000", "updated": "2012-03-15T15:15:41.000+0000" }, { "id": "186711", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Unable to reproduce on TiStudio 2.0.0.201203142055 either.\r\n\r\nMax should be correct, PCH information is saved in the derived data location where it would become stale if replaced with an updated version. What's the location for \"Derived Data\" in the Preferences->Locations pane, and the settings under \"Advanced...\" there?\r\n\r\nIt appears that {{xcodebuild clean}} does in fact clean the cached PCH stuff after all. We should be adding that to both:\r\n\r\n* TiStudio\r\n* The new 'clean' command", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T15:32:25.000+0000", "updated": "2012-03-15T16:45:10.000+0000" }, { "id": "186745", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Created issue TISTUD-1353 so that this can be resolved as part of Studio's cleaning process, if indeed the information that we have is correct. We should be doing this ANYWAY as it will provide a bridge to any build system changes (i.e. no more source file copying).", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T17:34:11.000+0000", "updated": "2012-03-15T17:34:11.000+0000" }, { "id": "186749", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "I don't think this has anything to do with cleaning the project. I've attached a video of what's going on. Please let me know if you want to do a Skype screenshare or have me test anything.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T21:02:54.000+0000", "updated": "2012-03-15T21:02:54.000+0000" }, { "id": "186750", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Scratch that... Jira has a 10MB upload limit, so I put the video on my website: http://www.cb1inc.com/files/TIMOB-8025.mov", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T21:17:07.000+0000", "updated": "2012-03-15T21:17:07.000+0000" }, { "id": "186752", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Chris, will it build if you return previous guid back ?", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T21:21:45.000+0000", "updated": "2012-03-15T21:23:50.000+0000" }, { "id": "186753", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Max, yes, it compiles just fine when I change the guid back to the original.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T21:25:20.000+0000", "updated": "2012-03-15T21:25:20.000+0000" }, { "id": "186754", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "So, if I get the error, I change my guid to anything, compile and it will work. If I change it back, it still works, even if I delete the build directory. So I'm not sure I'm not sure if the iphone build directory missing that first time is the cause.\r\n\r\nI don't get why the guid fixes it. Is the guid getting inserted into a header by the python build script? That's generally a no-no. It's tempting to do that because you can easily assign it to a constant or preprocessor macro, but then you get these header issues.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T21:31:40.000+0000", "updated": "2012-03-15T21:31:40.000+0000" }, { "id": "186755", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "How do you get into that state again then ? Once that happens, do you able to build from Xcode by opening generated project file ?", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T21:44:14.000+0000", "updated": "2012-03-15T21:44:14.000+0000" }, { "id": "186756", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "I have no clue, but since I made the video an hour ago, I have done a ton of mobile web builds from the command line (not from studio) and then I deleted the iphone dir in the build dir and it now errors again. I don't see how mobile web could be the problem. We don't touch the iphone directory. We do a os.makedirs(self.build_path) where build_path = /path/to/project/build/mobileweb, do you think makedirs() \"touches\" the build dir and throws off the iphone dir? Are you guys checking the date modified on the \"build\" dir or soemthing?", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T21:50:38.000+0000", "updated": "2012-03-15T21:50:38.000+0000" }, { "id": "186757", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "I confirmed, that os.makedirs() does indeed modify the dates of the build dir. But since we're dealing with the build/mobileweb directory, we do not touch the date of the build/iphone directory.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T21:54:46.000+0000", "updated": "2012-03-15T21:54:46.000+0000" }, { "id": "186758", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It might be TiStudio issue. Try uncheck in Preferences/Titanium Studio/\"Auto-detect modifications to projects made outside of IDE\"", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T22:12:10.000+0000", "updated": "2012-03-15T22:12:10.000+0000" }, { "id": "186759", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "I can't seem to find that setting. Where exactly is it?", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T22:21:22.000+0000", "updated": "2012-03-15T22:21:22.000+0000" }, { "id": "186760", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "menu Titanium Studio/Preferences...; then Titanium Studio in the left tree. The option is at the bottom.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T22:46:19.000+0000", "updated": "2012-03-15T22:47:48.000+0000" }, { "id": "186761", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Hmm, my preferences dialog looks different, see attached.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T22:54:13.000+0000", "updated": "2012-03-15T22:54:13.000+0000" }, { "id": "186764", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Ok, on development branch you use it was merged into Preferences:General/Workspace/Refresh automatically.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-15T23:05:44.000+0000", "updated": "2012-03-15T23:05:44.000+0000" }, { "id": "186765", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Everything is unchecked. See attached.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-15T23:10:18.000+0000", "updated": "2012-03-15T23:10:18.000+0000" }, { "id": "186795", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "See TISTUD-1353 for the command that needs to be run during the iOS clean - this should be done regardless of the resolution to this issue since clearing out the PCH headers is part of the clean process.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T08:58:40.000+0000", "updated": "2012-03-16T09:00:45.000+0000" }, { "id": "186796", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "OK, I took another look at this to see where we're processing the guid; it is actually part of the rebuild process which might not be getting triggered correctly from just a clean. Going to take a look at that as well.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T09:03:55.000+0000", "updated": "2012-03-16T09:03:55.000+0000" }, { "id": "186798", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Stephen, also we may consider to define SHARED_PRECOMPS_DIR pointing to builder/iphone/somewhere folder in our build scripts.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T09:06:53.000+0000", "updated": "2012-03-16T09:06:53.000+0000" }, { "id": "186800", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Assigning back to me; looks like Chase's clean script is in and if there are other GUID problems, I can fix them all at once.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T09:08:37.000+0000", "updated": "2012-03-16T09:08:37.000+0000" }, { "id": "187158", "author": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing per Chris as he is no longer encountering this issue on his machine", "updateAuthor": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-19T13:13:03.000+0000", "updated": "2012-03-19T13:13:03.000+0000" }, { "id": "215299", "author": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "body": "This problem happens again if you perform these steps:\r\n\r\n1. Change the computer's date to a future date (even 1h later is ok)\r\n2. Perform a clean build of any project in Studio to iPhone Simulator\r\n3. Change back to the current date\r\n\r\nFrom now on, the build won't work anymore for that project and that SDK version, giving the error stated in the description:\r\n\r\n{code}\r\n[ERROR] fatal error: file '/Users/username/Titanium/TestApp/build/iphone/TestApp_Prefix.pch' has been modified since the precompiled header was built\r\n{code}\r\n\r\nI tried to clean the project from Studio and to delete the directory DerivedData, but none helps.", "updateAuthor": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-08-21T02:38:26.000+0000", "updated": "2012-08-21T02:38:26.000+0000" } ], "maxResults": 28, "total": 28, "startAt": 0 } } }