[LLVMbugs] [Bug 11978] New: Infinite recursion resulting in SIGSEGV in clang:CodeGen

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Feb 10 14:05:45 PST 2012


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

             Bug #: 11978
           Summary: Infinite recursion resulting in SIGSEGV in
                    clang:CodeGen
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: MacOS X
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: johnw at boostpro.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


When building Ledger with Clang-3.1, or SVN trunk, the code generator gets into 
an infinite loop compiling one of the files and crashes with SIGSEGV.  The loop 
is here:

    #5374 0x00000001003d4d05 in clang::CodeGen::CGDebugInfo::CreateType 
(this=0x10660d970, Ty=0x11a5a7990) at CGDebugInfo.cpp:1195
    #5375 0x00000001003deb25 in clang::CodeGen::CGDebugInfo::CreateLimitedType 
(this=0x10660d970, Ty=0x11a5a7990) at CGDebugInfo.cpp:1702
    #5376 0x00000001003dec3e in 
clang::CodeGen::CGDebugInfo::CreateLimitedTypeNode (this=0x10660d970, Ty={Value 
= {Value = 4737104273}}, Unit=@0x7fff5f6c1878) at CGDebugInfo.cpp:1724
    #5377 0x00000001003ded95 in 
clang::CodeGen::CGDebugInfo::getOrCreateLimitedType (this=0x10660d970, 
Ty={Value = {Value = 4737104273}}, Unit=@0x7fff5f6c1a80) at
CGDebugInfo.cpp:1686
    #5378 0x00000001003d593c in clang::CodeGen::CGDebugInfo::CreateType 
(this=0x10660d970, Ty=0x11a5cfe10, Unit=@0x7fff5f6c1d70) at CGDebugInfo.cpp:679
    #5379 0x00000001003d198f in clang::CodeGen::CGDebugInfo::CreateTypeNode 
(this=0x10660d970, Ty={Value = {Value = 4737269264}}, Unit=@0x7fff5f6c1e88) at 
CGDebugInfo.cpp:1772
    #5380 0x00000001003cfab7 in clang::CodeGen::CGDebugInfo::getOrCreateType 
(this=0x10660d970, Ty={Value = {Value = 4737269264}}, Unit=@0x7fff5f6c2100) at 
CGDebugInfo.cpp:1665
    #5381 0x00000001003da8f0 in 
clang::CodeGen::CGDebugInfo::getOrCreateMethodType (this=0x10660d970, 
Method=0x11a5cfe70, Unit=@0x7fff5f6c23e8) at CGDebugInfo.cpp:808
    #5382 0x00000001003dc1fd in 
clang::CodeGen::CGDebugInfo::CreateCXXMemberFunction (this=0x10660d970, 
Method=0x11a5cfe70, Unit=@0x7fff5f6c2548, RecordTy=@0x7fff5f6c2538) at 
CGDebugInfo.cpp:876
    #5383 0x00000001003dc8d7 in 
clang::CodeGen::CGDebugInfo::CollectCXXMemberFunctions (this=0x10660d970, 
RD=0x11a5a7850, Unit=@0x7fff5f6c2a78, EltTys=@0x7fff5f6c2860, 
RecordTy=@0x7fff5f6c2a68) at CGDebugInfo.cpp:952
    #5384 0x00000001003d4d05 in clang::CodeGen::CGDebugInfo::CreateType 
(this=0x10660d970, Ty=0x11a5a7990) at CGDebugInfo.cpp:1195

To reproduce this on OS X Lion:

    git clone git://github.com/jwiegley/ledger.git
    cd ledger
    git submodule update --init
    ./acprep --debug --clang make -- check

The build should chug along util it gets to the file stats.cc.  Here is the 
actual command line it executed on my system:

    "/usr/local/stow/clang/bin/clang-3.1" -cc1 -triple 
x86_64-apple-macosx10.7.0 -emit-obj -mrelax-all -disable-free -main-file-name 
stats.cc -pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables 
-target-cpu core2 -v -g -coverage-file libledger_report_la-stats.o 
-resource-dir /usr/local/stow/clang/bin/../lib/clang/3.1 -dependency-file 
.deps/libledger_report_la-stats.Tpo -sys-header-deps -MP -MT 
libledger_report_la-stats.lo -isystem /usr/local/include -isystem 
/opt/local/include -isystem /opt/local/include -isystem 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 
-D HAVE_CONFIG_H -I . -I /Users/johnw/Projects/ledger -I 
/Users/johnw/Projects/ledger/src -I /Users/johnw/Projects/ledger/lib -I 
/Users/johnw/Projects/ledger/lib/utfcpp/source -I /opt/local/include 
-fmodule-cache-path 
/var/folders/wl/h4f3k1517896vvccj93g389c0000gn/T/clang-module-cache 
-Weverything -fdeprecated-macro -fdebug-compilation-dir 
/Users/johnw/Products/ledger/debug -ferror-limit 19 -fmessage-length 100 
-stack-protector 1 -mstackrealign -fblocks -fobjc-runtime-has-arc 
-fobjc-runtime-has-weak -fobjc-dispatch-method=mixed -fcxx-exceptions 
-fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o 
libledger_report_la-stats.o -x c++ /Users/johnw/Projects/ledger/src/stats.cc

Note that you'll need to run acprep before attempting this isolated command, 
since you'll need the pre-compiled header built.

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