<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - libclang crashes with segmentation fault with python bindings"
   href="https://bugs.llvm.org/show_bug.cgi?id=34484">34484</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>libclang crashes with segmentation fault with python bindings
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>libclang
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>sagi@auroralabs.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>klimek@google.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The full description can be found here :
<a href="https://stackoverflow.com/questions/45901636/python-clang-crashes-with-segmentation-fault">https://stackoverflow.com/questions/45901636/python-clang-crashes-with-segmentation-fault</a>

While trying to traverse clang AST using python-clang bindings on bitcoin
opensource project. libclang crashes with segmentation fault.
At start I used libclang version 3.8 but it happens with versions 3.9, 4.0, 5.0
and 6.0 (6.0~svn312460-1~exp1)

backtrace :

#0  clang::TagType::getDecl (this=0x0) at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/lib/AST/Type.cpp:2962
#1  0x00007f9ecbe65caf in clang::RecordType::getDecl (this=<optimized out>) at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/include/clang/AST/Type.h:3554
#2  (anonymous namespace)::CXXNameMangler::mangleUnqualifiedName
(this=this@entry=0x7ffe35f45470, ND=ND@entry=0x7f9ec0092cc8, Name=..., 
    AdditionalAbiTags=AdditionalAbiTags@entry=0x7ffe35f453c0,
KnownArity=4294967295)
    at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/lib/AST/ItaniumMangle.cpp:1184
#3  0x00007f9ecbe60250 in (anonymous
namespace)::CXXNameMangler::mangleUnqualifiedName
(AdditionalAbiTags=0x7ffe35f453c0, ND=<optimized out>, this=0x7ffe35f45470)
    at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/lib/AST/ItaniumMangle.cpp:481
#4  (anonymous namespace)::CXXNameMangler::mangleLocalName
(this=this@entry=0x7ffe35f45470, D=D@entry=0x7f9ec0092cc8,
AdditionalAbiTags=AdditionalAbiTags@entry=0x7ffe35f453c0, 
    ExcludeUnqualifiedName=ExcludeUnqualifiedName@entry=false) at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/lib/AST/ItaniumMangle.cpp:1471
#5  0x00007f9ecbe607b7 in (anonymous
namespace)::CXXNameMangler::mangleNameWithAbiTags
(this=this@entry=0x7ffe35f45470, ND=ND@entry=0x7f9ec0092cc8, 
    AdditionalAbiTags=AdditionalAbiTags@entry=0x7ffe35f453c0,
ExcludeUnqualifiedName=ExcludeUnqualifiedName@entry=false)
    at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/lib/AST/ItaniumMangle.cpp:801
#6  0x00007f9ecbe61621 in (anonymous namespace)::CXXNameMangler::mangleName
(this=0x7ffe35f45470, ND=0x7f9ec0092cc8, ExcludeUnqualifiedName=<optimized
out>)
    at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/lib/AST/ItaniumMangle.cpp:776
#7  0x00007f9ecbe62822 in (anonymous
namespace)::ItaniumMangleContextImpl::mangleCXXName (this=<optimized out>,
D=0x7f9ec0092cc8, Out=...)
    at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/lib/AST/ItaniumMangle.cpp:4422
#8  0x00007f9ecbd4df6b in clang_Cursor_getMangling (C=...) at
/build/llvm-toolchain-3.8-_PD09B/llvm-toolchain-3.8-3.8/tools/clang/tools/libclang/CIndex.cpp:3996
#9  0x00007f9eccbd2e40 in ffi_call_unix64 () from
/usr/lib/x86_64-linux-gnu/libffi.so.6
#10 0x00007f9eccbd28ab in ffi_call () from
/usr/lib/x86_64-linux-gnu/libffi.so.6</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>