You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter保存报错sqlite3.DatabaseError:数据库镜像损坏,求解及续算风险

问题

通过SSH连接两台由AFS共享存储的计算机,同时在两台设备上运行Jupyter Notebook,保存第一个笔记本时出现错误:Unexpected error while saving file: Untitled.ipynb database disk image is malformed。怀疑是对nbsignatures.db的并发写入导致,完整错误日志如下:

[W YYYY-MM-DD HH:MM:SS.SSS ServerApp] 500 PUT /api/contents/Untitled.ipynb?########## (127.0.0.1): Unexpected error while saving file: Untitled.ipynb database disk image is malformed
[W YYYY-MM-DD HH:MM:SS.SSS ServerApp] wrote error: 'Unexpected error while saving file: Untitled.ipynb database disk image is malformed'
    Traceback (most recent call last):
      File "/nobackup/username/env_name/lib/python3.10/site-packages/jupyter_server/services/contents/filemanager.py", line 911, in save
        self.check_and_sign(nb, path)
      File "/nobackup/username/env_name/lib/python3.10/site-packages/jupyter_server/services/contents/manager.py", line 713, in check_and_sign
        self.notary.sign(nb)
      File "/nobackup/username/env_name/lib/python3.10/site-packages/nbformat/sign.py", line 477, in sign
        self.store.store_signature(signature, self.algorithm)
      File "/nobackup/username/env_name/lib/python3.10/site-packages/nbformat/sign.py", line 214, in store_signature
        if not self.check_signature(digest, algorithm):
      File "/nobackup/username/env_name/lib/python3.10/site-packages/nbformat/sign.py", line 241, in check_signature
        r = self.db.execute(
    sqlite3.DatabaseError: database disk image is malformed
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/nobackup/username/env_name/lib/python3.10/site-packages/tornado/web.py", line 1786, in _execute
        result = await result
      File "/nobackup/username/env_name/lib/python3.10/site-packages/jupyter_server/services/contents/handlers.py", line 266, in put
        await self._save(model, path)
      File "/nobackup/username/env_name/lib/python3.10/site-packages/jupyter_server/services/contents/handlers.py", line 191, in _save
        model = await ensure_async(self.contents_manager.save(model, path))
      File "/nobackup/username/env_name/lib/python3.10/site-packages/jupyter_core/utils/__init__.py", line 189, in ensure_async
        result = await obj
      File "/nobackup/username/env_name/lib/python3.10/site-packages/jupyter_server/services/contents/largefilemanager.py", line 133, in save
        return await super().save(model, path)
      File "/nobackup/username/env_name/lib/python3.10/site-packages/jupyter_server/services/contents/filemanager.py", line 927, in save
        raise web.HTTPError(500, f"Unexpected error while saving file: {path} {e}") from e
    tornado.web.HTTPError: HTTP 500: Internal Server Error (Unexpected error while saving file: Untitled.ipynb database disk image is malformed)
[E YYYY-MM-DD HH:MM:SS.SSS ServerApp] {
      "Host": "localhost:8080",
      "Accept": "*/*",
      "Referer": "http://localhost:8080/notebooks/Untitled.ipynb",
      "User-Agent": "Mozilla/5.0 (OS; CPU; rv:##.0) Gecko/######## Firefox/###.0"
    }
[E YYYY-MM-DD HH:MM:SS.SSS ServerApp] 500 PUT /api/contents/Untitled.ipynb?########## (user_hash@127.0.0.1) ###.##ms referer=http://localhost:8080/notebooks/Untitled.ipynb

请问如何解决该问题?若我不保存该Jupyter Notebook,继续在其中进行计算是否会有问题?


解决方法

  • 删除损坏的签名数据库:找到nbsignatures.db文件(通常路径为~/.local/share/jupyter/nbsignatures.db),直接删除该文件。下次启动Jupyter时会自动重建新的数据库,可快速解决当前错误。
  • 禁用笔记本签名功能:在Jupyter配置文件(jupyter_server_config.py或jupyter_notebook_config.py)中添加以下配置,彻底关闭签名机制,从根源避免并发写入冲突:
    c.ContentsManager.signatures_enabled = False
    
    若没有配置文件,可执行jupyter server --generate-config生成后再修改。
  • 隔离签名数据库存储:确保两台机器的Jupyter使用独立的nbsignatures.db文件,不要将该文件放在AFS共享目录下。可通过设置环境变量JUPYTER_DATA_DIR指向本地目录,让Jupyter将数据文件存储在本地而非共享存储中。

不保存继续计算的风险

  • 短期计算不受影响:当前计算过程不会被保存错误干扰,Jupyter会将运行状态暂存于内存,只要服务器不重启、连接不中断,计算可正常进行。
  • 数据丢失风险极高:一旦出现网络中断、服务器崩溃、Jupyter进程意外退出等情况,所有未保存的代码、运行结果、变量都会直接丢失,无法恢复。
  • 工作进度无持久化记录:不保存的话,代码修改、分析步骤等内容没有持久化存储,后续回溯或继续工作会非常困难。

内容的提问来源于stack exchange,提问作者olivarb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:15:15