ipykernel
ipykernel copied to clipboard
KeyboardInterrupt not producing a failed request
One test in nbclient fails randomly while executing a cell with:
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 '<IPY-INPUT> in <module>\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?