ipython / ipython/ipykernel

KeyboardInterrupt not producing a failed request

未关闭
#845 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
734
派生
412
平均合并
1 天 5 小时
30 天内合并 PR
8

描述

One test in nbclient [fails randomly](https://github.com/jupyter/nbclient/issues/189#issuecomment-1013762525) while executing a cell with:
```python
while True:
pass
```
And interrupting the execution.
Instead of having the following output:
```
[{
'ename': 'KeyboardInterrupt',
'evalue': '',
'output_type': 'error',
'traceback': ['---------------------------------------------------------------------------',\n 'KeyboardInterrupt Traceback (most '\n 'recent call last)',\n ' in \n----> 1 while True: continue\n',\n 'KeyboardInterrupt: ']
}]
```
We sometimes get:
```
[{
'name': 'stderr',
'output_type': 'stream',
'text': '\nKeyboardInterrupt\n\n'
}]
```
Which means the interrupt is not treated as an error in the sense of a failed request. Instead, the `KeyboardInterrupt` is just streamed on `stderr`.
I'm not sure it comes from ipykernel, and I cannot reproduce locally. Any idea what could be the cause of this behavior?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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