jupyter / jupyter/notebook

large number of sub-directories causes notebook to become unresponsive

Open
#4,575 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
13.3k
Forks
5.8k
Avg merge
6d 11h
Merged PRs (30d)
7

Description

When a jupyter notebook is launched from a directory with a large number of sub-directories the interface becomes unresponsive, to the point where a new notebook cannot be created.

For example:
```
cd test_dir
for i in {1..10000}; do mkdir -p sub_${i}; done
jupyter notebook
```

This behavior was observed on a linux system with Python 3.7.3 with the following packages installed via pip:

```
$ pip list
Package Version
----------------- --------
attrs 19.1.0
backcall 0.1.0
bleach 3.1.0
certifi 2019.3.9
decorator 4.4.0
defusedxml 0.6.0
entrypoints 0.3
ipykernel 5.1.0
ipython 7.4.0
ipython-genutils 0.2.0
jedi 0.13.3
Jinja2 2.10.1
jsonschema 3.0.1
jupyter-client 5.2.4
jupyter-core 4.4.0
MarkupSafe 1.1.1
mistune 0.8.4
nbconvert 5.4.1
nbformat 4.4.0
notebook 5.7.8
pandocfilters 1.4.2
parso 0.4.0
pexpect 4.7.0
pickleshare 0.7.5
pip 19.0.3
prometheus-client 0.6.0
prompt-toolkit 2.0.9
ptyprocess 0.6.0
Pygments 2.3.1
pyrsistent 0.14.11
python-dateutil 2.8.0
pyzmq 18.0.1
Send2Trash 1.5.0
setuptools 41.0.0
six 1.12.0
terminado 0.8.2
testpath 0.4.2
tornado 6.0.2
traitlets 4.3.2
wcwidth 0.1.7
webencodings 0.5.1
wheel 0.33.1
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue by creating 10,000 subdirectories in test_dir and launching jupyter notebook on Linux. Start by observing directory loading and the notebook interface, then identify the responsible area; done means the interface remains responsive and a new notebook can be created in a directory with many subdirectories.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter, jupyter-notebook, linux, python
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.