Skip to content

Commit c00a0e7

Browse files
committed
Log if msg id is missing and skip
1 parent d304cc5 commit c00a0e7

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

js/src/messaging.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,13 @@ export class JupyterKernelWebSocket {
331331
public listenMessages() {
332332
this.ws.onmessage = (e: IWebSocket.MessageEvent) => {
333333
const message = JSON.parse(e.data.toString())
334+
334335
const parentMsgId = message.parent_header.msg_id
336+
if (parentMsgId == undefined) {
337+
console.warn(`Parent message ID not found.\n Message: ${message}`)
338+
return
339+
}
340+
335341
const cell = this.cells[parentMsgId]
336342
if (!cell) {
337343
return
@@ -430,30 +436,30 @@ export class JupyterKernelWebSocket {
430436
timeout?: number
431437
) {
432438
return new Promise<Execution>((resolve, reject) => {
433-
const msg_id = id(16)
434-
const data = this.sendExecuteRequest(msg_id, code)
439+
const msgID = id(16)
440+
const data = this.sendExecuteRequest(msgID, code)
435441

436442
// give limited time for response
437443
let timeoutSet: number | NodeJS.Timeout
438444
if (timeout) {
439445
timeoutSet = setTimeout(() => {
440446
// stop waiting for response
441-
delete this.idAwaiter[msg_id]
447+
delete this.idAwaiter[msgID]
442448
reject(
443449
new Error(
444-
`Awaiting response to "${code}" with id: ${msg_id} timed out.`
450+
`Awaiting response to "${code}" with id: ${msgID} timed out.`
445451
)
446452
)
447453
}, timeout)
448454
}
449455

450456
// expect response
451-
this.cells[msg_id] = new CellExecution(onStdout, onStderr, onResult)
452-
this.idAwaiter[msg_id] = (responseData: Execution) => {
457+
this.cells[msgID] = new CellExecution(onStdout, onStderr, onResult)
458+
this.idAwaiter[msgID] = (responseData: Execution) => {
453459
// stop timeout
454460
clearInterval(timeoutSet as number)
455461
// stop waiting for response
456-
delete this.idAwaiter[msg_id]
462+
delete this.idAwaiter[msgID]
457463

458464
resolve(responseData)
459465
}

python/e2b_code_interpreter/messaging.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,11 @@ def _receive_message(self, data: dict):
161161
162162
:param data: The message data
163163
"""
164-
parent_msg_ig = data["parent_header"]["msg_id"]
164+
parent_msg_ig = data["parent_header"].get("msg_id", None)
165+
if parent_msg_ig is None:
166+
logger.warning("Parent message ID not found. %s", data)
167+
continue
168+
165169
logger.debug(f"Received message {data['msg_type']} for {parent_msg_ig}")
166170

167171
cell = self._cells.get(parent_msg_ig)

0 commit comments

Comments
 (0)