[lldb-dev] [Bug 27020] New: "command alias r run" causes an assert
Ted Woodward via lldb-dev
lldb-dev at lists.llvm.org
Tue Mar 22 15:26:34 PDT 2016
The assert is gone – the alias to an alias behaves as expected.
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’.
Thanks for the quick fix!
Ted
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
From: egranata at apple.com [mailto:egranata at apple.com]
Sent: Tuesday, March 22, 2016 4:14 PM
To: Ted Woodward <ted.woodward at codeaurora.org>
Cc: LLDB <lldb-dev at lists.llvm.org>
Subject: Re: [lldb-dev] [Bug 27020] New: "command alias r run" causes an assert
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 <mailto: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 <mailto: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/2238e977/attachment.html>
More information about the lldb-dev
mailing list