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