[Lldb-commits] [PATCH] D106035: Remove conditional compilation for WCHAR support in libedit
Neal via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Aug 5 03:01:54 PDT 2021
nealsid added a comment.
Yikes - issue count starting to slowly increase :) I've reverted the patch, and sorry again about that.
I have to travel for a couple days but when I get my dev machine back up later this week I will investigate these issues in detail. I focussed my testing more on Unicode identifiers inside source files/debug information and missed the backspace problem, unfortunately. Thanks.
In D106035#2927942 <https://reviews.llvm.org/D106035#2927942>, @teemperor wrote:
> I ran it a few times and I'm sure it's an actual '"the output didn't show up" timeout and not a random failure. I also checked and my node doesn't have an `.editrc` file or something like that on the node. It's failing on a different Arch Linux bot so I think it's not a borked machine.
>
> Arch should use just the vanilla libedit so I am not sure why it would be different from other distros. IIRC I ran all the tests when I first reviewed this, so I am also a bit confused why this is now failing. When I manually input unicode characters into the old and new prompt both seem to work, so maybe it's the pexpect test setup that is somehow dropping the input?
>
> On a side note: I think this patch actually breaks the way backspace works. With this patch applied, if I enter a command such as '∂∂∂∂∂∂∂∂∂' and then press backspace, the cursor is now moved to the right by (what I assume) is the amount of bytes that I entered. I think there is some strlen logic going on that isn't unicode aware. See below: F18365237: Screenshot 2021-08-05 at 11.51.41.png <https://reviews.llvm.org/F18365237>
>
> In D106035#2927847 <https://reviews.llvm.org/D106035#2927847>, @nealsid wrote:
>
>> :) Shoot. I definitely want to revert ASAP rather than keep the tree in a bad state. Just curious, since there are timeout messages in the log, would you be able to try rerunning just that one? I see this, too: 0: b"error: '\xe1\x88\xb4' is not a valid command. So I'm guessing the timeout is a red herring.
>>
>> I'll create an Arch VM to test on for future patches. Thank you and sorry about that.
>>
>> In D106035#2927817 <https://reviews.llvm.org/D106035#2927817>, @teemperor wrote:
>>
>>> I fear I might also have to congratulate you on your first revert (sorry, couldn't resist that joke). TestUnicode is failing for me with this patch on Arch Linux:
>>>
>>> Command Output (stdout):
>>> --
>>> lldb version 14.0.0 (git at github.com:Teemperor/llvm-project revision f9f63e92243ecd6d0df5d6813967a49c8ca79ca5)
>>> clang revision f9f63e92243ecd6d0df5d6813967a49c8ca79ca5
>>> llvm revision f9f63e92243ecd6d0df5d6813967a49c8ca79ca5
>>> Skipping the following test categories: ['libc++', 'dsym', 'gmodules', 'debugserver', 'objc']
>>>
>>> --
>>> Command Output (stderr):
>>> --
>>> FAIL: LLDB (/home/teemperor/work/ci/build/bin/clang-x86_64) :: test_unicode_input (TestUnicode.TestCase)
>>> ======================================================================
>>> ERROR: test_unicode_input (TestUnicode.TestCase)
>>> ----------------------------------------------------------------------
>>> Traceback (most recent call last):
>>> File "/home/teemperor/work/ci/llvm-project/lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py", line 111, in expect_loop
>>> incoming = spawn.read_nonblocking(spawn.maxread, timeout)
>>> File "/home/teemperor/work/ci/llvm-project/lldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py", line 482, in read_nonblocking
>>> raise TIMEOUT('Timeout exceeded.')
>>> pexpect.exceptions.TIMEOUT: Timeout exceeded.
>>>
>>> During handling of the above exception, another exception occurred:
>>>
>>> Traceback (most recent call last):
>>> File "/home/teemperor/work/ci/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 149, in wrapper
>>> return func(*args, **kwargs)
>>> File "/home/teemperor/work/ci/llvm-project/lldb/test/API/iohandler/unicode/TestUnicode.py", line 25, in test_unicode_input
>>> self.expect(u'\u1234', substrs=[u"error: '\u1234' is not a valid command.".encode('utf-8')])
>>> File "/home/teemperor/work/ci/llvm-project/lldb/packages/Python/lldbsuite/test/lldbpexpect.py", line 64, in expect
>>> self.child.expect_exact(s)
>>> File "/home/teemperor/work/ci/llvm-project/lldb/third_party/Python/module/pexpect-4.6/pexpect/spawnbase.py", line 418, in expect_exact
>>> return exp.expect_loop(timeout)
>>> File "/home/teemperor/work/ci/llvm-project/lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py", line 119, in expect_loop
>>> return self.timeout(e)
>>> File "/home/teemperor/work/ci/llvm-project/lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py", line 82, in timeout
>>> raise TIMEOUT(msg)
>>> pexpect.exceptions.TIMEOUT: Timeout exceeded.
>>> <pexpect.pty_spawn.spawn object at 0x7f004e20a610>
>>> command: /home/teemperor/work/ci/build/bin/lldb
>>> args: ['/home/teemperor/work/ci/build/bin/lldb', '--no-lldbinit', '--no-use-colors', '-O', 'settings clear -all', '-O', 'settings set symbols.enable-external-lookup false', '-O', 'settings set target.inherit-tcc true', '-O', 'settings set target.detach-on-error false', '-O', 'settings set target.auto-apply-fixits false', '-O', 'settings set plugin.process.gdb-remote.packet-timeout 60', '-O', 'settings set symbols.clang-modules-cache-path "/home/teemperor/work/ci/build/lldb-test-build.noindex/module-cache-lldb/lldb-api"', '-O', 'settings set use-color false', '-O', 'setting set target.prefer-dynamic-value no-dynamic-values']
>>> buffer (last 100 chars): b'\\U+1234\r\n(lldb) '
>>> before (last 100 chars): b'\\U+1234\r\n(lldb) '
>>> after: <class 'pexpect.exceptions.TIMEOUT'>
>>> match: None
>>> match_index: None
>>> exitstatus: None
>>> flag_eof: False
>>> pid: 609226
>>> child_fd: 6
>>> closed: False
>>> timeout: 60
>>> delimiter: <class 'pexpect.exceptions.EOF'>
>>> logfile: None
>>> logfile_read: None
>>> logfile_send: None
>>> maxread: 2000
>>> ignorecase: False
>>> searchwindowsize: None
>>> delaybeforesend: 0.05
>>> delayafterclose: 0.1
>>> delayafterterminate: 0.1
>>> searcher: searcher_string:
>>> 0: b"error: '\xe1\x88\xb4' is not a valid command."
>>> Config=x86_64-/home/teemperor/work/ci/build/bin/clang
>>> ----------------------------------------------------------------------
>>> Ran 1 test in 60.551s
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106035/new/
https://reviews.llvm.org/D106035
More information about the lldb-commits
mailing list