Bug 2441762

Summary: [abrt] python3-bpython: find_key(): input.py:258:find_key:ValueError: Couldn't identify key sequence: [b'\xef', b'\xbf']
Product: [Fedora] Fedora Reporter: Mr. Beedell, Roke Julian Lockhart (RJLB) <8ru2u4gz>
Component: python-curtsiesAssignee: Terje Rosten <terjeros>
Status: ASSIGNED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 43CC: 8ru2u4gz, admiller, michel, terjeros
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/b46f55ece32de401299a257b6e7a54f55325528
Whiteboard: abrt_hash:f8864d6ff00801d46166fe2474a15451f7182a5a;VARIANT_ID=kde;
Fixed In Version: python-curtsies-0.4.3-7.fc45 python-curtsies-0.4.3-7.fc44 python-curtsies-0.4.3-7.fc42 python-curtsies-0.4.3-7.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-05-06 00:49:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: os_info
none
File: environ
none
File: mountinfo
none
File: open_fds
none
File: namespaces
none
File: backtrace
none
File: cpuinfo none

Description Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:43 UTC
Description of problem:
By pasting text similar to that which is referenced in https://bugs.kde.org/show_bug.cgi?id=511581#c0, I am able to crash BPython, regardless of terminal.

Version-Release number of selected component:
python3-bpython-0.26-1.fc43

Additional info:
reporter:       libreport-2.17.15
kernel:         6.18.12-200.fc43.x86_64
cmdline:        /usr/bin/python3 -sP /usr/bin/bpython
cgroup:         0::/user.slice/user-1000.slice/user/app.slice/app-qterminal
uid:            1000
reason:         input.py:258:find_key:ValueError: Couldn't identify key sequence: [b'\xef', b'\xbf']
executable:     /usr/bin/bpython
type:           Python3
package:        python3-bpython-0.26-1.fc43
runlevel:       /bin/sh: line 1: runlevel: command not found
exception_type: ValueError
crash_function: find_key
interpreter:    python3-3.14.2-1.fc43.x86_64
comment:        I reproduced https://bugs.kde.org/show_bug.cgi?id=511581#c0.

Truncated backtrace:
input.py:258:find_key:ValueError: Couldn't identify key sequence: [b'\xef', b'\xbf']

Traceback (most recent call last):
  File "/usr/bin/bpython", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/usr/lib/python3.14/site-packages/bpython/curtsies.py", line 249, in main
    repl.mainloop(True, paste)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/bpython/curtsies.py", line 175, in mainloop
    for e in inputs:
             ^^^^^^
  File "/usr/lib/python3.14/site-packages/bpython/curtsies.py", line 274, in _combined_events
    e = event_provider.send(0)
  File "/usr/lib/python3.14/site-packages/curtsies/input.py", line 239, in send
    return self._send(timeout)
           ~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/curtsies/input.py", line 287, in _send
    e = find_key()
  File "/usr/lib/python3.14/site-packages/curtsies/input.py", line 258, in find_key
    raise ValueError("Couldn't identify key sequence: %r" % current_bytes)
ValueError: Couldn't identify key sequence: [b'\xef', b'\xbf']

Local variables in innermost frame:
current_bytes: [b'\xef', b'\xbf']
e: None
self: <curtsies.input.Input object at 0x7fc0a7506270>

Comment 1 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:47 UTC
Created attachment 2130580 [details]
File: os_info

Comment 2 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:48 UTC
Created attachment 2130581 [details]
File: environ

Comment 3 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:49 UTC
Created attachment 2130582 [details]
File: mountinfo

Comment 4 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:50 UTC
Created attachment 2130583 [details]
File: open_fds

Comment 5 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:51 UTC
Created attachment 2130584 [details]
File: namespaces

Comment 6 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:53 UTC
Created attachment 2130585 [details]
File: backtrace

Comment 7 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 16:26:54 UTC
Created attachment 2130586 [details]
File: cpuinfo

Comment 8 Terje Rosten 2026-02-22 17:21:13 UTC
Hi, thanks for report.

It's not clear to me how bpython is involved in this problem. 

You have bpython up and running in konsole app and then you paste some large pieces of 
text into that konsole terminal?

