Source: ipykernel
Version: 6.17.0-1
Severity: serious
Tags: sid bookworm
User: debian...@lists.debian.org
Usertags: needs-update
User: debian-pyt...@lists.debian.org
Usertags: python3.11
Control: affects -1 src:python3-defaults

Dear maintainer(s),

We are in the transition of adding python3.11 as a supported Python version [0]. With a recent upload of python3-defaults the autopkgtest of ipykernel fails in testing when that autopkgtest is run with the binary packages of python3-defaults from unstable. It passes when run with only packages from testing. In tabular form:

                       pass            fail
python3-defaults       from testing    3.10.6-3
ipykernel              from testing    6.17.0-1
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of python3-defaults to testing [1]. https://docs.python.org/3/whatsnew/3.11.html lists what's new in Python3.11, it may help to identify what needs to be updated.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[0] https://bugs.debian.org/1021984
[1] https://qa.debian.org/excuses.php?package=python3-defaults

https://ci.debian.net/data/autopkgtest/testing/amd64/i/ipykernel/28726234/log.gz

=================================== FAILURES =================================== _________________ InProcessKernelManagerTestCase.test_complete _________________

self = <ipykernel.inprocess.tests.test_kernelmanager.InProcessKernelManagerTestCase testMethod=test_complete>

    def test_complete(self):
        """Does requesting completion from an in-process kernel work?"""
        km = self.km
        km.start_kernel()
        kc = km.client()
        kc.start_channels()
        kc.wait_for_ready()
        km.kernel.shell.push({"my_bar": 0, "my_baz": 1})
      kc.complete("my_ba", 5)

ipykernel/inprocess/tests/test_kernelmanager.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ipykernel/inprocess/client.py:127: in complete
    self._dispatch_to_kernel(msg)
ipykernel/inprocess/client.py:192: in _dispatch_to_kernel
    idents, reply_msg = self.session.recv(stream, copy=False)
/usr/lib/python3/dist-packages/jupyter_client/session.py:924: in recv
    msg_list = socket.recv_multipart(mode, copy=copy)
ipykernel/inprocess/socket.py:31: in recv_multipart
    return self.queue.get_nowait()
/usr/lib/python3.11/queue.py:199: in get_nowait
    return self.get(block=False)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <queue.Queue object at 0x7f7d2c35e890>, block = False, timeout = None

    def get(self, block=True, timeout=None):
        '''Remove and return an item from the queue.
    
 If optional args 'block' is true and 'timeout' is None (the default),
        block if necessary until an item is available. If 'timeout' is
 a non-negative number, it blocks at most 'timeout' seconds and raises
        the Empty exception if no item was available within that time.
 Otherwise ('block' is false), return an item if one is immediately
        available, else raise the Empty exception ('timeout' is ignored
        in that case).
        '''
        with self.not_empty:
            if not block:
                if not self._qsize():
                  raise Empty
E                   _queue.Empty

/usr/lib/python3.11/queue.py:168: Empty
----------------------------- Captured stdout call -----------------------------
status
------------------------------ Captured log call ------------------------------- ERROR  ipykernel.inprocess.ipkernel:kernelbase.py:408 Exception in message handler:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/jedi/cache.py", line 110, in wrapper
    return dct[key]
           ~~~^^^^^
KeyError: ((), frozenset())

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/parso/grammar.py", line 252, in load_grammar
    return _loaded_grammars[path]
           ~~~~~~~~~~~~~~~~^^^^^^
KeyError: '/usr/lib/python3/dist-packages/parso/python/grammar311.txt'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/parso/grammar.py", line 255, in load_grammar
    with open(path) as f:
         ^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/parso/python/grammar311.txt'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/tmp/autopkgtest-lxc.atvey6gy/downtmp/build.hFM/src/ipykernel/kernelbase.py", line 406, in dispatch_shell
    await result
