Notebook fails with NFS mounted home, and LockD not available

I have been attempting to create a jupyter lab image in a multi-user environment.
This required the users home to be mounted from NFS.

Basically Jupyter lab runs fine, (jupyter docker stacks, “minimal-notebook”) but as soon as user tries to start a notebook (with ipykernel) the web service locks up and stops responding.

It is NOT a UID/GID permissions problem, and after a lot of checking and trials I finally discovered I was getting the following error
kernel: lockd: cannot monitor storage.*domain*

I have no control over the NFS provision, but if I can determine what lockfile is involved (must be in a ‘dot’ sub-directory of the users home). I can figure something out.

Any suggestions or info welcome.

Hi @AntOfThy. This sparked my interest and did a search in the ipython GitHub org and found this issue: [TerminalIPythonApp] ERROR | Failed to open SQLite history · Issue #11893 · ipython/ipython · GitHub

Although not included in the issue’s discussion, you might try configuring the history DB as “in-memory” using c.HistoryManager.hist_file=:memory:, per the config’s help string, at least to see if you get farther. Rather than using the command line, since this is the ipykernel, you would probably include this in a configuration file for the kernel. I can’t recall how ipykernel config works, but that might get you going. My hunch is that this is indeed related to sqlite and not general filesystem reads (like configuration files).

I hope that helps.

2 Likes

YES! YES! YES!

Thank you very much for the pointer… Adding c.HistoryManager.hist_file=":memory:" to the users configuration file resolved the
problem.

I have been hitting this problem on and off for the past 3 years! It was only this latest approach that I was finally able to trace it to the NFS mount, and then to the lockd error.

Kudos’s to you for pointing out the cause. Thank you!

1 Like

Right on - glad to help!