Skip to content

Conversation

@petervandenabeele
Copy link
Contributor

@petervandenabeele petervandenabeele commented Feb 5, 2024

This fixes a bug where after a while in a Jupyter notebook, we start to see many log lines like this:

[IPKernelApp] ERROR | Exception in control handler:
Traceback (most recent call last):
  File ".../lib/python3.8/site-packages/ipykernel/kernelbase.py", line 336, in process_control
    await result
  File ".../lib/python3.8/site-packages/ipykernel/kernelbase.py", line 998, in usage_request
    reply_content["kernel_memory"] = sum(
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

Since the "sum" expects a number (float or int) as elements given to the "sum", we should pass "0" (zero) and not None when that process id does not exist anymore.

This was tested in an actually running notebook and it fixed the problem:

  • no more Exceptions like the one reported above
  • correct memory stats where seen with the Kernel Usage plug-ins

This fixes a bug where after a while in a Jupyter notebook, we start
to see many log lines like this:

```
[IPKernelApp] ERROR | Exception in control handler:
Traceback (most recent call last):
  File ".../lib/python3.8/site-packages/ipykernel/kernelbase.py", line 336, in process_control
    await result
  File ".../lib/python3.8/site-packages/ipykernel/kernelbase.py", line 998, in usage_request
    reply_content["kernel_memory"] = sum(
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
```

Since the "sum" expects a number (float or int) as elements given to the "sum",
we should pass "0" (zero) and not None when we that process id does not exist
anymore.

This was tested in an actually running notebook and it fixed the problem:
* no morre Exceptions like the one reported above
* correct memory stats where seen with the Kernel Usage plug-ins
@petervandenabeele
Copy link
Contributor Author

This is a bug fix and needs the "bugfix" Label. As an external contributor, I am unable to set it.

Also, I am pinging @echarles since we discussed this out-of-band and Eric is marked in git as the previous contributor that touched this code.

Many thanks for your attention (I hacked it locally here in the site-packages and it seems to work for me :-)

Copy link
Member

@echarles echarles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@echarles echarles enabled auto-merge (squash) February 5, 2024 14:36
@echarles echarles disabled auto-merge February 5, 2024 14:37
@echarles echarles added the bug label Feb 5, 2024
@echarles
Copy link
Member

echarles commented Feb 5, 2024

@blink1073 📝 test_lint → ❌ failure [required to succeed] is failing, not sure about that one.

@petervandenabeele
Copy link
Contributor Author

There seems to be a problem with a linting ignore that is not correctly set-up ?

https://github.com/ipython/ipykernel/actions/runs/7785980351/job/21229753213?pr=1204#step:4:75

ipykernel/kernelapp.py:678: error: Unused "type: ignore" comment 
[unused-ignore]
                pdb.set_trace = debugger.set_trace  # type:ignore[assignme...
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Installing missing stub packages:
/home/runner/.cache/pre-commit/repo3ioeb974/py_env-python3.11/bin/python -m pip install types-Pygments types-colorama types-decorator types-psutil types-pycurl types-python-dateutil types-six


Found 1 error in 1 file (checked 43 source files)

Error: Process completed with exit code 1.

@petervandenabeele
Copy link
Contributor Author

FYI: the same "linting" problem also occurs in another PR I just made today (5 Feb 2024) and that only added 1 line to .gitignore:

#1203

@blink1073
Copy link
Contributor

The lint failures comes from a version update in the linter, I'll address in a separate PR.

Copy link
Contributor

@blink1073 blink1073 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants