-
Notifications
You must be signed in to change notification settings - Fork 505
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update nbclient #1234
Update nbclient #1234
Conversation
Benchmark reportThe execution time (in milliseconds) are grouped by test file, test type and browser. Results table
❗ Test metadata have changed--- /dev/fd/63 2022-10-25 10:04:56.927950940 +0000
+++ /dev/fd/62 2022-10-25 10:04:56.927950940 +0000
@@ -4,37 +4,37 @@
"BENCHMARK_REFERENCE": "actual"
},
"browsers": {
- "chromium": "97.0.4666.0"
+ "chromium": "94.0.4595.0"
},
"systemInformation": {
"cpu": {
- "brand": "Xeon® Platinum 8272CL",
+ "brand": "Xeon® E5-2673 v3",
"cache": {
"l1d": 65536,
"l1i": 65536,
- "l2": 2097152,
- "l3": 36700160
+ "l2": 524288,
+ "l3": 31457280
},
"cores": 2,
"family": "6",
- "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear",
+ "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt md_clear",
"governor": "",
"manufacturer": "Intel®",
- "model": "85",
+ "model": "63",
"physicalCores": 2,
"processors": 1,
"revision": "",
"socket": "",
- "speed": 2.6,
+ "speed": 2.4,
"speedMax": null,
"speedMin": null,
- "stepping": "7",
+ "stepping": "2",
"vendor": "GenuineIntel",
"virtualization": false,
"voltage": ""
},
"mem": {
- "total": 7281311744
+ "total": 7291699200
},
"osInfo": {
"arch": "x64",
@@ -42,11 +42,11 @@
"codename": "Focal Fossa",
"codepage": "UTF-8",
"distro": "Ubuntu",
- "kernel": "5.15.0-1022-azure",
+ "kernel": "5.8.0-1040-azure",
"logofile": "ubuntu",
"platform": "linux",
- "release": "20.04.5 LTS",
- "serial": "cb2c9040582e4276b4bc683d9e14354c",
+ "release": "20.04.3 LTS",
+ "serial": "cfc067bfcb844f35865e279a1b0e66c5",
"servicepack": "",
"uefi": false
} |
Nice thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diff looks good, waiting for the CI checks to complete.
Thanks!
ah the CI checks are still running, maybe there is some real issue underneath (timeout). |
Cancelling and restarting the checks. |
Doing one more full CI kick. |
cc @davidbrochart who might know if something needs to be updated to handle the latest |
So, I tried 0.4.0rc0 on the openSUSE Build Service with the same change as here and first thought I could not reproduce the hang form GitHub Actions, But then noticed that the pytest started to hang before the first test as soon as I had updated jupyter-client from 7.3.4 to 7.4.2. I suspect a non-returning test fixture. |
Pinning jupyter-client got rid of the hangs: https://github.com/bnavigator/voila/actions/runs/3268022596 That's not a viable solution but might lead us into the right direction. Ping @blink1073 |
Note there is a significant refactor in the the forthcoming |
https://build.opensuse.org/request/show/1029570 by user bnavigator + dimstar_suse - Bump to nbclient 0.7 (See also gh#voila-dashboards/voila#1234) - Remove import from vendorized mistune in nbconvert: not vendorized anymore
Thanks @bnavigator for the pointer, indeed the changes of The diff between the two version is very short (https://github.com/jupyter/jupyter_client/pull/852/files) but i can not find any clue from the diff. Ping @davidbrochart who might understand what happened here. |
I don't know, I see that @blink1073 backported a fix from the PR that removes nest-asyncio, that might have consequences. |
Based on the diff, I would suspect the handling of asyncio sockets in |
For the record, an update to jupyter_client 7.4.3 does not change anything here:
|
So skipping test_execute_output lets the rest of the test suite pass. I stepped through the test and it hangs somewhere here: abuild@skylab:~/rpmbuild/BUILD/voila-0.4.0rc0> pytest --trace tests/execute_output_test.py
===================================================== test session starts =====================================================
platform linux -- Python 3.10.7, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/abuild/rpmbuild/BUILD/voila-0.4.0rc0
plugins: anyio-3.5.0, rerunfailures-10.2, tornasync-0.6.0.post2
collected 1 item
tests/execute_output_test.py
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PDB runcall (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> /home/abuild/rpmbuild/BUILD/voila-0.4.0rc0/tests/execute_output_test.py(39)test_execute_output()
-> path = os.path.join(BASE_DIR, 'notebooks/output.ipynb')
(Pdb) n
> /home/abuild/rpmbuild/BUILD/voila-0.4.0rc0/tests/execute_output_test.py(40)test_execute_output()
-> nb = read(path, NO_CONVERT)
(Pdb) n
> /home/abuild/rpmbuild/BUILD/voila-0.4.0rc0/tests/execute_output_test.py(41)test_execute_output()
-> nb_voila = deepcopy(nb)
(Pdb) n
> /home/abuild/rpmbuild/BUILD/voila-0.4.0rc0/tests/execute_output_test.py(42)test_execute_output()
-> executenb(nb_voila)
(Pdb) s
--Call--
> /usr/lib/python3.10/site-packages/voila/execute.py(130)executenb()
-> def executenb(nb, cwd=None, km=None, **kwargs):
(Pdb) n
> /usr/lib/python3.10/site-packages/voila/execute.py(131)executenb()
-> resources = {}
(Pdb) n
> /usr/lib/python3.10/site-packages/voila/execute.py(132)executenb()
-> if cwd is not None:
(Pdb) n
> /usr/lib/python3.10/site-packages/voila/execute.py(135)executenb()
-> nb, resources = ClearOutputPreprocessor().preprocess(nb, resources)
(Pdb) n
> /usr/lib/python3.10/site-packages/voila/execute.py(136)executenb()
-> executor = VoilaExecutor(nb, km=km, **kwargs)
(Pdb) n
> /usr/lib/python3.10/site-packages/voila/execute.py(137)executenb()
-> return executor.execute(nb, resources, km=km)
(Pdb) s
--Call--
> /usr/lib/python3.10/site-packages/voila/execute.py(54)execute()
-> def execute(self, nb, resources, km=None):
(Pdb) n
> /usr/lib/python3.10/site-packages/voila/execute.py(55)execute()
-> try:
(Pdb) n
> /usr/lib/python3.10/site-packages/voila/execute.py(56)execute()
-> result = super(VoilaExecutor, self).execute()
(Pdb) s
--Call--
> /usr/lib/python3.10/site-packages/nbclient/util.py(84)wrapped()
-> def wrapped(*args, **kwargs):
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(85)wrapped()
-> return just_run(coro(*args, **kwargs))
(Pdb) s
--Call--
> /usr/lib/python3.10/site-packages/nbclient/util.py(40)just_run()
-> def just_run(coro: Awaitable) -> Any:
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(42)just_run()
-> try:
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(43)just_run()
-> loop = asyncio.get_running_loop()
(Pdb) n
RuntimeError: no running event loop
> /usr/lib/python3.10/site-packages/nbclient/util.py(43)just_run()
-> loop = asyncio.get_running_loop()
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(44)just_run()
-> except RuntimeError:
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(45)just_run()
-> loop = None
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(46)just_run()
-> if loop is None:
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(47)just_run()
-> had_running_loop = False
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(48)just_run()
-> loop = asyncio.new_event_loop()
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(49)just_run()
-> asyncio.set_event_loop(loop)
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(52)just_run()
-> if had_running_loop:
(Pdb) n
> /usr/lib/python3.10/site-packages/nbclient/util.py(60)just_run()
-> return loop.run_until_complete(coro)
(Pdb) n
### hang ### Maybe related to jupyter/nbclient#249, @davidbrochart ? |
41013b1
to
13bb3d8
Compare
Thanks a lot everyone for investigating! It looks like |
Does any of the |
7.4.3 does not. Checking 7.4.4 now.. Update: No. |
Still an issue with jupyter_client 7.4.8 |
cc. @bnavigator