Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1948430 - ipython fails to build with Python 3.10: ValueError: not enough values to unpack (expected 2, got 1)
Summary: ipython fails to build with Python 3.10: ValueError: not enough values to unp...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: ipython
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Lumír Balhar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.10
TreeView+ depends on / blocked
 
Reported: 2021-04-12 07:27 UTC by Tomáš Hrnčiar
Modified: 2021-05-05 07:51 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-05 07:51:29 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Python 43752 0 None None None 2021-04-14 09:18:54 UTC

Description Tomáš Hrnčiar 2021-04-12 07:27:14 UTC
ipython fails to build with Python 3.10.0a7.

Test group: core
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/inputsplitter.py:21: DeprecationWarning: IPython.core.inputsplitter is deprecated since IPython 7 in favor of `IPython.core.inputtransformer2`
  warn('IPython.core.inputsplitter is deprecated since IPython 7 in favor of `IPython.core.inputtransformer2`',
........................................SSSS.......................S......................................................................................................................................S..E.........................................................................................................................................S...................................................../bin/bash: line 1: python: command not found
S.
KeyboardInterrupt

....S......./builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/tests/test_interactiveshell.py:1022: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.
  assert not ip.should_run_async("a = 5")
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/tests/test_interactiveshell.py:1023: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.
  assert ip.should_run_async("await x")
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/tests/test_interactiveshell.py:1024: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.
  assert ip.should_run_async("import asyncio; await asyncio.sleep(1)")
.........................UsageError: Line magic function `%doesntexist` not found.
.UsageError: Cell magic `%%doesntexist` not found.
...................................................................................................................................................../builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/pylabtools.py:132: MatplotlibDeprecationWarning: print_figure() got unexpected keyword argument "quality" which is no longer supported as of 3.3 and will become an error two minor releases later
  fig.canvas.print_figure(bytes_io, **kw)
................................................................S.
======================================================================
ERROR: IPython.core.tests.test_history.test_timestamp_type
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/tests/test_history.py", line 173, in test_timestamp_type
    info = ip.history_manager.get_session_info()
  File "/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/history.py", line 631, in get_session_info
    return super(HistoryManager, self).get_session_info(session=session)
  File "<decorator-gen-10>", line 2, in get_session_info
  File "/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/history.py", line 58, in needs_sqlite
    return f(self, *a, **kw)
  File "<decorator-gen-9>", line 2, in get_session_info
  File "/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/history.py", line 87, in catch_corrupt_db
    return f(self, *a, **kw)
  File "/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/core/history.py", line 331, in get_session_info
    return self.db.execute(query, (session,)).fetchone()
  File "/usr/lib64/python3.10/sqlite3/dbapi2.py", line 67, in convert_timestamp
    datepart, timepart = val.split(b" ")
ValueError: not enough values to unpack (expected 2, got 1)

----------------------------------------------------------------------
Ran 652 tests in 14.404s

FAILED (SKIP=10, errors=1)
�
Test group: extensions
..
----------------------------------------------------------------------
Ran 2 tests in 0.008s

OK
�
Test group: lib
....S......................................../builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_png function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_rgba function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_mask function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The MathtextBackendBitmap class was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
......../builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_png function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_rgba function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_mask function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The MathtextBackendBitmap class was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_png function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_rgba function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The to_mask function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
/builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: 
The MathtextBackendBitmap class was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
.........................................
----------------------------------------------------------------------
Ran 94 tests in 1.760s

OK (SKIP=1)
�
Test group: terminal
..................
----------------------------------------------------------------------
Ran 18 tests in 7.731s

OK
�
Test group: testing
..SS..S............S..
----------------------------------------------------------------------
Ran 22 tests in 2.484s

OK (SKIP=4)
�
Test group: utils
......................................................................S...SS...S..../builddir/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython/paths.py:59: UserWarning: IPython dir '/tmp/tmpq898j68t/tmpg61ciswx/.ipython' is not a writable location, using a temp directory.
  warn("IPython dir '{0}' is not a writable location,"
.S..............S..S.......................................................
----------------------------------------------------------------------
Ran 159 tests in 2.837s

OK (SKIP=7)
�
Test group: autoreload
.....
----------------------------------------------------------------------
Ran 5 tests in 9.739s

OK
�
______________________________________________________________________
Test suite completed for system with the following information:
IPython version: 7.22.0
IPython commit : 8648ed8d7 (installation)
IPython package: ~/build/BUILDROOT/ipython-7.22.0-1.fc35.x86_64/usr/lib/python3.10/site-packages/IPython
Python version : 3.10.0a7 (default, Apr  6 2021, 00:00:00) [GCC 11.0.1 20210405 (Red Hat 11.0.1-0)]
sys.executable : /usr/bin/python3
Platform       : Linux-5.10.7-200.fc33.x86_64-x86_64-with-glibc2.33.9000

Tools and libraries available at test time:
   matplotlib pygments sqlite3

Status: ERROR - 1 out of 7 test groups failed (core). Took 47.160s.

You may wish to rerun these, with:
  iptest core

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.10/fedora-rawhide-x86_64/02124522-ipython/

For all our attempts to build ipython with Python 3.10, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/package/ipython/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.10:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/

Let us know here if you have any questions.

Python 3.10 will be included in Fedora 35. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.10.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Lumír Balhar 2021-04-12 08:25:00 UTC
Well, the final exception is raised in /usr/lib64/python3.10/sqlite3/dbapi2.py but I'll try to debug it.

Comment 2 Lumír Balhar 2021-04-13 11:04:12 UTC
When debugging this, it turned out that the problem is very likely in Python itself.

ipython report: https://github.com/ipython/ipython/issues/12906
Python bug report: https://bugs.python.org/issue43831

Comment 3 Lumír Balhar 2021-04-14 05:21:56 UTC
This is confirmed to be a regression in the latest Python.

https://bugs.python.org/issue43752
https://github.com/python/cpython/pull/25228

Will be fixed in the first beta.

Comment 4 Lumír Balhar 2021-05-05 07:51:29 UTC
This bug is fixed in the first beta release and ipython builds again in the Copr.


Note You need to log in before you can comment on or make changes to this bug.