[LLVMbugs] [Bug 8284] New: use of 'vsnprintf' causes backend crash
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sat Oct 2 22:42:57 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8284
Summary: use of 'vsnprintf' causes backend crash
Product: clang
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: d235j.1 at gmail.com
CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com
When using 'vsnprintf' as seen in the attached testcase, the C++ compiler
crashes. This crash does not occur when using the C compiler.
Error output:
Assertion failed: (!Type.isNull() && "builtin va list type not initialized!"),
function DecodeTypeFromStr, file ASTContext.cpp, line 5287.
0 clang 0x00000001013c9052 std::vector<llvm::sys::Path,
std::allocator<llvm::sys::Path>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::sys::Path*,
std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > >,
llvm::sys::Path const&) + 11586
1 clang 0x00000001013c9ea3 std::vector<llvm::sys::Path,
std::allocator<llvm::sys::Path>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::sys::Path*,
std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > >,
llvm::sys::Path const&) + 15251
2 libSystem.B.dylib 0x00007fff825e135a _sigtramp + 26
3 libSystem.B.dylib 000000000000000000 _sigtramp + 2107763904
4 clang 0x000000010001eaa2
std::vector<llvm::PassRegistrationListener*,
std::allocator<llvm::PassRegistrationListener*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**,
std::vector<llvm::PassRegistrationListener*,
std::allocator<llvm::PassRegistrationListener*> > >,
llvm::PassRegistrationListener* const&) + 6786
5 clang 0x000000010071d60d clang::ASTConsumer::~ASTConsumer() +
129373
6 clang 0x00000001007230c8 clang::ASTConsumer::~ASTConsumer() +
152600
7 clang 0x000000010035c5bb
llvm::SmallVectorTemplateBase<clang::Qualifiers, false>::grow(unsigned long) +
79483
8 clang 0x00000001004457c7 llvm::DenseMap<clang::Selector, char,
llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<char> >::grow(unsigned
int) + 248279
9 clang 0x00000001004c4966
llvm::DenseMap<clang::ObjCPropertyDecl*, char,
llvm::DenseMapInfo<clang::ObjCPropertyDecl*>, llvm::DenseMapInfo<char>
>::grow(unsigned int) + 142454
10 clang 0x0000000100445c08 llvm::DenseMap<clang::Selector, char,
llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<char> >::grow(unsigned
int) + 249368
11 clang 0x00000001002f1a49
clang::Parser::ParsingClassDefinition::Pop() + 19129
12 clang 0x00000001002ee51b
clang::Parser::ParsingClassDefinition::Pop() + 5515
13 clang 0x00000001002f10a6
clang::Parser::ParsingClassDefinition::Pop() + 16662
14 clang 0x00000001002f0708
clang::Parser::ParsingClassDefinition::Pop() + 14200
15 clang 0x00000001002f10c3
clang::Parser::ParsingClassDefinition::Pop() + 16691
16 clang 0x00000001002f1691
clang::Parser::ParsingClassDefinition::Pop() + 18177
17 clang 0x000000010030fa25
clang::PragmaWeakHandler::~PragmaWeakHandler() + 9989
18 clang 0x000000010030fe66
clang::PragmaWeakHandler::~PragmaWeakHandler() + 11078
19 clang 0x0000000100310354
clang::PragmaWeakHandler::~PragmaWeakHandler() + 12340
20 clang 0x0000000100320d51
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 36929
21 clang 0x00000001002e17b0 clang::Parser::ConsumeAnyToken() +
65424
22 clang 0x00000001003210b1
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 37793
23 clang 0x00000001003214eb
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 38875
24 clang 0x0000000100321f2a
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 41498
25 clang 0x000000010032215a
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 42058
26 clang 0x00000001002cf8bf llvm::IRBuilder<true,
llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true>
>::CreateGEP(llvm::Value*, llvm::Value*, llvm::Twine const&) + 495
27 clang 0x000000010028b93c
llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned
long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, unsigned
int> >, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int) + 4220
28 clang 0x00000001000545c9 llvm::DenseMap<clang::IdentifierInfo
const*, unsigned int, llvm::DenseMapInfo<clang::IdentifierInfo const*>,
llvm::DenseMapInfo<unsigned int> >::grow(unsigned int) + 7193
29 clang 0x00000001000283ce std::_Rb_tree<std::string, std::string,
std::_Identity<std::string>, std::less<std::string>,
std::allocator<std::string> >::_M_erase(std::_Rb_tree_node<std::string>*) +
2670
30 clang 0x00000001000203f3
std::vector<llvm::PassRegistrationListener*,
std::allocator<llvm::PassRegistrationListener*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**,
std::vector<llvm::PassRegistrationListener*,
std::allocator<llvm::PassRegistrationListener*> > >,
llvm::PassRegistrationListener* const&) + 13267
31 clang 0x0000000100026f44 std::vector<std::string,
std::allocator<std::string> >::operator=(std::vector<std::string,
std::allocator<std::string> > const&) + 11604
32 clang 0x000000010001ee18
std::vector<llvm::PassRegistrationListener*,
std::allocator<llvm::PassRegistrationListener*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**,
std::vector<llvm::PassRegistrationListener*,
std::allocator<llvm::PassRegistrationListener*> > >,
llvm::PassRegistrationListener* const&) + 7672
Stack dump:
0. Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-apple-darwin10.0.0 -emit-obj -mrelax-all -disable-free -main-file-name
testcase.cpp -pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables
-target-cpu core2 -target-linker-version 97.14 -resource-dir
/usr/local/lib/clang/2.9 -ferror-limit 19 -fmessage-length 220 -stack-protector
1 -fblocks -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o
testcase.o -x c++ ./testcase.cpp
1. ./testcase.cpp:7:66: current parser token ')'
2. ./testcase.cpp:4:1: parsing function body 'pile_vprintf'
3. ./testcase.cpp:4:1: in compound statement ('{}')
clang: error: clang frontend command failed due to signal 4 (use -v to see
invocation)
--
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