Skip to content

Commit 2d688f2

Browse files
committed
Prevent access through 'NoneType' when closing activity_stream
Although I'm unable to reproduce the issue, its a safe change to prevent an AttributeError from occuring ('NoneType' object has no attribute 'close'). The user that reported this is attempting to launch a kernel and I believe the launch only partially completed such that `kernel._activity_stream` did not get established. (This occurred from Jupyter Enterprise Gateway where we deal with remote kernel launches across resource-managed clusters, so things are a bit more involved relative to kernel establishment.)
1 parent 872a6c7 commit 2d688f2

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

notebook/services/kernels/kernelmanager.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,9 @@ def shutdown_kernel(self, kernel_id, now=False):
272272
"""Shutdown a kernel by kernel_id"""
273273
self._check_kernel_id(kernel_id)
274274
kernel = self._kernels[kernel_id]
275-
kernel._activity_stream.close()
276-
kernel._activity_stream = None
275+
if kernel._activity_stream:
276+
kernel._activity_stream.close()
277+
kernel._activity_stream = None
277278
self.stop_buffering(kernel_id)
278279
self._kernel_connections.pop(kernel_id, None)
279280
self.last_kernel_activity = utcnow()

0 commit comments

Comments
 (0)