Hang on El Capitan with Xcode 7 using Faux Pas 1.5
Attempting to run Faux Pas (trial) on El Capitan (GM) and Xcode 7 (GM), I see hangs... I see it start analyzing 8 files (one per core in my rMBP?), then hang for 5-10 minutes, then complain about not being able to build Foundation
and UIKit
modules, then going on to the next file(s).
Sample output looks like:
Determining build settings for 1 targets and 2 build configurations
Checking project: ....
target: ....
configuration: Release
ruleset: 83 Rules tagged [Recommended]: UndetachedDelegate, InvalidStringsFile, StringsFileEncoding, UIKitKVO, UnnecessaryNullCheck, RetinaImagesResolution, AssertionSideEffects, SuspiciousResources, NullCoalescingOp, LoadMethodWithoutAutoreleasePool, UnknownResourceCodeReference, StringsdictWithoutStrings, InitializeSuperInvocation, CompilerWarnings, HardcodedUIString, UnsupportedWeakReference, HardcodedSelfClass, 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, OrderedPointerToZeroComparison, PrefixHeaderIncludeSuggestion, ReleaseBuildCompilerArgs, XcconfigOverwrites, BuildSettingSelfReference, FixedFormatDateFormatter, BuildSettingPlacement, TerminatingApp, AbsPathInBuildSetting, PrivateCategory, FileRefWithAbsPath, MissingImageResolutionVariant, TranslationPunctuation, WeakReferenceToTopLevelXIBObject, UnprefixedClass, InitializeMethodCategoryOverride, SuspiciousDateTimeFormat, ReleaseBuildConfig, AssigningDelegate, UnknownResourceXIBReference, GlobalAndLocalizedResource, UnknownResourceModifier, Swizzling, ZeroAssignmentToPointer, DiscardedOpaqueNotificationObserver, DylibInstallName, TranslationFormatMismatch, SuspiciousMissingResources, ErrorConditionCheck, RedundantInclude, ReservedPrefix, NSLogUsed, UnprefixedCategoryMethod, UncommentedLocalizedString, UnidiomaticAccessorNaming, DuplicateResource, ViewControllerInitWithNibName, CategoryMethodConflict, BlockAPIRetainCycle, FileRefIgnoredInVCS, MissingNotificationCenterDetachment
Trial Version: Delaying operation for 15 more seconds…
Trial Version: Delaying operation for 14 more seconds…
Trial Version: Delaying operation for 13 more seconds…
Trial Version: Delaying operation for 12 more seconds…
Trial Version: Delaying operation for 11 more seconds…
Trial Version: Delaying operation for 10 more seconds…
Trial Version: Delaying operation for 9 more seconds…
Trial Version: Delaying operation for 8 more seconds…
Trial Version: Delaying operation for 7 more seconds…
Trial Version: Delaying operation for 6 more seconds…
Trial Version: Delaying operation for 5 more seconds…
Trial Version: Delaying operation for 4 more seconds…
Trial Version: Delaying operation for 3 more seconds…
Trial Version: Delaying operation for 2 more seconds…
Trial Version: Delaying operation for 1 more seconds…
Initialization: Determining VCS state...
Initialization: Resolving build settings...
Rule InvalidStringsFile will not be applied: “Applies to localized projects.”
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 HardcodedUIString will not be applied: “Applies to localized projects.”
Rule UnsupportedWeakReference will not be applied: “Applies to OS X targets.”
Rule MissingTranslation will not be applied: “Applies to localized projects.”
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 TranslationPunctuation will not be applied: “Applies to localized projects.”
Rule DylibInstallName will not be applied: “Applies to OS X targets.”
Rule TranslationFormatMismatch will not be applied: “Applies to localized projects.”
Rule RedundantInclude will not be applied: “Applies to projects using a prefix header.”
Rule UncommentedLocalizedString will not be applied: “Applies to localized projects.”
Initialization: Reading cached build steps
Initialization: Processing build steps
Initialization: Interpreting 2 XIB files...
Applying rules before checking code
Checking file #0/19 (19 remaining): /..../..../.....m
Checking file #1/19 (19 remaining): /..../..../....Client.m
Checking file #4/19 (19 remaining): /..../..../....Layer.m
Checking file #2/19 (19 remaining): /..../..../....Client.m
Checking file #3/19 (19 remaining): /..../AppDelegate.m
Checking file #7/19 (19 remaining): /..../..../....TableViewController.m
Checking file #6/19 (19 remaining): /..../..../....ViewController.m
Checking file #5/19 (19 remaining): /..../..../.....m
hang for 5-10 minutes here before...:
COMPILER ERROR when parsing file /.../.../....m: ..../..../..../.....h:9:9: fatal error: timed out waiting to acquire lock file for module 'Foundation'
Checking file #8/19 (18 remaining): /..../..../....PageController.m
COMPILER ERROR when parsing file /..../..../....Client.m: ..../..../AFNetworking/AFNetworking/AFHTTPSessionManager.h:22:9: fatal error: timed out waiting to acquire lock file for module 'Foundation'
Checking file #9/19 (17 remaining): /..../Supporting Files/main.m
COMPILER ERROR when parsing file /..../..../....Layer.m: ..../..../..../..../....Layer.h:9:9: fatal error: could not build module 'UIKit'
Checking file #10/19 (16 remaining): /..../..../....View.m
COMPILER ERROR when parsing file /..../AppDelegate.m: ..../..../..../AppDelegate.h:9:9: fatal error: could not build module 'UIKit'
Checking file #11/19 (15 remaining): /..../..../....View.m
Comments (8)
-
repo owner -
reporter I had sort-of assumed it was something like that. This is two ObjC projects (one small, one larger) that both built with Xcode 6.3 until I upgraded everything to the new GM releases — and then I decided to try out Faux Pas. Should have tried it out first...
-
repo owner Version 1.6 has been released — please let me know if it fixes this issue for you.
-
reporter Hah. I had 1 (!) day left of the eval period. I ran it on one of the projects that previously caused hangs, and … I think you just gained a new customer.
No hang, some expected things and some … surprises that needs to be looked at. Woot!
Hopefully there will be a Swift version at some point (after Apple follows through on the open source promise, to be sure).
Thanks!
-
I'm getting the same thing with 1.6 and Xcode 7.1.
Any workaround?
-
Oops, my mistake. I assumed I was on the latest (just downloaded it) but it appears I was on 1.5. Installing 1.6 right now and will report back shortly...
-
Yes, nevermind. 1.6 fixed the issue. Thx!
-
repo owner - changed status to closed
Thanks for reporting back, gentlemen. Fixed in v1.6.
- Log in to comment
Thanks for reporting this. This is most likely a code-dependent issue that occurs when interpreting source code with the version of open-source Clang that Faux Pas uses when experimental "Xcode 7" support is requested. I have encountered the same issue but have not been able to reproduce it reliably and deterministically.
The next version of Faux Pas will use a newer version of Clang for this purpose, and this will hopefully fix this issue.