Regression: ibtoold crashing on compiling iMessage App assets

Originator:futuretap
Number:rdar://33058060 Date Originated:29-Juni-2017 08:03 PM
Status:Open Resolved:
Product:Developer Tools Product Version:9.0 beta 2 (9M137d)
Classification:Crash/Hang/Data Loss Reproducible:Always
 
Summary:
When iMessage.xcassets contain at least two app icon sets with the App Store image filled out, building the app fails with an ibtoold crash.
The same project could be built using Xcode 8 just fine.

Steps to Reproduce:
Build the attached project using Xcode 9.

Expected Results:
It should build successfully.

Actual Results:
It fails with this error message:

CompileAssetCatalog …iMessage\ Extension/iMessage.xcassets
    cd /Users/gentz/Documents/Development/Scratch/MessageDemo
    export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/gentz/Library/Developer/Xcode/DerivedData/MessageDemo-bnzlpdvswmfhaaaspazggfpxmbgc/Build/Intermediates.noindex/MessageDemo.build/Debug-iphonesimulator/MessagesExtension.build/assetcatalog_dependencies --output-partial-info-plist /Users/gentz/Library/Developer/Xcode/DerivedData/MessageDemo-bnzlpdvswmfhaaaspazggfpxmbgc/Build/Intermediates.noindex/MessageDemo.build/Debug-iphonesimulator/MessagesExtension.build/assetcatalog_generated_info.plist --app-icon iMessage\ App\ Icon --compress-pngs --enable-on-demand-resources NO --filter-for-device-model iPhone9,2 --filter-for-device-os-version 11.0 --sticker-pack-identifier-prefix com.futuretap.MessageDemo.MessagesExtension.sticker-pack. --target-device iphone --minimum-deployment-target 10.0 --platform iphonesimulator --product-type com.apple.product-type.app-extension.messages --compile /Users/gentz/Library/Developer/Xcode/DerivedData/MessageDemo-bnzlpdvswmfhaaaspazggfpxmbgc/Build/Products/Debug-iphonesimulator/MessagesExtension.appex … iMessage\ Extension/iMessage.xcassets

2017-06-29 19:53:29.717 ibtoold[24329:65905383] [MT] DVTAssertions: ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEInterfaceBuilder/IDEInterfaceBuilder-13122.19/InterfaceBuilderKit/ImageCatalog/PlatformAdaptation/IBICAbstractPlatformAdapter.m:451
Details:  Assertion failed:
Object:   <IBICiOSPlatformAdapter: 0x7fd3dd400430>
Method:   -addSlottedAssetWarningsToResults:filteredByIdioms:forReps:withOptions:
Thread:   <NSThread: 0x7fd3da70ac20>{number = 1, name = main}
Hints:

Backtrace:
  0   -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   _DVTAssertionFailureHandler (in DVTFoundation)
  4   -[IBICAbstractPlatformAdapter addSlottedAssetWarningsToResults:filteredByIdioms:forReps:withOptions:] (in IDEInterfaceBuilderKit)
  5   -[IBICAbstractPlatformAdapter addBundleIconWarningsToResults:forSelection:withOptions:] (in IDEInterfaceBuilderKit)
  6   -[IBAbstractCocoaTouchPlatformAdapter compileBundleIconFromSelection:options:] (in IDEInterfaceBuilderCocoaTouchIntegration)
  7   -[IBICAbstractPlatformAdapter compileSelectedItems:options:queue:completionHandler:] (in IDEInterfaceBuilderKit)
  8   -[IBICAbstractPlatformAdapter compileCatalogCollection:options:queue:completionHandler:] (in IDEInterfaceBuilderKit)
  9  0x0000000108ef7e4b (in ibtoold)
 10  0x0000000108ef9795 (in ibtoold)
 11  0x0000000108ef9c00 (in ibtoold)
 12  0x0000000108f070c0 (in ibtoold)
 13  0x0000000108f07721 (in ibtoold)
 14  0x0000000108f075f1 (in ibtoold)
 15  0x0000000108ef6c7d (in ibtoold)
 16  0x0000000108f06c78 (in ibtoold)
 17  0x0000000108f05a9a (in ibtoold)
 18   start (in libdyld.dylib)
