[LLVMbugs] [Bug 20026] New: Clang produces corrupt pch leading to crash in clang::ASTReader::finishPendingActions()
    bugzilla-daemon at llvm.org 
    bugzilla-daemon at llvm.org
       
    Fri Jun 13 06:44:32 PDT 2014
    
    
  
http://llvm.org/bugs/show_bug.cgi?id=20026
            Bug ID: 20026
           Summary: Clang produces corrupt pch leading to crash in
                    clang::ASTReader::finishPendingActions()
           Product: clang
           Version: trunk
          Hardware: Macintosh
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: tobias.hahn at ableton.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified
Created attachment 12654
  --> http://llvm.org/bugs/attachment.cgi?id=12654&action=edit
A zip archive containing a header, a cpp-file and a script to reproduce the
bug.
Precompiling the attached code leads to a corrupt pch file that makes clang
crash when using it in a later compilation unit.
Steps to reproduce:
1. Adjust the CC and CFLAGS variables in crashIt.sh to point to the version of
clang under test.
2. Run crashIt.sh.
Expected results:
clang compiles both files without error.
Actual results:
clang crashes when compiling EnvelopeTarget.cpp.
Reproducible:
Running the script produces a crash about 9/10 times, but occasionally,
compilation succeeds.
Notes:
The attached code is a stripped down version of the module of our codebase that
triggers this crash. While stripping out code, intermediate versions
occasionally would trigger malloc assertions in clang like the following:
clang(66542,0x7fff7b37a310) malloc: *** error for object 0x104832208: incorrect
checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
At other times, clang complained that exception specifications on some
destructor had changed when both declaration and definition have no exception
specification:
error: exception specification in declaration does not match previous
declaration
inline AEnvelopeTarget::~AEnvelopeTarget() {}
note: previous declaration is here
  virtual ~AEnvelopeTarget() = 0;
                        ^
I tried to strip down the code even further, but the current version appears to
be a minimal example reproducing the issue. Also note that all bogus include
paths on the command line are necessary to reproduce the issue.
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140613/045ddcaa/attachment.html>
    
    
More information about the llvm-bugs
mailing list