Bug 1978009

Summary: python-jupyter-console: loop parameter passed to asyncio.wait() breaks on Python 3.10
Product: [Fedora] Fedora Reporter: Jerry James <loganjerry>
Component: python-jupyter-consoleAssignee: Miro Hrončok <mhroncok>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, python-sig, quantum.analyst, thrnciar
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: python-jupyter-console-6.4.0-3.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-07-02 10:42:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1890881    

Description Jerry James 2021-06-30 22:25:58 UTC
Description of problem:
I am experimenting with bash_kernel.  An attempt to use it in Rawhide failed:

Traceback (most recent call last):
  File "/usr/bin/jupyter-console", line 33, in <module>
    sys.exit(load_entry_point('jupyter-console==6.4.0', 'console_scripts', 'jupyter-console')())
  File "/usr/lib/python3.10/site-packages/jupyter_core/application.py", line 254, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/lib/python3.10/site-packages/traitlets/config/application.py", line 845, in launch_instance
    app.start()
  File "/usr/lib/python3.10/site-packages/jupyter_console/app.py", line 148, in start
    self.shell.mainloop()
  File "/usr/lib/python3.10/site-packages/jupyter_console/ptshell.py", line 664, in mainloop
    main_task = asyncio.wait(tasks, loop=loop, return_when=asyncio.FIRST_COMPLETED)
TypeError: wait() got an unexpected keyword argument 'loop'
sys:1: RuntimeWarning: coroutine 'ZMQTerminalInteractiveShell.interact' was never awaited
[IPKernelApp] WARNING | Parent appears to have exited, shutting down.

The issue is that asyncio.wait() no longer accepts the loop keyword in python 3.10; see https://docs.python.org/3.10/library/asyncio-task.html#waiting-primitives.

Version-Release number of selected component (if applicable):
python3-jupyter-console-6.4.0-2.fc35.noarch

How reproducible:
Always

Steps to Reproduce:
1. On a Rawhide machine (or in a Rawhide mock chroot), run "jupyter console"

Actual results:
The error shown above.

Expected results:
A Jupyter console.

Additional info:

Comment 1 Miro Hrončok 2021-07-02 09:33:34 UTC
The fix is quite simple: https://src.fedoraproject.org/rpms/python-jupyter-console/pull-request/2

I've added a smoke test for the console to %check, to ensure this won't happen again.

Comment 2 Fedora Update System 2021-07-02 10:40:52 UTC
FEDORA-2021-a01f706178 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-a01f706178

Comment 3 Fedora Update System 2021-07-02 10:42:45 UTC
FEDORA-2021-a01f706178 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.