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

Reply via email to