<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><base href="https://llvm.org/bugs/"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI Symbol";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.quote
        {mso-style-name:quote;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1366372342;
        mso-list-template-ids:1191582794;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>The assert is gone – the alias to an alias behaves as expected.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>There is one issue with my testcase, “command alias r run”. That’s “help r”. The last line is “'r' is an abbreviation for 'run -c /bin/sh --'”, but that’s not true. ‘run’ is an abbreviation for 'process launch -c /bin/sh --', and r is an abbreviation for ‘run’. From that help you’d infer that ‘r’ was an abbreviation for ‘process launch –c /bin/sh -- -c /bin/sh’.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Thanks for the quick fix!<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Ted<o:p></o:p></span></p><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>--<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Qualcomm Innovation Center, Inc.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project<o:p></o:p></span></p></div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> egranata@apple.com [mailto:egranata@apple.com] <br><b>Sent:</b> Tuesday, March 22, 2016 4:14 PM<br><b>To:</b> Ted Woodward <ted.woodward@codeaurora.org><br><b>Cc:</b> LLDB <lldb-dev@lists.llvm.org><br><b>Subject:</b> Re: [lldb-dev] [Bug 27020] New: "command alias r run" causes an assert<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Ted,<o:p></o:p></p></div><div><p class=MsoNormal>I think this is fixed by r264096<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Can you try and make sure it works for you?<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Mar 21, 2016, at 2:51 PM, Enrico Granata via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><o:p> </o:p></p><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Mar 21, 2016, at 2:27 PM, via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Bug ID<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal><a href="https://llvm.org/bugs/show_bug.cgi?id=27020" title="NEW --- - "command alias r run" causes an assert">27020</a> <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Summary<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>"command alias r run" causes an assert <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Product<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>lldb <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Version<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>unspecified <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Hardware<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>PC <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>OS<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>Windows NT <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Status<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>NEW <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Severity<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>normal <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Priority<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>P <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Component<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>All Bugs <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Assignee<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal><a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a> <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Reporter<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal><a href="mailto:ted.woodward@codeaurora.org">ted.woodward@codeaurora.org</a> <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>CC<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal><a href="mailto:llvm-bugs@lists.llvm.org">llvm-bugs@lists.llvm.org</a> <o:p></o:p></p></td></tr><tr><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal align=center style='text-align:center'><b>Classification<o:p></o:p></b></p></td><td style='padding:6.0pt 6.0pt 6.0pt 6.0pt'><p class=MsoNormal>Unclassified <o:p></o:p></p></td></tr></table><div><p class=MsoNormal><o:p> </o:p></p></div><div><pre>This happens on Linux and Windows; probably all platforms.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre><span class=quote>>bin/lldb /bin/ls</span><o:p></o:p></pre><pre>(lldb) target create "/bin/ls"<o:p></o:p></pre><pre>Current executable set to '/bin/ls' (x86_64).<o:p></o:p></pre><pre>(lldb) command alias r run<o:p></o:p></pre><pre>warning: Overwriting existing definition for 'r'.<o:p></o:p></pre><pre>(lldb) r<o:p></o:p></pre><pre>CommandAlias::Execute is not to be called<o:p></o:p></pre><pre>UNREACHABLE executed at<o:p></o:p></pre><pre>/local/scratch/ted/tip/llvm/tools/lldb/source/Interpreter/CommandAlias.cpp:181!<o:p></o:p></pre><pre>Abort (core dumped)<o:p></o:p></pre></div><div><p class=MsoNormal><o:p> </o:p></p></div><div class=MsoNormal align=center style='text-align:center'><hr size=2 width="100%" align=center></div><p class=MsoNormal>You are receiving this mail because: <o:p></o:p></p><ul type=disc><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'>You are the assignee for the bug.<o:p></o:p></li></ul></div><p class=MsoNormal>_______________________________________________<br>lldb-dev mailing list<br><a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><o:p></o:p></p></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Ted,<o:p></o:p></p></div><div><p class=MsoNormal>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<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>On the other hand, I suspect I know what the issue you’re running into is<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>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.<o:p></o:p></p></div><div><p class=MsoNormal>In your case, what is happening is that you have an alias to an alias, so the underlying command is actually an alias<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>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<o:p></o:p></p></div><div><p class=MsoNormal>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<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Apologies for the breakage and thanks for reporting this<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><i>- Enrico</i><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal>_______________________________________________<br>lldb-dev mailing list<br><a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><o:p></o:p></p></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black'><br>Thanks,<o:p></o:p></span></p></div><div><p class=MsoNormal><i><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black'>- Enrico</span></i><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black'><br></span><span style='font-size:9.0pt;font-family:"Segoe UI Symbol",sans-serif;color:black'>📩</span><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black'> <a href="mailto:egranata@.com">egranata@.com</a> </span><span style='font-size:9.0pt;font-family:"Segoe UI Symbol",sans-serif;color:black'>☎</span><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black'>️ 27683<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p></div></body></html>