File "/tmp/autopkgtest-lxc.atvey6gy/downtmp/build.hFM/src/ipykernel/kernelbase.py", line 777, in complete_request
    matches = self.do_complete(code, cursor_pos)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/autopkgtest-lxc.atvey6gy/downtmp/build.hFM/src/ipykernel/ipkernel.py", line 445, in do_complete
    return self._experimental_do_complete(code, cursor_pos)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/autopkgtest-lxc.atvey6gy/downtmp/build.hFM/src/ipykernel/ipkernel.py", line 476, in _experimental_do_complete
    completions = list(_rectify_completions(code, raw_completions))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/IPython/core/completer.py", line 501, in rectify_completions
    completions = list(completions)
                  ^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/IPython/core/completer.py", line 1913, in completions for c in self._completions(text, offset, _timeout=self.jedi_compute_type_timeout/1000): File "/usr/lib/python3/dist-packages/IPython/core/completer.py", line 1962, in _completions
    matched_text, matches, matches_origin, jedi_matches = self._complete(
                                                          ^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/IPython/core/completer.py", line 2151, in _complete
    completions = self._jedi_matches(
                  ^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/IPython/core/completer.py", line 1445, in _jedi_matches
    interpreter = jedi.Interpreter(text[:offset], namespaces)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jedi/api/__init__.py", line 725, in __init__
    super().__init__(code, environment=environment,
File "/usr/lib/python3/dist-packages/jedi/api/__init__.py", line 118, in __init__
    self._inference_state = InferenceState(
                            ^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jedi/inference/__init__.py", line 91, in __init__
    self.grammar = environment.get_grammar()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/jedi/cache.py", line 112, in wrapper
    result = method(self, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jedi/api/environment.py", line 37, in get_grammar
    return parso.load_grammar(version=version_string)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/parso/grammar.py", line 264, in load_grammar
    raise NotImplementedError(message)
NotImplementedError: Python version 3.11 is currently not supported.
_______________________________ test_no_closure ________________________________

    def test_no_closure():
        @interactive
        def foo():
            a = 5
            return a
            pfoo = dumps(foo)
      bar = loads(pfoo)

ipykernel/tests/test_pickleutil.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ipykernel/tests/test_pickleutil.py:19: in loads
    return uncan(pickle.loads(obj))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (0, 0, 0, 1, 1, 19, ...)

    def code_ctor(*args):
      return types.CodeType(*args)
E       TypeError: code() argument 13 must be str, not int

/usr/lib/python3/dist-packages/ipyparallel/serialize/codeutil.py:23: TypeError ____________________________ test_generator_closure ____________________________

    def test_generator_closure():
        # this only creates a closure on Python 3
        @interactive
        def foo():
            i = "i"
            r = [i for j in (1, 2)]
            return r
            pfoo = dumps(foo)
      bar = loads(pfoo)

ipykernel/tests/test_pickleutil.py:42: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ipykernel/tests/test_pickleutil.py:19: in loads
    return uncan(pickle.loads(obj))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (1, 0, 0, 2, 3, 19, ...)

    def code_ctor(*args):
      return types.CodeType(*args)
E       TypeError: code() argument 13 must be str, not int

/usr/lib/python3/dist-packages/ipyparallel/serialize/codeutil.py:23: TypeError _____________________________ test_nested_closure ______________________________

    def test_nested_closure():
        @interactive
        def foo():
            i = "i"
                def g():
                return i
                return g()
            pfoo = dumps(foo)
      bar = loads(pfoo)

ipykernel/tests/test_pickleutil.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ipykernel/tests/test_pickleutil.py:19: in loads
    return uncan(pickle.loads(obj))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (0, 0, 0, 0, 1, 19, ...)

    def code_ctor(*args):
      return types.CodeType(*args)
E       TypeError: code() argument 13 must be str, not int

/usr/lib/python3/dist-packages/ipyparallel/serialize/codeutil.py:23: TypeError _________________________________ test_closure _________________________________

    def test_closure():
        i = "i"
            @interactive
        def foo():
            return i
            pfoo = dumps(foo)
      bar = loads(pfoo)

ipykernel/tests/test_pickleutil.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ipykernel/tests/test_pickleutil.py:19: in loads
    return uncan(pickle.loads(obj))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (0, 0, 0, 0, 1, 19, ...)

    def code_ctor(*args):
      return types.CodeType(*args)
E       TypeError: code() argument 13 must be str, not int

/usr/lib/python3/dist-packages/ipyparallel/serialize/codeutil.py:23: TypeError
===Flaky Test Report===

test_embed_kernel_basic passed 1 out of the required 1 times. Success!
test_embed_kernel_namespace passed 1 out of the required 1 times. Success!
test_embed_kernel_reentrant passed 1 out of the required 1 times. Success!
test_subprocess_print passed 1 out of the required 1 times. Success!
test_subprocess_noprint passed 1 out of the required 1 times. Success!
test_subprocess_error passed 1 out of the required 1 times. Success!
test_ipython_start_kernel_userns passed 1 out of the required 1 times. Success! test_ipython_start_kernel_no_userns passed 1 out of the required 1 times. Success!

===End Flaky Test Report===

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to