[LLVMbugs] [Bug 7607] New: Assertion failure: Use still stuck around after Def is destroyed

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jul 9 04:50:08 PDT 2010


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

           Summary: Assertion failure: Use still stuck around after Def is
                    destroyed
           Product: new-bugs
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: wotte at dre.vanderbilt.edu
                CC: llvmbugs at cs.uiuc.edu


Reproduced with latest trunk.   I have been unable to narrow down a test case,
perhaps this will help someone with more expertise to track down the bug. 

I have attached the preprocessed source file.  




clang++ -ftemplate-depth-23  -Wall -Wpointer-arith  -g -pipe   -pipe  
-I/Users/Shared/workspace/DOC_ROOT_clang/ACE -DACE_HAS_EXCEPTIONS
-D__ACE_INLINE__ -I.. -DACE_BUILD_DLL  -c  -o .shobj/Filecache.o Filecache.cpp
While deleting: { [233 x i8], [7 x i8] }* %
Use still stuck around after Def is destroyed:  %arrayidx15 = getelementptr
inbounds %class.ACE_RW_Thread_Mutex* <badref>, i64 %11 ;
<%class.ACE_RW_Thread_Mutex*> [#uses=1]
Assertion failed: (use_empty() && "Uses remain when a value is destroyed!"),
function ~Value, file Value.cpp, line 75.
0  clang             0x00000001010c4aba PrintStackTrace(void*) + 38
1  clang             0x00000001010c4fc8 SignalHandler(int) + 254
2  libSystem.B.dylib 0x00007fff86acf80a _sigtramp + 26
3  libSystem.B.dylib 0x00007fff86a7450a tiny_malloc_from_free_list + 1196
4  libSystem.B.dylib 0x00007fff86b4aef0 __pthread_markcancel + 0
5  clang             0x0000000101060742 llvm::Value::~Value() + 364
6  clang             0x0000000100ffcf63 llvm::User::~User() + 107
7  clang             0x0000000101004112 llvm::Instruction::~Instruction() + 110
8  clang             0x0000000101004d49
llvm::UnaryInstruction::~UnaryInstruction() + 35
9  clang             0x0000000101016e87 llvm::CastInst::~CastInst() + 39
10 clang             0x000000010101738f llvm::BitCastInst::~BitCastInst() + 35
11 clang             0x0000000100e9f919
llvm::ilist_node_traits<llvm::Instruction>::deleteNode(llvm::Instruction*) + 39
12 clang             0x0000000100e9fd0f llvm::iplist<llvm::Instruction,
llvm::ilist_traits<llvm::Instruction>
>::erase(llvm::ilist_iterator<llvm::Instruction>) + 37
13 clang             0x0000000100f9b94f llvm::iplist<llvm::Instruction,
llvm::ilist_traits<llvm::Instruction>
>::erase(llvm::ilist_iterator<llvm::Instruction>,
llvm::ilist_iterator<llvm::Instruction>) + 35
14 clang             0x0000000100f9b9a8 llvm::iplist<llvm::Instruction,
llvm::ilist_traits<llvm::Instruction> >::clear() + 62
15 clang             0x0000000100f9aaf6 llvm::BasicBlock::~BasicBlock() + 328
16 clang             0x000000010021d934
DestroyCleanup(clang::CodeGen::CodeGenFunction&, llvm::BasicBlock*,
llvm::BasicBlock*) + 272
17 clang             0x000000010021e035
clang::CodeGen::CodeGenFunction::PopCleanupBlock() + 457
18 clang             0x000000010016de72
clang::CodeGen::CodeGenFunction::EmitDestructorBody(llvm::SmallVector<std::pair<clang::VarDecl
const*, clang::QualType>, 16u>&) + 590
19 clang             0x0000000100220a79
clang::CodeGen::CodeGenFunction::GenerateCode(clang::CodeGen::GlobalDecl,
llvm::Function*) + 1285
20 clang             0x0000000100161708
clang::CodeGen::CodeGenModule::EmitCXXDestructor(clang::CXXDestructorDecl
const*, clang::CXXDtorType) + 362
21 clang             0x0000000100229521
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::CodeGen::GlobalDecl)
+ 249
22 clang             0x00000001002296a3
clang::CodeGen::CodeGenModule::EmitGlobal(clang::CodeGen::GlobalDecl) + 273
23 clang             0x0000000100160c40
clang::CodeGen::CodeGenModule::EmitCXXDestructors(clang::CXXDestructorDecl
const*) + 122
24 clang             0x00000001002299a5
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 645
25 clang             0x0000000100246a6e (anonymous
namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) + 76
26 clang             0x000000010021afc4 (anonymous
namespace)::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) + 138
27 clang             0x0000000100257b29 clang::ParseAST(clang::Preprocessor&,
clang::ASTConsumer*, clang::ASTContext&, bool, bool,
clang::CodeCompleteConsumer*) + 440
28 clang             0x0000000100077fcc
clang::ASTFrontendAction::ExecuteAction() + 256
29 clang             0x000000010021b8e4 clang::CodeGenAction::ExecuteAction() +
826
30 clang             0x00000001000780da clang::FrontendAction::Execute() + 256
31 clang             0x000000010005b4cf
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 709
32 clang             0x0000000100027e3c cc1_main(char const**, char const**,
char const*, void*) + 1762
33 clang             0x000000010002ef05 main + 335
34 clang             0x0000000100026d5c start + 52
Stack dump:
0.    Program arguments: /Users/Shared/workspace/llvm/Debug/bin/clang -cc1
-triple x86_64-apple-darwin10.0.0 -emit-obj -mrelax-all -disable-free
-main-file-name Filecache.cpp -pic-level 1 -mdisable-fp-elim -masm-verbose
-munwind-tables -target-cpu core2 -g -resource-dir
/Users/Shared/workspace/llvm/Debug/lib/clang/2.8 -D ACE_HAS_EXCEPTIONS -D
__ACE_INLINE__ -D ACE_BUILD_DLL -I /Users/Shared/workspace/DOC_ROOT_clang/ACE
-I .. -Wall -Wpointer-arith -ftemplate-depth 23 -ferror-limit 19
-fmessage-length 202 -stack-protector 1 -fblocks -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o .shobj/Filecache.o -x c++
Filecache.cpp 
1.    Filecache.cpp:240:1: current parser token 'ACE_Filecache_Object'
2.    Filecache.cpp:236:16: LLVM IR generation of declaration
'ACE_Filecache::~ACE_Filecache'
3.    Filecache.cpp:236:16: Generating code for declaration
'ACE_Filecache::~ACE_Filecache'
clang: error: clang frontend command failed due to signal 6 (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