Command /Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool failed with exit code 255


Version:
9.0 beta 2 (9M137d)

Notes:
When I remove the second app icon, it doesn't crash. Having two app icon sets is useful to differentiate debug and release versions in the app icon.

Comments

The bug still occurs in iOS 11.0 beta 3

Only the error message changed:

2017-07-11 21:31:14.506 ibtoold[48225:106552282] [MT] DVTAssertions: ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEInterfaceBuilder/IDEInterfaceBuilder-13156.6/InterfaceBuilderKit/ImageCatalog/PlatformAdaptation/IBICAbstractPlatformAdapter.m:451
Details:  Not all of the assets are siblings: {(
    <stickers-icon-rep platform="iOS" idiom="iOS Marketing" size="1024×768" scale="1x" conflictState="0" fileName="Icon-1024x768.png" address="0x7ff844ffa360">,
    <stickers-icon-rep idiom="iPhone" size="60×45" scale="3x" conflictState="0" fileName="Icon-180x135.png" address="0x7ff844e8cfa0">,
    <stickers-icon-rep platform="iOS" idiom="Universal" size="32×24" scale="3x" conflictState="0" fileName="Icon-96x72.png" address="0x7ff844e899c0">,
    <stickers-icon-rep idiom="iPhone" size="60×45" scale="2x" conflictState="0" fileName="Icon-120x90.png" address="0x7ff844e8d620">,
    <stickers-icon-rep platform="iOS" idiom="Universal" size="32×24" scale="2x" conflictState="0" fileName="Icon-64x48.png" address="0x7ff844e8a090">,
    <stickers-icon-rep platform="iOS" idiom="iOS Marketing" size="1024×768" scale="1x" conflictState="0" fileName="Icon-1024x768.png" address="0x7ff844e89050">,
    <stickers-icon-rep platform="iOS" idiom="Universal" size="27×20" scale="2x" conflictState="0" fileName="Icon-54x40.png" address="0x7ff844e8a760">,
    <stickers-icon-rep platform="iOS" idiom="Universal" size="27×20" scale="3x" conflictState="0" fileName="Icon-81x60.png" address="0x7ff844e8a5c0">
)}
Object:   <IBICiOSPlatformAdapter: 0x7ff8469ec540>
Method:   -addSlottedAssetWarningsToResults:filteredByIdioms:forReps:withOptions:
Thread:   <NSThread: 0x7ff841e01f80>{number = 1, name = main}
Hints:

Backtrace:
  0   -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   -[IBICAbstractPlatformAdapter addSlottedAssetWarningsToResults:filteredByIdioms:forReps:withOptions:] (in IDEInterfaceBuilderKit)
  4   -[IBICAbstractPlatformAdapter addBundleIconWarningsToResults:forSelection:withOptions:] (in IDEInterfaceBuilderKit)
  5   -[IBAbstractCocoaTouchPlatformAdapter compileBundleIconFromSelection:options:] (in IDEInterfaceBuilderCocoaTouchIntegration)
  6   -[IBICAbstractPlatformAdapter compileSelectedItems:options:queue:completionHandler:] (in IDEInterfaceBuilderKit)
  7   -[IBICAbstractPlatformAdapter compileCatalogCollection:options:queue:completionHandler:] (in IDEInterfaceBuilderKit)
  8  0x000000010b875e98 (in ibtoold)
  9  0x000000010b8777e2 (in ibtoold)
 10  0x000000010b877c4d (in ibtoold)
 11  0x000000010b8850c7 (in ibtoold)
 12  0x000000010b885728 (in ibtoold)
 13  0x000000010b8855f8 (in ibtoold)
 14  0x000000010b874cca (in ibtoold)
 15  0x000000010b884c7f (in ibtoold)
 16  0x000000010b883aa1 (in ibtoold)
 17   start (in libdyld.dylib)
Command /Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool failed with exit code 255

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!