Ошибка компилятора Apple LLVM 3.1 - PullRequest
10 голосов
/ 18 февраля 2012

Только что обновил Xcode до 4.3, и теперь я не могу собрать свое приложение. Я получаю эту ошибку:

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 254

У кого-нибудь еще есть такая проблема? Вероятно, это просто настройка компиляции, но я не уверен, где искать.

Конечно, ошибка включает в себя весь дамп стека, но я не включил его для краткости. Я надеюсь, что кто-то узнает, что такое «код выхода 254». Пробовал искать его, но ничего не смог найти.

Вот весь вывод:

CompileC /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.o iDB/SCheckBox.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd "/Users/aaron/Dropbox/XCode Projects/iDB"
    setenv LANG en_US.US-ASCII
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -std=gnu99 -fobjc-arc -Wno-trigraphs -fpascal-strings -O0 -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wreturn-type -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -DDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -fexceptions -fasm-blocks -Wprotocol -Wdeprecated-declarations -mmacosx-version-min=10.6 -g -Wno-conversion -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch "-DIBOutlet=__attribute__((iboutlet))" "-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" "-DIBAction=void)__attribute__((ibaction)" -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -iquote /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-generated-files.hmap -I/Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-own-target-headers.hmap -I/Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-all-target-headers.hmap -iquote /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-project-headers.hmap -I/Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Products/Debug-iphonesimulator/include -I/Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/DerivedSources/i386 -I/Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/DerivedSources -F/Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Products/Debug-iphonesimulator -include /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/PrecompiledHeaders/iDB-Prefix-aojkwzmrifipbudgsdryqwbhphsf/iDB-Prefix.pch -MMD -MT dependencies -MF /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.d --serialize-diagnostics /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.dia -c "/Users/aaron/Dropbox/XCode Projects/iDB/iDB/SCheckBox.m" -o /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.o

0  clang             0x000000010a5c15a2 _ZL15PrintStackTracePv + 34
1  clang             0x000000010a5c1a29 _ZL13SignalHandleri + 553
2  libsystem_c.dylib 0x00007fff94b6dcfa _sigtramp + 26
3  libsystem_c.dylib 0x00007fff6929a1b0 _sigtramp + 18446744072978875600
4  clang             0x0000000109ef3798 _ZL20findRetainCycleOwnerPN5clang4ExprERN12_GLOBAL__N_116RetainCycleOwnerE + 312
5  clang             0x0000000109ef35af clang::Sema::checkRetainCycles(clang::ObjCMessageExpr*) + 303
6  clang             0x00000001097efaef clang::Sema::BuildInstanceMessage(clang::Expr*, clang::QualType, clang::SourceLocation, clang::Selector, clang::ObjCMethodDecl*, clang::SourceLocation, llvm::ArrayRef<clang::SourceLocation>, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>) + 6479
7  clang             0x00000001097ee18a clang::Sema::ActOnInstanceMessage(clang::Scope*, clang::Expr*, clang::Selector, clang::SourceLocation, llvm::ArrayRef<clang::SourceLocation>, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>) + 138
8  clang             0x00000001097ee04b clang::Parser::ParseObjCMessageExpressionBody(clang::SourceLocation, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::Expr*) + 2091
9  clang             0x00000001097ed7f4 clang::Parser::ParseObjCMessageExpression() + 852
10 clang             0x0000000109765597 clang::Parser::ParseCastExpression(bool, bool, bool&, bool) + 6807
11 clang             0x0000000109763ab2 clang::Parser::ParseAssignmentExpression() + 114
12 clang             0x0000000109763a21 clang::Parser::ParseExpression() + 17
13 clang             0x00000001097b8efe clang::Parser::ParseExprStatement(clang::ParsedAttributes&) + 46
14 clang             0x00000001097634bc clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool) + 1564
15 clang             0x00000001097627d9 clang::Parser::ParseCompoundStatementBody(bool) + 409
16 clang             0x0000000109763242 clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool) + 930
17 clang             0x00000001097b6d0b clang::Parser::ParseIfStatement(clang::ParsedAttributes&) + 475
18 clang             0x000000010976353c clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool) + 1692
19 clang             0x00000001097627d9 clang::Parser::ParseCompoundStatementBody(bool) + 409
20 clang             0x0000000109edbd30 clang::Parser::ParseLexedObjCMethodDefs(clang::Parser::LexedMethod&) + 272
21 clang             0x000000010980483e clang::Parser::ParseObjCAtEndDeclaration(clang::SourceRange) + 158
22 clang             0x00000001097e2222 clang::Parser::ParseObjCAtDirectives() + 386
23 clang             0x0000000109723e87 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::Parser::ParsingDeclSpec*) + 759
24 clang             0x0000000109723b19 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 249
25 clang             0x000000010970688b clang::ParseAST(clang::Sema&, bool) + 299
26 clang             0x00000001097053d9 clang::CodeGenAction::ExecuteAction() + 857
27 clang             0x00000001096d793f clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 879
28 clang             0x00000001096d65cb clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 2683
29 clang             0x00000001096c8dce cc1_main(char const**, char const**, char const*, void*) + 5086
30 clang             0x00000001096a35d8 main + 648
31 clang             0x00000001096a3344 start + 52
32 clang             0x0000000000000071 start + 18446744069256629601
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -cc1 -triple i386-apple-macosx10.6.0 -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name SCheckBox.m -pic-level 1 -mdisable-fp-elim -relaxed-aliasing -masm-verbose -target-cpu yonah -target-linker-version 128.2 -g -coverage-file /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.o -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/3.1 -dependency-file /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.d -MT dependencies -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -iquote /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-generated-files.hmap -iquote /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-project-headers.hmap -include-pch /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/PrecompiledHeaders/iDB-Prefix-aojkwzmrifipbudgsdryqwbhphsf/iDB-Prefix.pch.pth -D DEBUG=1 -D IBOutlet=__attribute__((iboutlet)) -D IBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName))) -D IBAction=void)__attribute__((ibaction) -D __IPHONE_OS_VERSION_MIN_REQUIRED=50000 -I /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-own-target-headers.hmap -I /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Flexile-all-target-headers.hmap -I /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Products/Debug-iphonesimulator/include -I /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/DerivedSources/i386 -I /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/DerivedSources -F/Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Products/Debug-iphonesimulator -fmodule-cache-path /var/folders/1y/fbhzgfpn2ld9qxdfpgl7d_rm0000gn/T/clang-module-cache -O0 -Wno-trigraphs -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wreturn-type -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wprotocol -Wdeprecated-declarations -Wno-conversion -Wno-sign-conversion -std=gnu99 -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fblocks -fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-arc -fobjc-exceptions -fexceptions -fpascal-strings -fdiagnostics-show-option -serialize-diagnostic-file /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.dia -o /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.o -x objective-c /Users/aaron/Dropbox/XCode Projects/iDB/iDB/SCheckBox.m 
1.  /Users/aaron/Dropbox/XCode Projects/iDB/iDB/SCheckBox.m:36:47: current parser token ';'
2.  /Users/aaron/Dropbox/XCode Projects/iDB/iDB/SCheckBox.m:27:146: in compound statement ('{}')
3.  /Users/aaron/Dropbox/XCode Projects/iDB/iDB/SCheckBox.m:29:102: in compound statement ('{}')
clang: error: unable to execute command: Segmentation fault: 11
clang: error: clang frontend command failed due to signal 2 (use -v to see invocation)
clang: note: diagnostic msg: Please submit a bug report to http://developer.apple.com/bugreporter/ and include command line arguments and all diagnostic information.
clang: note: diagnostic msg: Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /var/folders/1y/fbhzgfpn2ld9qxdfpgl7d_rm0000gn/T/SCheckBox-GckJrn.mi
clang: note: diagnostic msg: /var/folders/1y/fbhzgfpn2ld9qxdfpgl7d_rm0000gn/T/SCheckBox-GckJrn.sh
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 254

UPDATE Поэтому я заметил, что дамп ссылается на определенные строки кода в определенном классе (SCheckBox.m). Это в методе init. Я проверил метод, но не смог найти ничего плохого в этом. Однако, если я прокомментирую все внутри метода и верну nil, код скомпилируется. Я просматривал и раскомментировал каждую строку, пока не получил ошибку. Ошибка, вызывающая проблему:

[super.inputField addSubview:_checked];

Я намеревался использовать «я» вместо «супер» (это была опечатка с моей стороны). Но на самом деле супер имеет свойство inputField. Это не переопределено или перезаписано в подклассе. Таким образом, доступ к 'super.inputField' против 'self.inputField' должен получить доступ к точно такой же вещи (и сделал до обновления Xcode). Итак, изменение «super» на «self» решает проблему.

Мой вопрос сейчас: почему?

Ответы [ 6 ]

8 голосов
/ 24 апреля 2012

Мне удалось вызвать эту проблему на Xcode 4.3.2, пытаясь вывести через NSLog результат операции на месте (которая возвращает void).

В моем случае, что я пытался сделатьбыло: -

NSLog(@"result = %@", [array filterUsingPredicate:predicate]);

Тот факт, что filterUsingPredicate: является методом на месте, который возвращает void, похоже, вызвал эту ошибку компилятора.Интересно, что обнаружение ошибок при вводе кода в Xcode не срабатывает.

Изменение правильной версии: -

NSLog(@"result = %@", [array filteredArrayUsingPredicate:predicate]);

Работает нормально и решает проблему!

3 голосов
/ 18 февраля 2012

Вы нашли ошибку компилятора.Похоже, что отчет об ошибках компилятора точно определяет, где в вашем коде это неправильно, поэтому вам лучше всего поиграть с этим кодом и посмотреть, сможете ли вы сделать его более легко усваиваемым.

Вы также можете отправить отчет об ошибке,но это не решит вашу проблему своевременно.

2 голосов
/ 03 августа 2012

У меня была ошибка копирования-вставки, которая часто встречалась, когда срок был коротким:)

в .m файле:

@implementation DetailGetter
... stuff here..
@end

чем у меня есть копия-вставка объявления интерфейса выше этого, но с другим именем,

@implementation FromOtherMFile()
@end

@implementation DetailGetter
... stuff here..
@end

Конечно, если он будет изменен с FromOtherMFile на DetailGetter, это не будет ошибкой компилятора, но необходимо прокрутить всю страницу, где есть ошибка, и не выделена в редакторе.

1 голос
/ 05 апреля 2012

я использую xcode 4.3, есть ошибка, как у вас.Это была какая-то ошибка, я просто перезагружаю свой компьютер, и ошибка исчезла.

1 голос
/ 18 февраля 2012

У меня была такая же проблема. В этом коде:

[super pxSeek:@"1"];
[super.SQL setString:[NSString stringWithFormat:@"%@ %@", @"SELECT COUNT(*) AS MYCOUNT FROM ", super.Name]];
[super executeSQL];

return [super getIntColumn:0];

Мне нужно изменить [super.SQL] на [[super SQL], который вызывает метод.

1 голос
/ 18 февраля 2012

Я столкнулся с тем же сообщением об ошибке после обновления с 4.2 до 4.3. Изучив дамп, я смог найти имя класса и строку, из-за которой компилятор рвал.

Я уверен, что причина у всех разная, но добавлю свое исправление здесь.

Меняется с

[super.tabBarController setSelectedIndex:0];

К

[[super tabBarController] setSelectedIndex:0];

решил проблему для меня. Я думал, что точечные обозначения переводятся в скобки. Было бы здорово, если бы кто-то мог объяснить это исправление, которое не требовалось в XCode 4.2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...