[lldb-dev] [Bug 27020] New: "command alias r run" causes an assert

Enrico Granata via lldb-dev lldb-dev at lists.llvm.org
Tue Mar 22 14:14:20 PDT 2016


Ted,
I think this is fixed by r264096

Can you try and make sure it works for you?

> On Mar 21, 2016, at 2:51 PM, Enrico Granata via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> 
>> On Mar 21, 2016, at 2:27 PM, via lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>> 
>> Bug ID	27020 <https://llvm.org/bugs/show_bug.cgi?id=27020>
>> Summary	"command alias r run" causes an assert           
>> Product	lldb
>> Version	unspecified
>> Hardware	PC
>> OS	Windows NT
>> Status	NEW
>> Severity	normal
>> Priority	P
>> Component	All Bugs
>> Assignee	lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>> Reporter	ted.woodward at codeaurora.org <mailto:ted.woodward at codeaurora.org>
>> CC	llvm-bugs at lists.llvm.org <mailto:llvm-bugs at lists.llvm.org>
>> Classification	Unclassified
>> 
>> This happens on Linux and Windows; probably all platforms.
>> 
>> >bin/lldb /bin/ls
>> (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)
>> 
>> You are receiving this mail because:
>> You are the assignee for the bug.
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> 
> Ted,
> 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
> 
> On the other hand, I suspect I know what the issue you’re running into is
> 
> 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.
> In your case, what is happening is that you have an alias to an alias, so the underlying command is actually an alias
> 
> 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
> 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
> 
> Apologies for the breakage and thanks for reporting this
> 
> - Enrico
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Thanks,
- Enrico
📩 egranata@.com ☎️ 27683

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20160322/4e3b9a14/attachment-0001.html>


More information about the lldb-dev mailing list