<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 - SIGSEGV on call expression evaluation when debugging Clang"
   href="https://bugs.llvm.org/show_bug.cgi?id=41237">41237</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>SIGSEGV on call expression evaluation when debugging Clang
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lldb
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>8.0
          </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>All Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>lldb-dev@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jansvoboda11@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=21673" name="attach_21673" title="Command line output with expression logging enabled, reproducer output.">attachment 21673</a> <a href="attachment.cgi?id=21673&action=edit" title="Command line output with expression logging enabled, reproducer output.">[details]</a></span>
Command line output with expression logging enabled, reproducer output.

I'm trying to debug Clang trunk, but when I try to evaluate any function call
via LLDB's 'expression' command, I get the following error:

error: Execution was interrupted, reason: signal SIGSEGV: invalid address
(fault address: 0x0).
The process has been returned to the state before expression evaluation.

When the function call is used in the Clang binary itself, it executes fine,
without any segmentation faults.
GDB evaluates the expression without any problems as well.
That's why I think this is an LLDB bug.
I wasn't able to quickly reproduce the bug with a binary smaller than Clang,
unfortunately.

The Clang binary was built in debug mode with Clang 8 using libc++ 8 and linked
with LLD 8.
I've encoutered this bug with LLDB 8 and 7 on x64 Linux (Ubuntu 18.04 LTS) with
all LLVM tools installed from the official APT repository.

Steps to reproduce:
* Install Ubuntu 18.04 on x64 machine
* Install LLVM 8 toolchain from: <a href="http://apt.llvm.org/">http://apt.llvm.org/</a>
* Build Clang with LLVM 8 toolchain as (partially) described here:
<a href="http://clang.llvm.org/get_started.html">http://clang.llvm.org/get_started.html</a>
* Run $ lldb-8 ./llvm-project/build/bin/clang
  (lldb) b main
  (lldb) r
  (lldb) n
  (lldb) n
  (lldb) expr args.size()
* See the SIGSEGV error

I'm attaching the whole command line output with LLDB expression logging
enabled and with output of LLDB reproducer.</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>