ipython / ipython/ipykernel

<debug_request> publish the <status:idle> while an <execute_request> is running

Aperta
#799 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
734
Fork
412
Merge medio
1g 5h
PR unite (30g)
8

Descrizione

In ipykernel 5.5.6,both and put msgs into and process the msg with . Although both and publish the ,there are no conflicts.

When it comes to ipykernel 6.5.0, put msgs into and process the msg with , while shell_stream still works in the old way. This means and will publish the in the same time.

I found this problem in jupyterlab when i executed a cell(sleep 600s) in an ipykernel with ,i switched to another ipynb and switched back. The cell was still running, but the kernel execution_state became idle. Then i found the ipykernel received multi and published the status to idle.

As https://jupyter-client.readthedocs.io/en/latest/messaging.html said "Debug requests and replies are sent over the control channel to prevent queuing behind execution requests". It confuses me that why control_requests affect the kernel's execution_state? Should we use another state like control_state?

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with the Jupyter messaging documentation linked in the issue, then trace control_stream, shell_stream, process_control, and dispatch_shell around control_queue and msg_queue. Reproduce the long-running execute_request with debugger requests and establish how execution_state should behave while control messages are processed.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
jupyter, python
Ambito
backend-api-design
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.