You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I'm developing a Jupyter kernel using Rust, which is strongly typed and will panic if JSON messages don't conform to the Jupyter protocol spec.
It appears that notebook's Nudge sends a message without the date field in the header. After turning on debugging in the Jupyter config, this is what I see NotebookApp sending:
Hi @apowers313. In looking into this, I believe this is an issue in the Notebook front-end that has been in existence prior to the "nudge" functionality (introduced in the 6.1.6 release - so you should see this with notebook<=6.1.5 as well).
I suspect your Rust kernel is relatively new and, because you're seeing the debug messages relative to the nudge functionality, and because the nudge functionality is focused on kernel_info_request sequences, it appears to be associated. However, the nudge functionality relies on the jupyter_client library to construct the message header - which unconditionally sets a date field along with a 5.3 protocol version indicator.
Since the front-end will always follow up the kernel connection establishment with a kernel_info_request of its own, what you see is a request from the front-end that is serviced by the on_message() method of the handler - which essentially passes the message payload directly to the jupyter_client send() method, that, in this case, assumes the payload to be valid, resulting in the kernel's panic.
It also looks like we should follow up with a fix to the message construction in the notebook front-end to include an appropriate date field and value. Is that something you'd like to tackle?
Describe the bug
I'm developing a Jupyter kernel using Rust, which is strongly typed and will panic if JSON messages don't conform to the Jupyter protocol spec.
It appears that notebook's Nudge sends a message without the date field in the header. After turning on debugging in the Jupyter config, this is what I see NotebookApp sending:
To Reproduce
I'm not sure how to get the kernel into the "Nudge: resolving shell future" state...
Expected behavior
header should include date field.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
The text was updated successfully, but these errors were encountered: