Skip to content

Cannot create a new notebook #997

@davidbrochart

Description

@davidbrochart

JupyterGIS version

0.9.2

Description

After a fresh install in a new environment, on Ubuntu 24.04/python 3.14, when I launch JupyterLab and create a notebook I get:

See logs
[I 2025-11-20 09:54:57.613 ServerApp] jupyter_lsp | extension was successfully linked.
[I 2025-11-20 09:54:57.616 ServerApp] jupyter_server_fileid | extension was successfully linked.
[I 2025-11-20 09:54:57.619 ServerApp] jupyter_server_terminals | extension was successfully linked.
[I 2025-11-20 09:54:57.622 ServerApp] jupyter_server_ydoc | extension was successfully linked.
[I 2025-11-20 09:54:57.622 ServerApp] jupytergis_core | extension was successfully linked.
[I 2025-11-20 09:54:57.622 ServerApp] jupytergis_qgis | extension was successfully linked.
[I 2025-11-20 09:54:57.626 ServerApp] jupyterlab | extension was successfully linked.
[I 2025-11-20 09:54:57.805 ServerApp] notebook_shim | extension was successfully linked.
[I 2025-11-20 09:54:57.816 ServerApp] notebook_shim | extension was successfully loaded.
[I 2025-11-20 09:54:57.817 ServerApp] jupyter_lsp | extension was successfully loaded.
[I 2025-11-20 09:54:57.817 FileIdExtension] Configured File ID manager: ArbitraryFileIdManager
[I 2025-11-20 09:54:57.817 FileIdExtension] ArbitraryFileIdManager : Configured root dir: /home/david/tmp/jupytergis
[I 2025-11-20 09:54:57.818 FileIdExtension] ArbitraryFileIdManager : Configured database path: /home/david/.local/share/jupyter/file_id_manager.db
[I 2025-11-20 09:54:57.818 FileIdExtension] ArbitraryFileIdManager : Successfully connected to database file.
[I 2025-11-20 09:54:57.818 FileIdExtension] ArbitraryFileIdManager : Creating File ID tables and indices with journal_mode = DELETE
[I 2025-11-20 09:54:57.818 FileIdExtension] Attached event listeners.
[I 2025-11-20 09:54:57.818 ServerApp] jupyter_server_fileid | extension was successfully loaded.
[I 2025-11-20 09:54:57.819 ServerApp] jupyter_server_terminals | extension was successfully loaded.
[I 2025-11-20 09:54:57.822 ServerApp] jupyter_server_ydoc | extension was successfully loaded.
[I 2025-11-20 09:54:57.823 ServerApp] jupytergis_core | extension was successfully loaded.
[I 2025-11-20 09:54:57.824 ServerApp] Registered jupytergis_qgis server extension
[I 2025-11-20 09:54:57.824 ServerApp] jupytergis_qgis | extension was successfully loaded.
[I 2025-11-20 09:54:57.826 LabApp] JupyterLab extension loaded from /home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyterlab
[I 2025-11-20 09:54:57.826 LabApp] JupyterLab application directory is /home/david/.local/share/mamba/envs/tmp-jupytergis/share/jupyter/lab
[I 2025-11-20 09:54:57.827 LabApp] Extension Manager is 'pypi'.
[I 2025-11-20 09:54:57.855 ServerApp] jupyterlab | extension was successfully loaded.
[I 2025-11-20 09:54:57.856 ServerApp] Serving notebooks from local directory: /home/david/tmp/jupytergis
[I 2025-11-20 09:54:57.856 ServerApp] Jupyter Server 2.17.0 is running at:
[I 2025-11-20 09:54:57.856 ServerApp] http://localhost:8888/lab?token=650fd3ffd7315c559cd99fa0d1b0c3f6e113fda63e2098ae
[I 2025-11-20 09:54:57.856 ServerApp]     http://127.0.0.1:8888/lab?token=650fd3ffd7315c559cd99fa0d1b0c3f6e113fda63e2098ae
[I 2025-11-20 09:54:57.856 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2025-11-20 09:54:58.187 ServerApp]

    To access the server, open this file in a browser:
        file:/home/david/.local/share/jupyter/runtime/jpserver-59351-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=650fd3ffd7315c559cd99fa0d1b0c3f6e113fda63e2098ae
        http://127.0.0.1:8888/lab?token=650fd3ffd7315c559cd99fa0d1b0c3f6e113fda63e2098ae
