Single-user server:
[I 2025-03-03 14:40:36.319 ServerApp] Extension package jupyter_lsp took 0.4795s to import
[I 2025-03-03 14:40:44.028 ServerApp] Extension package jupyter_server_terminals took 7.7082s to import
[I 2025-03-03 14:40:44.506 ServerApp] Extension package jupyterlab took 0.4764s to import
[I 2025-03-03 14:40:51.552 ServerApp] jupyter_lsp | extension was successfully linked.
[I 2025-03-03 14:40:51.562 ServerApp] jupyter_server_terminals | extension was successfully linked.
[I 2025-03-03 14:40:51.563 JupyterHubSingleUser] Starting jupyterhub single-user server extension version 5.2.1
[I 2025-03-03 14:40:51.563 JupyterHubSingleUser] Using default url from server extension lab: /lab
[I 2025-03-03 14:40:51.569 ServerApp] jupyterhub | extension was successfully linked.
[W 2025-03-03 14:40:51.573 LabApp] 'extra_template_paths' was found in both NotebookApp and ServerApp. This is likely a recent change. This config will only be set in NotebookApp. Please check if you should also config these traits in ServerApp for your purpose.
[I 2025-03-03 14:40:51.579 ServerApp] jupyterlab | extension was successfully linked.
[I 2025-03-03 14:40:59.273 ServerApp] notebook_shim | extension was successfully linked.
[I 2025-03-03 14:40:59.686 ServerApp] notebook_shim | extension was successfully loaded.
[I 2025-03-03 14:40:59.691 ServerApp] jupyter_lsp | extension was successfully loaded.
[I 2025-03-03 14:40:59.694 ServerApp] jupyter_server_terminals | extension was successfully loaded.
[I 2025-03-03 14:40:59.739 JupyterHubSingleUser] Updating Hub with activity every 300 seconds
[I 2025-03-03 14:40:59.739 ServerApp] jupyterhub | extension was successfully loaded.
[I 2025-03-03 14:40:59.775 LabApp] JupyterLab extension loaded from /data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterlab
[I 2025-03-03 14:40:59.775 LabApp] JupyterLab application directory is /data/software/mamba/24.11.3-0/envs/jupyterhub/share/jupyter/lab
[I 2025-03-03 14:40:59.782 LabApp] Extension Manager is 'pypi'.
[I 2025-03-03 14:41:01.177 ServerApp] jupyterlab | extension was successfully loaded.
[I 2025-03-03 14:41:01.179 ServerApp] Serving notebooks from local directory: /data/home/testuser
[I 2025-03-03 14:41:01.179 ServerApp] Jupyter Server 2.15.0 is running at:
[I 2025-03-03 14:41:01.179 ServerApp] http://cn13.cluster.loc:47576/user/testuser/lab?token=...
[I 2025-03-03 14:41:01.179 ServerApp] http://127.0.0.1:47576/user/testuser/lab?token=...
[I 2025-03-03 14:41:01.179 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 2025-03-03 14:41:02.329 ServerApp] Skipped non-installed server(s): bash-language-server, dockerfile-language-server-nodejs, javascript-typescript-langserver, jedi-language-server, julia-language-server, pyright, python-language-server, python-lsp-server, r-languageserver, sql-language-server, texlab, typescript-language-server, unified-language-server, vscode-css-languageserver-bin, vscode-html-languageserver-bin, vscode-json-languageserver-bin, yaml-language-server
[I 2025-03-03 14:41:05.207 ServerApp] 200 GET /user/testuser/api (@192.168.1.253) 1.94ms
[I 2025-03-03 14:41:05.564 ServerApp] 302 GET /user/testuser/ -> /user/testuser/lab? (@10.51.1.234) 0.88ms
[I 2025-03-03 14:41:05.599 ServerApp] 302 GET /user/testuser/lab -> /hub/api/oauth2/authorize?client_id=jupyterhub-user-testuser&redirect_uri=%2Fuser%2Ftestuser%2Foauth_callback&response_type=code&state=[secret] (@10.51.1.234) 3.01ms
[I 2025-03-03 14:41:06.166 ServerApp] Logged-in user testuser
[I 2025-03-03 14:41:06.167 ServerApp] Setting new xsrf cookie for b'3b936d731d7d44efa35a49d25f8dc8bf:cff5786fee5cc4146b6985275b68ab72e7e15f11d379886e8933d025d22ca679' {'path': '/user/testuser/'}
[E 2025-03-03 14:41:06.169 ServerApp] Uncaught exception GET /user/testuser/oauth_callback?code=TjrW8nHDemaMdNvLLcty4RMCU1FBU8&state=cdYsk3XGok16H3RIn7BuPw (10.51.1.234)
HTTPServerRequest(protocol='https', host='192.168.97.161', method='GET', uri='/user/testuser/oauth_callback?code=TjrW8nHDemaMdNvLLcty4RMCU1FBU8&state=cdYsk3XGok16H3RIn7BuPw', version='HTTP/1.1', remote_ip='10.51.1.234')
Traceback (most recent call last):
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1790, in _execute
result = await result
^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/singleuser/extension.py", line 102, in get
return await super().get()
^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 1617, in get
self.redirect(next_url or self.hub_auth.base_url)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 895, in redirect
self.finish()
~~~~~~~~~~~^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1240, in finish
self._log()
~~~~~~~~~^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1823, in _log
self.application.log_request(self)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 2339, in log_request
self.settings["log_function"](handler)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/log.py", line 160, in log_request
user = handler.current_user
^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1424, in current_user
self._current_user = self.get_current_user()
~~~~~~~~~~~~~~~~~~~~~^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 1498, in get_current_user
self._hub_auth_user_cache = self.check_hub_user(user_model)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 1425, in check_hub_user
if self.allow_all:
^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 1354, in allow_all
self.hub_scopes is None
^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 1346, in hub_scopes
return self.hub_auth.access_scopes or None
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 687, in __get__
return t.cast(G, self.get(obj, cls)) # the G should encode the Optional
~~~~~~~~^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 635, in get
default = obj.trait_defaults(self.name)
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 1897, in trait_defaults
return t.cast(Sentinel, self._get_trait_default_generator(names[0])(self))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 1241, in __call__
return self.func(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 510, in _default_scopes
return set(json.loads(env_scopes))
~~~~~~~~~~^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/decoder.py", line 363, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
[E 2025-03-03 14:41:06.528 ServerApp] Cannot send error response after headers written
[I 2025-03-03 14:41:06.528 ServerApp] 302 GET /user/testuser/oauth_callback?code=[secret]&state=[secret] -> /user/testuser/lab (@10.51.1.234) 735.01ms
[E 2025-03-03 14:41:06.530 ServerApp] Uncaught exception GET /user/testuser/lab (10.51.1.234)
HTTPServerRequest(protocol='https', host='192.168.97.161', method='GET', uri='/user/testuser/lab', version='HTTP/1.1', remote_ip='10.51.1.234')
Traceback (most recent call last):
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1769, in _execute
result = await result # type: ignore
^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 624, in prepare
_user = await _user
^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/singleuser/extension.py", line 176, in get_user
f"Checking user {user['name']} with scopes {user['scopes']} against {self.hub_auth.access_scopes}"
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 687, in __get__
return t.cast(G, self.get(obj, cls)) # the G should encode the Optional
~~~~~~~~^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 635, in get
default = obj.trait_defaults(self.name)
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 1897, in trait_defaults
return t.cast(Sentinel, self._get_trait_default_generator(names[0])(self))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 1241, in __call__
return self.func(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 510, in _default_scopes
return set(json.loads(env_scopes))
~~~~~~~~~~^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/decoder.py", line 363, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
[E 2025-03-03 14:41:06.723 ServerApp] Uncaught exception in write_error
Traceback (most recent call last):
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1769, in _execute
result = await result # type: ignore
^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 624, in prepare
_user = await _user
^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/singleuser/extension.py", line 176, in get_user
f"Checking user {user['name']} with scopes {user['scopes']} against {self.hub_auth.access_scopes}"
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 687, in __get__
return t.cast(G, self.get(obj, cls)) # the G should encode the Optional
~~~~~~~~^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 635, in get
default = obj.trait_defaults(self.name)
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 1897, in trait_defaults
return t.cast(Sentinel, self._get_trait_default_generator(names[0])(self))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/traitlets/traitlets.py", line 1241, in __call__
return self.func(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyterhub/services/auth.py", line 510, in _default_scopes
return set(json.loads(env_scopes))
~~~~~~~~~~^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/json/decoder.py", line 363, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/extension/handler.py", line 29, in get_template
template = cast(Template, self.settings[env].get_template(name)) # type:ignore[attr-defined]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/environment.py", line 1016, in get_template
return self._load_template(name, globals)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/environment.py", line 975, in _load_template
template = self.loader.load(self, name, self.make_globals(globals))
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/loaders.py", line 126, in load
source, filename, uptodate = self.get_source(environment, name)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/loaders.py", line 209, in get_source
raise TemplateNotFound(
...<2 lines>...
)
jinja2.exceptions.TemplateNotFound: '500.html' not found in search path: '/data/software/mamba/24.11.3-0/envs/jupyterhub/share/jupyter/lab/static'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 740, in write_error
html = self.render_template("%s.html" % status_code, **ns)
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/extension/handler.py", line 93, in render_template
template = cast(Template, self.get_template(name)) # type:ignore[attr-defined]
~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/extension/handler.py", line 32, in get_template
return cast(Template, super().get_template(name)) # type:ignore[misc]
~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 662, in get_template
return self.settings["jinja2_env"].get_template(name)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/environment.py", line 1016, in get_template
return self._load_template(name, globals)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/environment.py", line 975, in _load_template
template = self.loader.load(self, name, self.make_globals(globals))
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/loaders.py", line 126, in load
source, filename, uptodate = self.get_source(environment, name)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jinja2/loaders.py", line 209, in get_source
raise TemplateNotFound(
...<2 lines>...
)
jinja2.exceptions.TemplateNotFound: '500.html' not found in search paths: '/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server', '/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/templates'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1298, in send_error
self.write_error(status_code, **kwargs)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 742, in write_error
html = self.render_template("error.html", **ns)
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/extension/handler.py", line 94, in render_template
ns.update(self.template_namespace) # type:ignore[attr-defined]
^^^^^^^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 676, in template_namespace
logged_in=self.logged_in,
^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 199, in logged_in
user = self.current_user
^^^^^^^^^^^^^^^^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/tornado/web.py", line 1424, in current_user
self._current_user = self.get_current_user()
~~~~~~~~~~~~~~~~~~~~~^^
File "/data/software/mamba/24.11.3-0/envs/jupyterhub/lib/python3.13/site-packages/jupyter_server/base/handlers.py", line 178, in get_current_user
raise RuntimeError(msg)
RuntimeError: Calling `LabHandler.get_current_user()` directly is deprecated in jupyter-server 2.0. Use `self.current_user` instead (works in all versions).
[E 2025-03-03 14:41:06.874 ServerApp] {
"X-Forwarded-Host": "192.168.97.161",
"X-Forwarded-Proto": "https",
"X-Forwarded-Port": "443",
"X-Forwarded-For": "10.51.1.234",
"Priority": "u=4",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Dest": "document",
"Upgrade-Insecure-Requests": "1",
"Cookie": "jupyterhub-user-testuser=[secret]; _xsrf=[secret]; jupyterhub-session-id=[secret]",
"Connection": "keep-alive",
"Referer": "https://192.168.97.161/hub/spawn",
"Accept-Encoding": "gzip, deflate, br, zstd",
"Accept-Language": "en-US,en;q=0.5",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:135.0) Gecko/20100101 Firefox/135.0",
"Host": "192.168.97.161"
}
[E 2025-03-03 14:41:06.874 ServerApp] 500 GET /user/testuser/lab (@10.51.1.234) 344.79ms
Sorry, I had to split the response into two separate messages because I hit the maximum word limit.