[LLVMbugs] [Bug 11065] New: 'Archaic' protocol use crashes clang

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Oct 5 03:17:02 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=11065

           Summary: 'Archaic' protocol use crashes clang
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: csdavec at swan.ac.uk
                CC: llvmbugs at cs.uiuc.edu


This program now crashes clang, even with -fsyntax-only:

@protocol Broken @end
@interface Crash @end
@implementation Crash
- (void)crashWith:(<Broken>)a {
}
@end

This appears to be a recent regression - Clang from last week works fine...

The back trace is:


#0  0x000000080423f93c in thr_kill () from /lib/libc.so.7
#1  0x00000008042dddfb in abort () from /lib/libc.so.7
#2  0x00000008042c7265 in __assert () from /lib/libc.so.7
#3  0x00000000010f42f7 in clang::SourceLocation::getLocWithOffset
(this=0x7fffffff9598, Offset=-1)
    at SourceLocation.h:131
#4  0x0000000001e98446 in getArgLoc (Arg=0x804c56390)
    at /home/theraven/llvm/tools/clang/lib/AST/SelectorLocationsKind.cpp:58
#5  0x0000000001e983f7 in getArgLoc (Index=0, Args={Data = 0x7fffffff9e50,
Length = 1})
    at /home/theraven/llvm/tools/clang/lib/AST/SelectorLocationsKind.cpp:63
#6  0x0000000001e9837b in clang::getStandardSelectorLoc (Index=0, Sel={InfoPtr
= 34439774850}, 
    WithArgSpace=false, Args={Data = 0x7fffffff9e50, Length = 1}, EndLoc={ID =
98})
    at /home/theraven/llvm/tools/clang/lib/AST/SelectorLocationsKind.cpp:124
#7  0x0000000001e981eb in hasStandardSelLocs (Sel={InfoPtr = 34439774850},
SelLocs=
      {Data = 0x7fffffffaca0, Length = 1}, Args={Data = 0x7fffffff9e50, Length
= 1}, EndLoc={ID = 98})
    at /home/theraven/llvm/tools/clang/lib/AST/SelectorLocationsKind.cpp:74
#8  0x0000000001e9813d in clang::hasStandardSelectorLocs (Sel={InfoPtr =
34439774850}, SelLocs=
      {Data = 0x7fffffffaca0, Length = 1}, Args={Data = 0x7fffffff9e50, Length
= 1}, EndLoc={ID = 98})
    at /home/theraven/llvm/tools/clang/lib/AST/SelectorLocationsKind.cpp:115
#9  0x0000000001e0bc49 in clang::ObjCMethodDecl::setMethodParams
(this=0x804c56300, C=@0x804d05800, Params=
      {Data = 0x7fffffff9e50, Length = 1}, SelLocs={Data = 0x7fffffffaca0,
Length = 1})
    at /home/theraven/llvm/tools/clang/lib/AST/DeclObjC.cpp:383
#10 0x0000000001608ced in clang::Sema::ActOnMethodDeclaration
(this=0x804d49500, S=0x804dbb380, MethodLoc=
      {ID = 68}, EndLoc={ID = 98}, MethodType=clang::tok::minus,
ReturnQT=@0x7fffffffaf20, ReturnType=
      {Ptr = 0x7fffffff98a0}, SelectorLocs={Data = 0x7fffffff98a0, Length =
18446744071575798464}, Sel=
      {InfoPtr = 140737488328864}, ArgInfo=0x7fffffffa9e0,
CParamInfo=0x7fffffffadb0, CNumArgs=0, 
    AttrList=0x0, MethodDeclKind=clang::tok::objc_not_keyword,
isVariadic=false, MethodDefinition=true)
    at /home/theraven/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp:2614
#11 0x000000000146ba30 in clang::Parser::ParseObjCMethodDecl (this=0x804c23100,
mLoc={ID = 68}, 
    mType=clang::tok::minus, MethodImplKind=clang::tok::objc_not_keyword,
MethodDefinition=true)
    at /home/theraven/llvm/tools/clang/lib/Parse/ParseObjc.cpp:1094
#12 0x000000000146aa26 in clang::Parser::ParseObjCMethodPrototype
(this=0x804c23100, 
    MethodImplKind=clang::tok::objc_not_keyword, MethodDefinition=true)
    at /home/theraven/llvm/tools/clang/lib/Parse/ParseObjc.cpp:610
#13 0x000000000146e379 in clang::Parser::ParseObjCMethodDefinition
(this=0x804c23100)
    at /home/theraven/llvm/tools/clang/lib/Parse/ParseObjc.cpp:1840
#14 0x000000000148f7d2 in clang::Parser::ParseExternalDeclaration
(this=0x804c23100, attrs=@0x7fffffffb810, 
    DS=0x0) at /home/theraven/llvm/tools/clang/lib/Parse/Parser.cpp:611
#15 0x000000000148f0d9 in clang::Parser::ParseTopLevelDecl (this=0x804c23100,
Result=@0x7fffffffb908)
    at /home/theraven/llvm/tools/clang/lib/Parse/Parser.cpp:511
#16 0x0000000001465f7e in clang::ParseAST (S=@0x804d49500, PrintStats=false)
    at /home/theraven/llvm/tools/clang/lib/Parse/ParseAST.cpp:84
#17 0x0000000001137d28 in clang::ASTFrontendAction::ExecuteAction
(this=0x804c72b50)
    at /home/theraven/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:379
#18 0x0000000001137973 in clang::FrontendAction::Execute (this=0x804c72b50)
    at /home/theraven/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:299
#19 0x00000000011166cd in clang::CompilerInstance::ExecuteAction
(this=0x804c1c100, Act=@0x804c72b50)
    at /home/theraven/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:618
#20 0x00000000010e04bf in clang::ExecuteCompilerInvocation (Clang=0x804c1c100)
    at
/home/theraven/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:172
#21 0x00000000010ce2be in cc1_main (ArgBegin=0x7fffffffcab0,
ArgEnd=0x7fffffffcbc8, 
    Argv0=0x804c18488 "/home/theraven/llvm/Debug+Asserts/bin/clang",
MainAddr=0x10da4a0)
    at /home/theraven/llvm/tools/clang/tools/driver/cc1_main.cpp:159
#22 0x00000000010da6ed in main (argc_=37, argv_=0x7fffffffd350)
    at /home/theraven/llvm/tools/clang/tools/driver/driver.cpp:353

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list