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 (g...@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 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits