Re: Xcode internal error: _buildSettings is nil
Re: Xcode internal error: _buildSettings is nil
- Subject: Re: Xcode internal error: _buildSettings is nil
- From: Eric Slosser <email@hidden>
- Date: Tue, 06 Sep 2011 17:05:19 -0400
On Sep 6, 2011, at 4:32 PM, Wim Lewis wrote:
>
> On 6 Sep 2011, at 1:07 PM, Eric Slosser wrote:
>> I've managed to get some of my projects into a state such that when I open them, Xcode (3.2.5) says:
>>
>> Internal Error
>> File: /SourceCache/DevToolsBase/DevToolsBase-1763/pbxcore/Target.subproj/PBXBuildStyle.m
>> Line: 329
>> Object <SXCbuildConfiguration:0x4066d7dc0>
>> Method: upgradeBuildSettingsFromArchivedObjectVersion:
>>
>> _buildSettings should be an instance inheriting from PBXBuildSettingsDictionary, but it is nil
>>
>> Xcode 4.2 (4D151a) says the same thing, but the source path and line number are different.
>>
>> Any idea how to fix this? It's breaking our automated builds.
>
> Hm, I haven't had this exact problem but I have had svn merge break my xcodeprojs on occasion. They're usually not too hard to fix if you can diff the broken one against the most-recent working version.
>
> I'd open the project.pbxproj in a text editor (it's an old-style property list file) and make sure that every item that has "isa = XCBuildConfiguration" has a buildSettings key whose value is a dictionary. If one is missing, try adding "buildSettings = { };".
Yep, that was it.
While moving the OBJROOT and SYMROOT definitions out of individual projects and targets, and into a .xcconfig file, I edited my projects with BBEdit. In one project, I deleted the entire 'buildSettings' list because it only contained those two variables. Once I put an empty list back in, the project opened fine.
Of more general interest, perhaps, is how I narrowed in on the problem. I attached gdb to my Xcode, set a breakpoint on _XCAssertaionFailureHandler, then poked around the registers associated with -[PBXPListUnarchiver _unarchiveObjectWithGlobalIDHexString:] until I found the hex UID of the object that had the error. Then I "grep -r <UID> /path/to/top" and found the project I needed to fix.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden