LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 9160 - clang segmentation fault with -Wshadow
Summary: clang segmentation fault with -Wshadow
Status: RESOLVED FIXED
Alias: None
Product: clang
Classification: Unclassified
Component: -New Bugs (show other bugs)
Version: trunk
Hardware: Macintosh MacOS X
: P normal
Assignee: Unassigned Clang Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-07 08:15 PST by Felix Ritter
Modified: 2011-02-08 13:13 PST (History)
3 users (show)

See Also:
Fixed By Commit(s):


Attachments
code example (291.41 KB, application/zip)
2011-02-07 14:47 PST, Felix Ritter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Ritter 2011-02-07 08:15:16 PST
clang version 2.9 (trunk 125005)
Target: x86_64-apple-darwin10
Thread model: posix

clang segfaults when the shadow warning is activated (-Wshadow), it does not crash without this warning:

0  clang             0x0000000101524032 PrintStackTrace(void*) + 34
1  clang             0x0000000101524e83 SignalHandler(int) + 707
2  libSystem.B.dylib 0x00007fff847b767a _sigtramp + 26
3  libSystem.B.dylib 0x00000000002c5db0 _sigtramp + 2075191120
4  clang             0x00000001003d1047 clang::Sema::ActOnVariableDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::QualType, clang::TypeSourceInfo*, clang::LookupResult&, clang::ASTMultiPtr<clang::TemplateParameterList*>, bool&) + 2887
5  clang             0x00000001003d7fc4 clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, clang::ASTMultiPtr<clang::TemplateParameterList*>, bool) + 1492
6  clang             0x00000001002e8b21 clang::Parser::ParseDeclarationAfterDeclarator(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&) + 1649
7  clang             0x00000001002ec129 clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int, bool, clang::SourceLocation*) + 761
8  clang             0x00000001002f5235 clang::Parser::ParseSimpleDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, bool) + 853
9  clang             0x00000001002f5339 clang::Parser::ParseDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 105
10 clang             0x00000001003250b6 clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool) + 1910
11 clang             0x000000010032534e clang::Parser::ParseCompoundStatementBody(bool) + 446
12 clang             0x0000000100324df6 clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool) + 1206
13 clang             0x000000010032812c clang::Parser::ParseIfStatement(clang::ParsedAttributes&) + 876
14 clang             0x0000000100324e3c clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool) + 1276
15 clang             0x000000010032534e clang::Parser::ParseCompoundStatementBody(bool) + 446
16 clang             0x000000010032611a clang::Parser::ParseCXXTryBlockCommon(clang::SourceLocation) + 154
17 clang             0x0000000100324cf3 clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool) + 947
18 clang             0x000000010032534e clang::Parser::ParseCompoundStatementBody(bool) + 446
19 clang             0x0000000100325817 clang::Parser::ParseFunctionStatementBody(clang::Decl*) + 135
20 clang             0x0000000100339f08 clang::Parser::ParseFunctionDefinition(clang::Parser::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&) + 696
21 clang             0x00000001002ec556 clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int, bool, clang::SourceLocation*) + 1830
22 clang             0x0000000100337515 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&, clang::AccessSpecifier) + 165
23 clang             0x0000000100337957 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::AccessSpecifier) + 407
24 clang             0x0000000100338c23 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::Parser::ParsingDeclSpec*) + 2787
25 clang             0x00000001002fb97f clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, clang::SourceLocation) + 1887
26 clang             0x00000001002f5624 clang::Parser::ParseDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 852
27 clang             0x0000000100338b43 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::Parser::ParsingDeclSpec*) + 2563
28 clang             0x0000000100338e73 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 115
29 clang             0x00000001002e2c2f clang::ParseAST(clang::Sema&, bool) + 159
30 clang             0x00000001002b36cc clang::CodeGenAction::ExecuteAction() + 60
31 clang             0x0000000100053a99 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 393
32 clang             0x00000001000249c2 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1602
33 clang             0x000000010001c63a cc1_main(char const**, char const**, char const*, void*) + 586
34 clang             0x00000001000239f4 main + 5588
35 clang             0x000000010001af34 start + 52
Stack dump:
0.	Program arguments: /Users/ritter/Temp/llvm/Release+Asserts/bin/clang -cc1 -triple x86_64-apple-darwin10.0.0 -emit-obj -mrelax-all -disable-free -main-file-name ML_mlSubImageBoxd.ii -pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 97.17 -resource-dir /Users/ritter/Temp/llvm/Release+Asserts/bin/../lib/clang/2.9 -Wshadow -ferror-limit 19 -fmessage-length 80 -stack-protector 1 -fblocks -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o ML_mlSubImageBoxd.o -x c++-cpp-output ML_mlSubImageBoxd.ii 
1.	source/mlSubImageBoxd.cpp:65:19: current parser token '('
2.	source/mlSubImageBoxd.cpp:16:1: parsing namespace 'ml'
3.	source/mlSubImageBoxd.cpp:46:3: parsing function body 'calcAATransformedBox'
4.	source/mlSubImageBoxd.cpp:46:3: in compound statement ('{}')
5.	source/mlSubImageBoxd.cpp:49:5: in compound statement ('{}')
6.	source/mlSubImageBoxd.cpp:53:11: in compound statement ('{}')
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal 1 (use -v to see invocation)
Comment 1 Ted Kremenek 2011-02-07 11:20:43 PST
cloned to <rdar://problem/8966163>
Comment 2 Argyrios Kyrtzidis 2011-02-07 12:25:08 PST
Felix, did you forget to attach ML_mlSubImageBoxd.ii ?
Comment 3 Felix Ritter 2011-02-07 14:47:48 PST
Created attachment 6119 [details]
code example
Comment 4 Felix Ritter 2011-02-07 14:49:31 PST
yep, it's now attached to the bug
Comment 5 Argyrios Kyrtzidis 2011-02-07 17:58:22 PST
Seems to be working fine in r125021, please try again using trunk.
Comment 6 Felix Ritter 2011-02-08 02:25:57 PST
I tried again using revision 125084, it still segfaults. Did you include the -Wshadow switch?:

clang++ -c -Wshadow warn_shadow_crash.ii

I tried it on two systems running Mac OS X 10.6.6.
Comment 7 Argyrios Kyrtzidis 2011-02-08 11:50:37 PST
Oops sorry, not sure what I did wrong the other time, I see it now.
Comment 8 Argyrios Kyrtzidis 2011-02-08 12:21:46 PST
Fixed at r125097.
Comment 9 Felix Ritter 2011-02-08 13:13:31 PST
many thanks for the quick solution.