[LLVMbugs] [Bug 10420] New: crash in DarwinX86_64AsmBackend::doesSectionRequireSymbols

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jul 20 03:28:59 PDT 2011


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

           Summary: crash in
                    DarwinX86_64AsmBackend::doesSectionRequireSymbols
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=6910)
 --> (http://llvm.org/bugs/attachment.cgi?id=6910)
test case

If I run:

% llc bugpoint-reduced-simplified.ll -filetype=obj

Then I get a crash with the following stack dump.  (This is with a just-synced
dev TOT).

0  llc               0x0000000100ab39e5 PrintStackTrace(void*) + 38
1  llc               0x0000000100ab3fa0 SignalHandler(int) + 254
2  libSystem.B.dylib 0x00007fff86b291ba _sigtramp + 26
3  libSystem.B.dylib 0x00007fff5fbfec30 _sigtramp + 3641531024
4  llc               0x0000000100389eeb (anonymous
namespace)::DarwinX86_64AsmBackend::doesSectionRequireSymbols(llvm::MCSection
const&) const + 33
5  llc               0x0000000100a37011
llvm::MCAssembler::isSymbolLinkerVisible(llvm::MCSymbol const&) const + 109
6  llc               0x0000000100a53aa9 (anonymous
namespace)::MCMachOStreamer::EmitLabel(llvm::MCSymbol*) + 125
7  llc               0x0000000100a479c0
llvm::MCDwarfFrameEmitter::Emit(llvm::MCStreamer&, bool, bool) + 174
8  llc               0x0000000100a5c000 llvm::MCStreamer::EmitFrames(bool) + 64
9  llc               0x0000000100a52e5c (anonymous
namespace)::MCMachOStreamer::Finish() + 36
10 llc               0x0000000100607aca
llvm::AsmPrinter::doFinalization(llvm::Module&) + 2532
11 llc               0x00000001009efbd7
llvm::FPPassManager::doFinalization(llvm::Module&) + 67
12 llc               0x00000001009f3c8a
llvm::FPPassManager::runOnModule(llvm::Module&) + 120
13 llc               0x00000001009f3728
llvm::MPPassManager::runOnModule(llvm::Module&) + 384
14 llc               0x00000001009f4f08
llvm::PassManagerImpl::run(llvm::Module&) + 116
15 llc               0x00000001009f4f69 llvm::PassManager::run(llvm::Module&) +
33
16 llc               0x00000001000342c8 main + 2495
17 llc               0x00000001000332f0 start + 52
18 llc               0x0000000000000003 start + 4294757703
Stack dump:
0.    Program arguments: /Users/mmp/llvm-dev/bin/llc
bugpoint-reduced-simplified.ll -filetype=obj 
1.    Running pass 'Function Pass Manager' on module
'bugpoint-reduced-simplified.ll'.
[1]    76090 segmentation fault  ~/llvm-dev/bin/llc
bugpoint-reduced-simplified.ll -filetype=obj

A run under valgrind gives a number of complaints along the way:


valgrind ~/llvm-dev/bin/llc bugpoint-reduced-simplified.ll -filetype=obj
==76095== Memcheck, a memory error detector
==76095== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==76095== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info
==76095== Command: /Users/mmp/llvm-dev/bin/llc bugpoint-reduced-simplified.ll
-filetype=obj
==76095== 
--76095-- /Users/mmp/llvm-dev/bin/llc:
--76095-- dSYM directory is missing; consider using --dsymutil=yes
==76095== Warning: ignored attempt to set SIGUSR2 handler in sigaction();
==76095==          the SIGUSR2 signal is used internally by Valgrind
==76095== Conditional jump or move depends on uninitialised value(s)
==76095==    at 0x100A496A8: llvm::MCObjectFileInfo::getEHFrameSection() (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A47960: llvm::MCDwarfFrameEmitter::Emit(llvm::MCStreamer&,
bool, bool) (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A5BFFF: llvm::MCStreamer::EmitFrames(bool) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A52E5B: (anonymous namespace)::MCMachOStreamer::Finish()
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100607AC9: llvm::AsmPrinter::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009EFBD6: llvm::FPPassManager::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3C89: llvm::FPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3727: llvm::MPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F4F07: llvm::PassManagerImpl::run(llvm::Module&) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F4F68: llvm::PassManager::run(llvm::Module&) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1000342C7: main (in /Users/mmp/llvm-dev/bin/llc)
==76095== 
==76095== Use of uninitialised value of size 8
==76095==    at 0x1001819EC: llvm::MCSymbol::getName() const (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A47499: (anonymous
namespace)::FrameEmitterImpl::EmitFDE(llvm::MCStreamer&, llvm::MCSymbol const&,
llvm::MCDwarfFrameInfo const&) (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A47B66: llvm::MCDwarfFrameEmitter::Emit(llvm::MCStreamer&,
bool, bool) (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A5BFFF: llvm::MCStreamer::EmitFrames(bool) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A52E5B: (anonymous namespace)::MCMachOStreamer::Finish()
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100607AC9: llvm::AsmPrinter::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009EFBD6: llvm::FPPassManager::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3C89: llvm::FPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3727: llvm::MPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F4F07: llvm::PassManagerImpl::run(llvm::Module&) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F4F68: llvm::PassManager::run(llvm::Module&) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1000342C7: main (in /Users/mmp/llvm-dev/bin/llc)
==76095== 
==76095== Invalid read of size 8
==76095==    at 0x1001819EC: llvm::MCSymbol::getName() const (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A47499: (anonymous
namespace)::FrameEmitterImpl::EmitFDE(llvm::MCStreamer&, llvm::MCSymbol const&,
llvm::MCDwarfFrameInfo const&) (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A47B66: llvm::MCDwarfFrameEmitter::Emit(llvm::MCStreamer&,
bool, bool) (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A5BFFF: llvm::MCStreamer::EmitFrames(bool) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A52E5B: (anonymous namespace)::MCMachOStreamer::Finish()
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100607AC9: llvm::AsmPrinter::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009EFBD6: llvm::FPPassManager::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3C89: llvm::FPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3727: llvm::MPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F4F07: llvm::PassManagerImpl::run(llvm::Module&) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F4F68: llvm::PassManager::run(llvm::Module&) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1000342C7: main (in /Users/mmp/llvm-dev/bin/llc)
==76095==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==76095== 
==76095== 
==76095== Process terminating with default action of signal 11 (SIGSEGV)
==76095==  General Protection Fault
==76095==    at 0x1028F0FC1: dyld_stub_binder (in /usr/lib/libSystem.B.dylib)
==76095==    by 0x100F8953F: ??? (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x13804E323: ???
==76095==    by 0x100A47499: (anonymous
namespace)::FrameEmitterImpl::EmitFDE(llvm::MCStreamer&, llvm::MCSymbol const&,
llvm::MCDwarfFrameInfo const&) (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A47B66: llvm::MCDwarfFrameEmitter::Emit(llvm::MCStreamer&,
bool, bool) (in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A5BFFF: llvm::MCStreamer::EmitFrames(bool) (in
/Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100A52E5B: (anonymous namespace)::MCMachOStreamer::Finish()
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x100607AC9: llvm::AsmPrinter::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009EFBD6: llvm::FPPassManager::doFinalization(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3C89: llvm::FPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F3727: llvm::MPPassManager::runOnModule(llvm::Module&)
(in /Users/mmp/llvm-dev/bin/llc)
==76095==    by 0x1009F4F07: llvm::PassManagerImpl::run(llvm::Module&) (in
/Users/mmp/llvm-dev/bin/llc)
==76095== 
==76095== HEAP SUMMARY:
==76095==     in use at exit: 1,072,042 bytes in 2,826 blocks
==76095==   total heap usage: 22,445 allocs, 19,619 frees, 7,171,758 bytes
allocated
==76095== 
==76095== LEAK SUMMARY:
==76095==    definitely lost: 0 bytes in 0 blocks
==76095==    indirectly lost: 0 bytes in 0 blocks
==76095==      possibly lost: 55,419 bytes in 139 blocks
==76095==    still reachable: 1,016,623 bytes in 2,687 blocks
==76095==         suppressed: 0 bytes in 0 blocks
==76095== Rerun with --leak-check=full to see details of leaked memory
==76095== 
==76095== For counts of detected and suppressed errors, rerun with: -v
==76095== Use --track-origins=yes to see where uninitialised values come from
==76095== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)

-- 
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