ipykernel restarts with "Restarting kernel..." message

未关闭
#776 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
jupyter-notebook, numpy, python
领域
devtools

调研方向

首先在 qtconsole 和 Jupyter Notebook 中运行最小递归示例,然后将其行为与普通 Python 会话以及报告的 RecursionError 进行比较。跟踪内核的故障路径,并验证递归会生成清晰的错误消息,而不会重启控制台或导致 notebook 崩溃。

由索引模型根据 Issue 内容生成。

描述

The following minimal example results in the qtconsole restarting

import numpy as np
remaining_parameters=[]

cost_function_first = lambda x: cost_function_first(np.append(x, remaining_parameters))

cost_function_first([0.])

with error message

Kernel died, restarting

The same happens within a Spyder console

The minimal example has a clear problem: an infinite recursion. But in a normal python session this results in a normal exception with clear error message, e.g.

...
  File "C:\develop\env-py39\lib\site-packages\numpy\core\fromnumeric.py", line 1819, in ravel
    if isinstance(a, np.matrix):
RecursionError: maximum recursion depth exceeded while calling a Python object

Within qtconsole at least a clear error message should be generated. And preferably the console not restarted.
Within jupyter notebook executing the minimal example also results in a crash without proper error messages.

主要语言
Python
星标
734
派生
411
平均合并
1 天 2 小时
30 天内合并 PR
9

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

ipython/ipykernel 的其他 Issue

查看 ipython/ipykernel 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。