<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"><base></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 21, 2016, at 2:27 PM, via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" class="">lldb-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
    
      <base href="https://llvm.org/bugs/" class="">
    
    <div class=""><table border="1" cellspacing="0" cellpadding="8" class="">
        <tbody class=""><tr class="">
          <th class="">Bug ID</th>
          <td class=""><a class=" bz_status_NEW bz_bug_link 
" title="NEW --- - "command alias r run" causes an assert" href="https://llvm.org/bugs/show_bug.cgi?id=27020">27020</a>
          </td>
        </tr>

        <tr class="">
          <th class="">Summary</th>
          <td class="">"command alias r run" causes an assert
          </td>
        </tr>

        <tr class="">
          <th class="">Product</th>
          <td class="">lldb
          </td>
        </tr>

        <tr class="">
          <th class="">Version</th>
          <td class="">unspecified
          </td>
        </tr>

        <tr class="">
          <th class="">Hardware</th>
          <td class="">PC
          </td>
        </tr>

        <tr class="">
          <th class="">OS</th>
          <td class="">Windows NT
          </td>
        </tr>

        <tr class="">
          <th class="">Status</th>
          <td class="">NEW
          </td>
        </tr>

        <tr class="">
          <th class="">Severity</th>
          <td class="">normal
          </td>
        </tr>

        <tr class="">
          <th class="">Priority</th>
          <td class="">P
          </td>
        </tr>

        <tr class="">
          <th class="">Component</th>
          <td class="">All Bugs
          </td>
        </tr>

        <tr class="">
          <th class="">Assignee</th>
          <td class=""><a href="mailto:lldb-dev@lists.llvm.org" class="">lldb-dev@lists.llvm.org</a>
          </td>
        </tr>

        <tr class="">
          <th class="">Reporter</th>
          <td class=""><a href="mailto:ted.woodward@codeaurora.org" class="">ted.woodward@codeaurora.org</a>
          </td>
        </tr>

        <tr class="">
          <th class="">CC</th>
          <td class=""><a href="mailto:llvm-bugs@lists.llvm.org" class="">llvm-bugs@lists.llvm.org</a>
          </td>
        </tr>

        <tr class="">
          <th class="">Classification</th>
          <td class="">Unclassified
          </td>
        </tr></tbody></table><div class="">
        <br class="webkit-block-placeholder"></div><div class="">
        <pre class="">This happens on Linux and Windows; probably all platforms.

<span class="quote">>bin/lldb /bin/ls</span>
(lldb) target create "/bin/ls"
Current executable set to '/bin/ls' (x86_64).
(lldb) command alias r run
warning: Overwriting existing definition for 'r'.
(lldb) r
CommandAlias::Execute is not to be called
UNREACHABLE executed at
/local/scratch/ted/tip/llvm/tools/lldb/source/Interpreter/CommandAlias.cpp:181!
Abort (core dumped)</pre>
        </div><div class=""><br class="webkit-block-placeholder"></div>
      <hr class="">
      <span class="">You are receiving this mail because:</span>
      
      <ul class="">
          <li class="">You are the assignee for the bug.</li>
      </ul>
    </div>

_______________________________________________<br class="">lldb-dev mailing list<br class=""><a href="mailto:lldb-dev@lists.llvm.org" class="">lldb-dev@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev<br class=""></div></blockquote></div><br class=""><div class="">Ted,</div><div class="">unfortunately I am more than a little busy at the moment - and it would probably be a day or two before I can actually take a meaningful look at this</div><div class=""><br class=""></div><div class="">On the other hand, I suspect I know what the issue you’re running into is</div><div class=""><br class=""></div><div class="">Due to existing complexity in the interpreter, a CommandAlias isn’t directly executable. So, we have CommandInterpreter::BuildAliasResult() which is the function that is responsible for taking an alias apart and passing the pieces to the command interpreter for actual execution.</div><div class="">In your case, what is happening is that you have an alias to an alias, so the underlying command is actually an alias</div><div class=""><br class=""></div><div class="">What one would need to try and do is write a recursive function that, given an alias, potentially nested, spits out the final OptionArgVectorSP and non-alias CommandObject</div><div class="">It is something I can work on, but as I said, it’s going to be a few days before I can get to it. So, if you want to try your hand at a patch to this effect, I would be most happy to take a look at it</div><div class=""><br class=""></div><div class="">Apologies for the breakage and thanks for reporting this</div><div class=""><br class=""></div><div class=""><i class="">- Enrico</i></div><div class=""><br class=""></div></body></html>