Comment 9 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-02-22 20:56:44 UTC
My apologies. That was a poor report of mine. Basically, complex UTF-8 text can cause BPython to crash, even in QTerminal. I'll update the original report.

Comment 10 Fedora Update System 2026-04-26 18:26:02 UTC
FEDORA-2026-c2544850c6 (python-curtsies-0.4.3-7.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-c2544850c6

Comment 11 Fedora Update System 2026-04-26 18:29:55 UTC
FEDORA-2026-c2544850c6 (python-curtsies-0.4.3-7.fc45) has been pushed to the Fedora 45 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2026-04-26 18:37:58 UTC
FEDORA-2026-e185d6cc9f (python-curtsies-0.4.3-7.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-e185d6cc9f

Comment 13 Fedora Update System 2026-04-28 02:10:43 UTC
FEDORA-2026-b7c03fcd98 has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-b7c03fcd98`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-b7c03fcd98

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2026-04-28 02:31:01 UTC
FEDORA-2026-c7e3a67981 has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-c7e3a67981`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-c7e3a67981

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2026-04-28 02:52:04 UTC
FEDORA-2026-e185d6cc9f has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-e185d6cc9f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-e185d6cc9f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2026-05-06 00:49:42 UTC
FEDORA-2026-b7c03fcd98 (python-curtsies-0.4.3-7.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 17 Fedora Update System 2026-05-06 16:24:14 UTC
FEDORA-2026-c7e3a67981 (python-curtsies-0.4.3-7.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Fedora Update System 2026-05-06 16:45:50 UTC
FEDORA-2026-e185d6cc9f (python-curtsies-0.4.3-7.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-05-07 23:20:14 UTC
https://github.com/abrt/libreport/issues/826#issue-3779731511 made it difficult to report, although minor problems remain:

> ~~~
> Traceback (most recent call last):
>   File "/usr/bin/bpython", line 7, in <module>
>     sys.exit(main())
>              ~~~~^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsies.py", line 249, in main
>     repl.mainloop(True, paste)
>     ~~~~~~~~~~~~~^^^^^^^^^^^^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsies.py", line 173, in mainloop
>     self.process_event_and_paint(e)
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsies.py", line 146, in process_event_and_paint
>     array, cursor_pos = self.paint()
>                         ~~~~~~~~~~^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsiesfrontend/repl.py", line 1596, in paint
>     min_height, width, self.current_cursor_line
>                        ^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsiesfrontend/repl.py", line 1502, in current_cursor_line
>     return self.current_cursor_line_without_suggestion + suggest(
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsiesfrontend/repl.py", line 1491, in current_cursor_line_without_suggestion
>     "" if self.coderunner.running else self.display_line_with_prompt
>                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsiesfrontend/repl.py", line 1481, in display_line_with_prompt
>     ) + self.current_line_formatted
>         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.14/site-packages/bpython/curtsiesfrontend/repl.py", line 1421, in current_line_formatted
>     fs = bpythonparse(
>         pygformat(self.tokenize(self.current_line), self.formatter)
>     )
>   File "/usr/lib/python3.14/site-packages/bpython/curtsiesfrontend/parse.py", line 58, in parse
>     sum((fs_from_match(d) for d in stuff[1:]), fs_from_match(stuff[0]))
>     ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.14/site-packages/curtsies/formatstring.py", line 534, in __add__
>     return FmtStr(*(self.chunks + other.chunks))
>   File "/usr/lib/python3.14/site-packages/curtsies/formatstring.py", line 272, in __init__
>     def __init__(self, *components: Chunk) -> None:
>     
>   File "/usr/lib/python3.14/site-packages/bpython/curtsiesfrontend/repl.py", line 607, in sigwinch_handler
>     cursor_dy = self.get_cursor_vertical_diff()
>   File "/usr/lib/python3.14/site-packages/bpython/curtsies.py", line 116, in get_cursor_vertical_diff
>     return self.window.get_cursor_vertical_diff()
>            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
>   File "/usr/lib/python3.14/site-packages/curtsies/window.py", line 397, in get_cursor_vertical_diff
> ~~~

However, the segmentation violation does not appear to recur.

Comment 20 Mr. Beedell, Roke Julian Lockhart (RJLB) 2026-05-10 16:08:06 UTC
Blame https://github.com/abrt/gnome-abrt/issues/381#issue-3138313547 for the OS replacement.