Faux Pas crashes when using xcconfig files

Issue #39 closed
Dal Rupnik created an issue
configuration: Development.Debug
         ruleset: 76 Rules tagged [Recommended]: UndetachedDelegate, InvalidStringsFile, StringsFileEncoding, UnnecessaryNullCheck, RetinaImagesResolution, AssertionSideEffects, SuspiciousResources, NullCoalescingOp, LoadMethodWithoutAutoreleasePool, UnknownResourceCodeReference, StringsdictWithoutStrings, InitializeSuperInvocation, CompilerWarnings, UnsupportedWeakReference, HardcodedUIString, MacroBasedIncludeGuard, RestrictedDirectMethodCall, RecommendedVCSIgnores, RetainingImmutableProperty, MissingAPIUsageDescription, XIBRuntimeAttributeMismatch, ThreadUnsafeInstanceCaching, MissingTranslation, RestrictedMethodOverride, MissingDeviceTypeResource, OldVerboseObjCSyntax, IsEqualAndHash, FileRefOutsideVCS, LiteralStringKeyPath, BasicProjectSettings, DuplicateTranslation, StrongDelegate, ConstructorReturnType, SetterInvocationInInitOrDealloc, ArgumentModification, FastEnumElementOutside, UnusedErrorValue, CopyingMutableProperty, ImplicitBundleId, UnnecessaryNibMethod, PrefixHeaderIncludeSuggestion, OrderedPointerToZeroComparison, ReleaseBuildCompilerArgs, XcconfigOverwrites, BuildSettingSelfReference, FixedFormatDateFormatter, BuildSettingPlacement, TerminatingApp, AbsPathInBuildSetting, PrivateCategory, FileRefWithAbsPath, MissingImageResolutionVariant, TranslationPunctuation, WeakReferenceToTopLevelXIBObject, UnprefixedClass, InitializeMethodCategoryOverride, ReleaseBuildConfig, UnknownResourceXIBReference, UnknownResourceModifier, Swizzling, ZeroAssignmentToPointer, DiscardedOpaqueNotificationObserver, DylibInstallName, TranslationFormatMismatch, SuspiciousMissingResources, RedundantInclude, ReservedPrefix, NSLogUsed, UnprefixedCategoryMethod, UncommentedLocalizedString, UnidiomaticAccessorNaming, DuplicateResource, ViewControllerInitWithNibName, CategoryMethodConflict, FileRefIgnoredInVCS, MissingNotificationCenterDetachment

Initialization: Determining VCS state...
Initialization: Resolving build settings...
Rule InvalidStringsFile will not be applied: “Applies to localized projects.”
Rule StringsFileEncoding will not be applied: “Applies to projects under Git version control.”
Rule LoadMethodWithoutAutoreleasePool will not be applied: “Applies to projects targeting an OS prior to iOS 6 or Mac OS 10.8.”
Rule StringsdictWithoutStrings will not be applied: “Applies to localized projects.”
Rule UnsupportedWeakReference will not be applied: “Applies to OS X targets.”
Rule HardcodedUIString will not be applied: “Applies to localized projects.”
Rule RecommendedVCSIgnores will not be applied: “Applies to projects under Git version control.”
Rule MissingTranslation will not be applied: “Applies to localized projects.”
Rule FileRefOutsideVCS will not be applied: “Applies to projects using one of these version control systems: Git, Mercurial, Bazaar, Subversion, Fossil.”
Rule DuplicateTranslation will not be applied: “Applies to localized projects.”
Rule PrefixHeaderIncludeSuggestion will not be applied: “Applies to projects that use a prefix header, and have at least 10 source code files.”
Rule ReleaseBuildCompilerArgs will not be applied: “Applies to release builds.”
Rule TerminatingApp will not be applied: “Applies to release builds of iOS apps.”
Rule TranslationPunctuation will not be applied: “Applies to localized projects.”
Rule ReleaseBuildConfig will not be applied: “Applies to release builds.”
Rule DylibInstallName will not be applied: “Applies to OS X targets.”
Rule TranslationFormatMismatch will not be applied: “Applies to localized projects.”
Rule NSLogUsed will not be applied: “Applies to release builds of application targets.”
Rule UncommentedLocalizedString will not be applied: “Applies to localized projects.”
Rule FileRefIgnoredInVCS will not be applied: “Applies to projects under Git version control.”
Initialization: Discarding build step cache: The Xcode project has been modified since the last build cache
Initialization: Determining build steps
Initialization: Processing build steps
Initialization: Processing precompiled header #1/1 (ARC, Objective-C, armv7)
Initialization: Done processing precompiled header #1/1 (ARC, Objective-C, armv7)
Initialization: Interpreting 2 XIB files...
Applying rules before checking code
2014-10-15 13:32:19.717 FauxPas[25539:1897278] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFString characterAtIndex:]: Range or index out of bounds'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff8934c64c __exceptionPreprocess + 172
    1   libobjc.A.dylib                     0x00007fff876016de objc_exception_throw + 43
    2   CoreFoundation                      0x00007fff8934c4fd +[NSException raise:format:] + 205
    3   CoreFoundation                      0x00007fff89220c46 -[__NSCFString characterAtIndex:] + 102
    4   FauxPas                             0x0000000103290f19 _ZNKSt3__18functionIFvP16DiagnosticRecordPKcPbEEclES2_S4_S5_ + 127309
    5   FauxPas                             0x000000010328fc0b _ZNKSt3__18functionIFvP16DiagnosticRecordPKcPbEEclES2_S4_S5_ + 122431
    6   FauxPas                             0x000000010329ca0b _ZNKSt3__18functionIFvP16DiagnosticRecordPKcPbEEclES2_S4_S5_ + 175167
    7   libdispatch.dylib                   0x00007fff86298344 _dispatch_client_callout2 + 8
    8   libdispatch.dylib                   0x00007fff86298293 _dispatch_apply_invoke + 87
    9   libdispatch.dylib                   0x00007fff8628cc13 _dispatch_client_callout + 8
    10  libdispatch.dylib                   0x00007fff8628f88f _dispatch_root_queue_drain + 935
    11  libdispatch.dylib                   0x00007fff8629dfe4 _dispatch_worker_thread3 + 91
    12  libsystem_pthread.dylib             0x00007fff82dcd6cb _pthread_wqthread + 729
    13  libsystem_pthread.dylib             0x00007fff82dcb4a1 start_wqthread + 13
)

This is the report I get when I run Faux Pas on my build configuration, which is made entirely out of xcconfig files.

Comments (2)

  1. Ali Rantakari repo owner

    Thanks for reporting this. I think I have isolated the issue and implemented a fix for this, which will be included in the next release.

  2. Log in to comment