[Lldb-commits] [PATCH] D106035: Remove conditional compilation for WCHAR support in libedit
Raphael Isemann via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Aug 5 02:53:59 PDT 2021
teemperor added a comment.
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