[I 2025-11-20 09:54:58.388 ServerApp] Skipped non-installed server(s): basedpyright, bash-language-server, dockerfile-language-server-nodejs, javascript-typescript-langserver, jedi-language-s
erver, julia-language-server, pyrefly, 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-11-20 09:55:03.268 LabApp] Build is up to date
[I 2025-11-20 09:55:06.043 ServerApp] Creating new notebook in
[I 2025-11-20 09:55:06.122 ServerApp] Request for Y document 'RTC:Untitled.ipynb' with room ID: 30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9
[I 2025-11-20 09:55:06.410 YDocExtension] Creating FileLoader for: RTC:Untitled.ipynb
[I 2025-11-20 09:55:06.412 YDocExtension] Watching file: RTC:Untitled.ipynb
[I 2025-11-20 09:55:06.417 ServerApp] Initializing room json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9
[E 2025-11-20 09:55:06.420 ServerApp] File RTC:Untitled.ipynb not found.
    HTTPError()
    Traceback (most recent call last):
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 244, in open
        await self.room.initialize()
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/rooms.py", line 111, in initialize
        model = await self._file.load_content(self._file_format, self._file_type)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/loaders.py", line 125, in load_content
        model = await ensure_async(
                ^^^^^^^^^^^^^^^^^^^
            self._contents_manager.get(self.path, format=format, type=file_type, content=True)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        )
        ^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_core/utils/__init__.py", line 214, in ensure_async
        result = await obj
                 ^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server/services/contents/filemanager.py", line 912, in get
        raise web.HTTPError(404, "No such file or directory: %s" % path)
    tornado.web.HTTPError: HTTP 404: Not Found (No such file or directory: RTC:Untitled.ipynb)
[E 2025-11-20 09:55:06.426 ServerApp] Failed to write message
    Traceback (most recent call last):
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 278, in send
        self.write_message(message, binary=True)
        ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 360, in write_message
        raise WebSocketClosedError()
    tornado.websocket.WebSocketClosedError
