Notebook client just started dying with JavaScript error

I have an installer that builds a venv, installs notebook, and runs a notebook. It’s been working for weeks, and has brought the notebook up in the default browser.

Nothing is pinned yet, so I get whatever the ‘newest’ stuff is, when I rebuild the venv (which is always), because I’m testing the installer. Just this weekend, it stopped working. Notebook server starts up fine, serves a page, and it’s empty. Whereas I used to see a bunch of stuff in the JS console, now I just have an error.

Here’s what I’m seeing. Where it seems to be dying is in this call o(958).

Specifically, it dies when executing the line highlighted here:

(Sigh, I’m only allowed one image, see “Image 2” in the next post.)

With the following error:

(Image 3)

The JS interpreter quits right after that line of code.

I have tried everything I can think of and/or find online for “notebook blank page” remediation and nothing has helped.

Is this a bug that was introduced recently? Or can anyone tell me what this particular call is trying to do , and/or why it is failing, and what in my environment might have changed to cause it?

Image 2:

Image 3:

Thank you for reporting this. I would encourage you to open an issue on Issues · jupyter/notebook · GitHub with more details (browser and version, operatying system, exact version of notebook package) - this will help to understand the issue better.

Kewl, thanks, will do.

Still writing the github ticket, but new info:

So, the notebook is blank with pip install notebook which was installing 7.0.3. pip install --force-reinstall "notebook==7.0.0" didn’t help.

pip install --force-reinstall -v "notebook>=6,<7" is picking up 6.5.5, and I get a notebook in the browser.

Pretty dang sure I was using 7.0.x ≪avant la débâcle≫, but the notebook module has a crapload of dependencies, so maybe one of those has changed or something?

In any case, it’s a workaround for the moment.

You seem to be on macOS. Perhaps related to these linked bugs?

Does the following help at all?

JUPYTER_PATH=/opt/homebrew/share/jupyter JUPYTER_CONFIG_PATH=/opt/homebrew/etc/jupyter jupyter notebook

Yes, MacOS. Still need to write all the OS/browser/Python details in the other ticket, then I’ll crosspost.

Thank you for these. That last one looks promising.

I have JUPYTER_CONFIG_PATH set in the script that builds and sources the venv, to the venv path, but not JUPYTER_PATH. Could be another source of issues.

Will advise.

… and perhaps see [Do Not Merge] Troubleshooting the Homebrew installs by RRosio · Pull Request #7006 · jupyter/notebook · GitHub for some data points about the interaction of this bug with venvs.

1 Like

Now that (this leg of) the Death March is over, I have some time to try and make a minimally reproducible example.

> bash -i
bash-3.2$ more JupyterBug.bash
which bash
uname -a
cd ~
pwd
mkdir JupyterTest
cd JupyterTest
ls -las
which python3.10
python3.10 -V
python3.10 -m venv notebook_venv
source notebook_venv/bin/activate
pip install --upgrade pip setuptools
pip list
pip install --force-reinstall "notebook==7.0.3"
pip list
/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' /Applications/Safari.app/Contents/Info.plist
open -a /Applications/Safari.app/Contents/MacOS/Safari 2> /dev/null &
jupyter-notebook &     # notebook comes up with blank page
sleep 20
jupyter notebook stop

I was able to reproduce the failure with this. Clearing the browser cache ended up letting it work, and I got a notebook page.

I was AFK much of last Friday and Saturday and I ran into this issue on Sunday, I believe. 7.0.3 dropped on… Thursday?

Perhaps something in browser cache that 7.0.2 was fine with but 7.0.3 wasn’t?

I can post my output for the script if this doesn’t explain, but I don’t know that it’s going to tell anyone anything about what was in cache…