<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">While multiprocessing.Pool offers an
      alluring API and promises of faster performance, it has many
      gotchas and can blow up in many ways. I suggest getting your tool
      to work right without multiprocessing.Pool. Only then should you
      attempt to use multiprocessing.Pool.<br>
      <br>
      On 2/11/2013 7:53 AM, Laszlo Nagy wrote:<br>
    </div>
    <blockquote
cite="mid:CAN=tS+EjRtXfO7k-jiGMgqi8a0c_a80AC4zQpDKqdMvmxM6uxA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div style="">Hi,</div>
        <div style=""><br>
        </div>
        <div style="">I'm trying to use python binding to libclang to
          generate include graphs. I took the example program
          (bindings/python/examples/cindex/cindex-includes.py) and add
          support to read a JSON compilation database, therefore I can
          have include graph for a whole project.</div>
        <div style=""><br>
        </div>
        <div style="">Now, I'm running against the Clang project. And it
          fails... I compiled Clang with itself. Without any problem...
          My tool read the `compile_commands.json` generated by cmake
          and pass all arguments (except the compiler and the module).
          So it supposes to run the same as it was by clang... And this
          is not happen with any modules, it compiles all LLVM code and
          the majority of Clang.</div>
        <div style=""><br>
        </div>
        <div style="">Any hints how can I fix it? Or make
          it reproducible for a bug report?</div>
        <div style=""><br>
        </div>
        <div style="">Regards,</div>
        <div style="">Laszlo</div>
        <div style=""><br>
        </div>
        <div style=""><br>
        </div>
        <div style="">
          The related JSON file entry looks like this:</div>
        <div style=""><br>
        </div>
        <div style="">
          <div>{</div>
          <div>  "directory":
"/home/laszlona/Programming/llvm-svn.src/build/tools/clang/lib/Serialization",</div>
          <div>
              "command":
            "/home/laszlona/Programming/llvm-svn/usr/local/bin/clang++  
            -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS
            -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE
            -DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER
            -DCLANG_ENABLE_STATIC_ANALYZER  -fPIC
            -fvisibility-inlines-hidden -Wno-nested-anon-types
            -Wcovered-switch-default -fno-common -Woverloaded-virtual
            -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long
            -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-rtti -O2
            -g
            -I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/lib/Serialization
            -I/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization
            -I/home/laszlona/Programming/llvm-svn.src/tools/clang/include
            -I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/include
            -I/home/laszlona/Programming/llvm-svn.src/build/include
            -I/home/laszlona/Programming/llvm-svn.src/include    -Wall
            -W -Wno-unused-parameter -Wwrite-strings
            -Wmissing-field-initializers -pedantic -Wno-long-long
            -fno-exceptions -o
            CMakeFiles/clangSerialization.dir/ASTWriterStmt.cpp.o -c
/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization/ASTWriterStmt.cpp",</div>
          <div>  "file":
"/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization/ASTWriterStmt.cpp"</div>
          <div>},</div>
          <div><br>
          </div>
          <div><br>
          </div>
        </div>
        <div style="">The error report looks like this:</div>
        <div><br>
        </div>
        <div>python:
          /home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Sema/SemaInit.cpp:3153:
          clang::OverloadingResult
          TryRefInitWithConversionFunction(clang::Sema&, const
          clang::InitializedEntity&, const
          clang::InitializationKind&, clang::Expr*, bool,
          clang::InitializationSequence&): Assertion
          `!S.CompareReferenceRelationship(Initializer->getLocStart(),
          T1, T2, DerivedToBase, ObjCConversion, ObjCLifetimeConversion)
          && "Must have incompatible references when binding via
          conversion"' failed.</div>
        <div>libclang: crash detected during parsing: {</div>
        <div>  'source_filename' :
'/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization/ASTWriterStmt.cpp'</div>
        <div>  'command_line_args' : ['-D_GNU_SOURCE', '-D_DEBUG',
          '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS',
          '-D__STDC_LIMIT_MACROS', '-D_GNU_SOURCE',
          '-DCLANG_ENABLE_ARCMT', '-DCLANG_ENABLE_REWRITER',
          '-DCLANG_ENABLE_STATIC_ANALYZER', '-fPIC',
          '-fvisibility-inlines-hidden', '-Wno-nested-anon-types',
          '-Wcovered-switch-default', '-fno-common',
          '-Woverloaded-virtual', '-Wcast-qual', '-fno-strict-aliasing',
          '-pedantic', '-Wno-long-long', '-Wall', '-W',
          '-Wno-unused-parameter', '-Wwrite-strings', '-fno-rtti',
          '-O2', '-g',
          '-I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/lib/Serialization',
          '-I/home/laszlona/Programming/llvm-svn.src/tools/clang/lib/Serialization',
          '-I/home/laszlona/Programming/llvm-svn.src/tools/clang/include',
          '-I/home/laszlona/Programming/llvm-svn.src/build/tools/clang/include',
          '-I/home/laszlona/Programming/llvm-svn.src/build/include',
          '-I/home/laszlona/Programming/llvm-svn.src/include', '-Wall',
          '-W', '-Wno-unused-parameter', '-Wwrite-strings',
          '-Wmissing-field-initializers', '-pedantic', '-Wno-long-long',
          '-fno-exceptions', '-o',
          'CMakeFiles/clangSerialization.dir/ASTWriterStmt.cpp.o',
          '-c'],</div>
        <div>  'unsaved_files' : [],</div>
        <div>  'options' : 0,</div>
        <div>}</div>
        <div>Traceback (most recent call last):</div>
        <div>  File "./bin/include_graph_to_gexf.py", line 107, in
          <module></div>
        <div>    pool.apply(compile_module_to_queue, args=(q, m))</div>
        <div>  File "/usr/lib64/python2.7/multiprocessing/pool.py", line
          220, in apply</div>
        <div>    return self.apply_async(func, args, kwds).get()</div>
        <div>
            File "/usr/lib64/python2.7/multiprocessing/pool.py", line
          528, in get</div>
        <div>    raise self._value</div>
        <div>AssertionError</div>
        <div>Exception ctypes.ArgumentError: "argument 1: <type
          'exceptions.AttributeError'>: 'TranslationUnit' object has
          noProcess Process-2:</div>
        <div>Traceback (most recent call last):</div>
        <div>  File "/usr/lib64/python2.7/multiprocessing/process.py",
          line 258, in _bootstrap</div>
        <div>    self.run()</div>
        <div>  File "/usr/lib64/python2.7/multiprocessing/process.py",
          line 114, in run</div>
        <div>    self._target(*self._args, **self._kwargs)</div>
        <div>  File "./bin/include_graph_to_gexf.py", line 76, in
          build_graph_from_queue</div>
        <div>    for e in iter(queue.get, 'STOP'):</div>
        <div>  File "<string>", line 2, in get</div>
        <div>  File "/usr/lib64/python2.7/multiprocessing/managers.py",
          line 759, in _callmethod</div>
        <div>    kind, result = conn.recv()</div>
        <div>EOFError</div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>