[I 2025-11-20 09:55:06.427 ServerApp] Deleting Y document from memory: json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9
[I 2025-11-20 09:55:06.428 ServerApp] Room json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9 deleted
[I 2025-11-20 09:55:06.428 ServerApp] Deleting file RTC:Untitled.ipynb
[E 2025-11-20 09:55:06.460 ServerApp] Uncaught exception GET /api/collaboration/room/json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9?sessionId=54268884-b9e9-445a-84f5-7e846f6fd882 (127.0.0
.1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/api/collaboration/room/json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9?sessionId=54268884-b9e9-445a-84f5-7
e846f6fd882', version='HTTP/1.1', remote_ip='127.0.0.1')
    Traceback (most recent call last):
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/web.py", line 1848, in _execute
        result = await result
                 ^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 220, in get
        return await super().get(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 277, in get
        await self.ws_connection.accept_connection(self)
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 890, in accept_connection
        await self._accept_connection(handler)
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 973, in _accept_connection
        await self._receive_frame_loop()
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 1130, in _receive_frame_loop
        self.handler.on_ws_connection_close(self.close_code, self.close_reason)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 599, in on_ws_connection_close
        self.on_connection_close()
        ~~~~~~~~~~~~~~~~~~~~~~~~^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 591, in on_connection_close
        self.on_close()
        ~~~~~~~~~~~~~^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 324, in on_close
        if isinstance(self.room, DocumentRoom) and self.room.clients == [self]:
                      ^^^^^^^^^
    AttributeError: 'YDocWebSocketHandler' object has no attribute 'room'
[I 2025-11-20 09:55:06.470 ServerApp] Kernel started: ea7154d6-bb45-4cdc-91a6-9802886c105c
[E 2025-11-20 09:55:06.473 YDocExtension] Jupyter Websocket Server:
      + Exception Group Traceback (most recent call last):
      |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/websocket_server.py", line 217, in start
      |     async with create_task_group() as self._task_group:
      |                ~~~~~~~~~~~~~~~~~^^
      |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/anyio/_backends/_asyncio.py", line 781, in __aexit__
      |     raise BaseExceptionGroup(
      |         "unhandled errors in a TaskGroup", self._exceptions
      |     ) from None
      | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
      +-+---------------- 1 ----------------
        | Exception Group Traceback (most recent call last):
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/yroom.py", line 226, in start
        |     async with create_task_group() as self._task_group:
        |                ~~~~~~~~~~~~~~~~~^^
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/anyio/_backends/_asyncio.py", line 781, in __aexit__
        |     raise BaseExceptionGroup(
        |         "unhandled errors in a TaskGroup", self._exceptions
        |     ) from None
        | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
        +-+---------------- 1 ----------------
          | Traceback (most recent call last):
          |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/rooms.py", line 206, in _broadcast_updates
          |     await super()._broadcast_updates()
          |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/yroom.py", line 148, in _broadcast_updates
          |     await self._task_group.start(self.ystore.start)
          |           ^^^^^^^^^^^^^^^^^^^^^^
          | AttributeError: 'NoneType' object has no attribute 'start'
          +------------------------------------
        |
        | During handling of the above exception, another exception occurred:
        |
        | Traceback (most recent call last):
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/yroom.py", line 239, in start
        |     await self.awareness.stop()
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt/_awareness.py", line 99, in stop
        |     raise RuntimeError("Awareness not started")
        | RuntimeError: Awareness not started
[I 2025-11-20 09:55:06.994 ServerApp] Connecting to kernel ea7154d6-bb45-4cdc-91a6-9802886c105c.
[W 2025-11-20 09:55:06.996 ServerApp] The websocket_ping_timeout (90000) cannot be longer than the websocket_ping_interval (30000).
    Setting websocket_ping_timeout=30000
[I 2025-11-20 09:55:06.998 ServerApp] Connecting to kernel ea7154d6-bb45-4cdc-91a6-9802886c105c.
[I 2025-11-20 09:55:07.002 ServerApp] Connecting to kernel ea7154d6-bb45-4cdc-91a6-9802886c105c.
[I 2025-11-20 09:55:07.004 YDocExtension] Creating FileLoader for: RTC:Untitled.ipynb
[I 2025-11-20 09:55:07.004 YDocExtension] Watching file: RTC:Untitled.ipynb
[I 2025-11-20 09:55:07.005 ServerApp] Initializing room json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9
[E 2025-11-20 09:55:07.005 ServerApp] File RTC:Untitled.ipynb not found.
    HTTPError()
    Traceback (most recent call last):
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 244, in open
        await self.room.initialize()
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/rooms.py", line 111, in initialize
        model = await self._file.load_content(self._file_format, self._file_type)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/loaders.py", line 125, in load_content
        model = await ensure_async(
                ^^^^^^^^^^^^^^^^^^^
            self._contents_manager.get(self.path, format=format, type=file_type, content=True)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        )
        ^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_core/utils/__init__.py", line 214, in ensure_async
        result = await obj
                 ^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server/services/contents/filemanager.py", line 912, in get
        raise web.HTTPError(404, "No such file or directory: %s" % path)
    tornado.web.HTTPError: HTTP 404: Not Found (No such file or directory: RTC:Untitled.ipynb)
[E 2025-11-20 09:55:07.006 ServerApp] Failed to write message
    Traceback (most recent call last):
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 278, in send
        self.write_message(message, binary=True)
        ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 360, in write_message
        raise WebSocketClosedError()
    tornado.websocket.WebSocketClosedError
[I 2025-11-20 09:55:07.006 ServerApp] Deleting Y document from memory: json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9
[I 2025-11-20 09:55:07.007 ServerApp] Room json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9 deleted
[I 2025-11-20 09:55:07.007 ServerApp] Deleting file RTC:Untitled.ipynb
[E 2025-11-20 09:55:07.008 ServerApp] Uncaught exception GET /api/collaboration/room/json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9?sessionId=54268884-b9e9-445a-84f5-7e846f6fd882 (127.0.0
.1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/api/collaboration/room/json:notebook:30d1c6ce-bd22-42bd-be14-96ad9b1bf2d9?sessionId=54268884-b9e9-445a-84f5-7
e846f6fd882', version='HTTP/1.1', remote_ip='127.0.0.1')
    Traceback (most recent call last):
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/web.py", line 1848, in _execute
        result = await result
                 ^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 220, in get
        return await super().get(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 277, in get
        await self.ws_connection.accept_connection(self)
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 890, in accept_connection
        await self._accept_connection(handler)
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 973, in _accept_connection
        await self._receive_frame_loop()
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 1130, in _receive_frame_loop
        self.handler.on_ws_connection_close(self.close_code, self.close_reason)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 599, in on_ws_connection_close
        self.on_connection_close()
        ~~~~~~~~~~~~~~~~~~~~~~~~^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/tornado/websocket.py", line 591, in on_connection_close
        self.on_close()
        ~~~~~~~~~~~~~^^
      File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/handlers.py", line 324, in on_close
        if isinstance(self.room, DocumentRoom) and self.room.clients == [self]:
                      ^^^^^^^^^
    AttributeError: 'YDocWebSocketHandler' object has no attribute 'room'
[E 2025-11-20 09:55:07.010 YDocExtension] Jupyter Websocket Server:
      + Exception Group Traceback (most recent call last):
      |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/websocket_server.py", line 217, in start
      |     async with create_task_group() as self._task_group:
      |                ~~~~~~~~~~~~~~~~~^^
      |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/anyio/_backends/_asyncio.py", line 781, in __aexit__
      |     raise BaseExceptionGroup(
      |         "unhandled errors in a TaskGroup", self._exceptions
      |     ) from None
      | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
      +-+---------------- 1 ----------------
        | Exception Group Traceback (most recent call last):
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/yroom.py", line 226, in start
        |     async with create_task_group() as self._task_group:
        |                ~~~~~~~~~~~~~~~~~^^
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/anyio/_backends/_asyncio.py", line 781, in __aexit__
        |     raise BaseExceptionGroup(
        |         "unhandled errors in a TaskGroup", self._exceptions
        |     ) from None
        | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
        +-+---------------- 1 ----------------
          | Traceback (most recent call last):
          |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/jupyter_server_ydoc/rooms.py", line 206, in _broadcast_updates
          |     await super()._broadcast_updates()
          |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/yroom.py", line 148, in _broadcast_updates
          |     await self._task_group.start(self.ystore.start)
          |           ^^^^^^^^^^^^^^^^^^^^^^
          | AttributeError: 'NoneType' object has no attribute 'start'
          +------------------------------------
        |
        | During handling of the above exception, another exception occurred:
        |
        | Traceback (most recent call last):
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt_websocket/yroom.py", line 239, in start
        |     await self.awareness.stop()
        |   File "/home/david/.local/share/mamba/envs/tmp-jupytergis/lib/python3.14/site-packages/pycrdt/_awareness.py", line 99, in stop
        |     raise RuntimeError("Awareness not started")
        | RuntimeError: Awareness not started

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions