Skip to content
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

Cannot get lock on nbsignatures.db on NFS mounts #356

Closed
maahn opened this issue Aug 20, 2019 · 2 comments
Closed

Cannot get lock on nbsignatures.db on NFS mounts #356

maahn opened this issue Aug 20, 2019 · 2 comments

Comments

@maahn
Copy link

maahn commented Aug 20, 2019

First, thanks for sharing this great project!

I have trouble running voila on our server where the user directory are on an NFS mount. After reloading the notebooks a couple of times, I get:

ERROR:tornado.application:Uncaught exception GET / (10.173.82.189)
HTTPServerRequest(protocol='http', host='linux256:8866', method='GET', uri='/', version='HTTP/1.1', remote_ip='10.173.82.189')
Traceback (most recent call last):
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/tornado/web.py", line 1699, in _execute
    result = await result
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/tornado/gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/voila/handler.py", line 49, in get
    notebook = yield self.load_notebook(notebook_path)
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/voila/handler.py", line 98, in load_notebook
    model = self.contents_manager.get(path=path)
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/jupyter_server/services/contents/filemanager.py", line 387, in get
    model = self._notebook_model(path, content=content)
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/jupyter_server/services/contents/filemanager.py", line 346, in _notebook_model
    self.mark_trusted_cells(nb, path)
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/jupyter_server/services/contents/manager.py", line 503, in mark_trusted_cells
    trusted = self.notary.check_signature(nb)
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/nbformat/sign.py", line 439, in check_signature
    return self.store.check_signature(signature, self.algorithm)
  File "/home/myuser/miniconda3/lib/python3.7/site-packages/nbformat/sign.py", line 232, in check_signature
    """, (algorithm, digest)).fetchone()
sqlite3.OperationalError: disk I/O error
ERROR:tornado.general:Could not open static file '/base/images/favicon.ico'
ERROR:tornado.general:Could not open static file '/style/style.min.css'
ERROR:tornado.access:500 GET / (10.173.82.189) 213.65ms

Looking at the code, it appears that voila has trouble with opening ~/.local/share/jupyter/nbsignatures.db
which has been an issue on NFS mounts for Jupyter before (e.g. jupyter/jupyter#174 (comment))

Forcing voila to use another data_dir with e.g. export JUPYTER_PATH=/tmp/jupyter didn't work.

Thanks

@jtpio
Copy link
Member

jtpio commented Jan 27, 2020

Voila is built on top of Jupyter Server and most likely inherit this issue from it.

Is this still an issue with the latest version? Or have you found a solution in the meantime?

@maartenbreddels
Copy link
Member

I'm hoping this is solved, but indeed, I don't think this is a voila issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants