Skip to content

nbdiff-web gets stuck on particular input #787

@jamesb6626

Description

@jamesb6626

I am running nbdime version 4.0.2, on python 3.13.3, in a virtual environment where I have installed nbdime and jupyterlab through pip.

The nbdiff-web tool refused to produce a full diff on a particular pair of notebooks. It produced a diff up to a certain point, but ignored everything past a certain offending cell, instead getting stuck and showing a spinning loading indicator. I should note here that the terminal-based nbdiff does not have the same problem, and gives a correct diff.

I've stripped down the offending files as much as I could while still reproducing the problem, hopefully this helps to identify the problem.

Steps to reproduce: Paste the contents cell-by-cell into fresh jupyterlab python notebooks, then run nbdiff-web File1.ipynb File2.ipynb. Only the first cell gets a correct diff.
Seemingly only the second cell in each causes a problem, though I've included the extra ones for demonstration.

Cells of File1.ipynb (2 cells, though first can be deleted and still reproduces):

This Works
# Offending Cell:
    - np.array([1, 0])[:, None, None]
Shared Line

Cells of File2.ipynb (3 cells, though first and last can be deleted and still reproduces):

This Too
# Offending Cell:
    - np.array([1, 0])[:, *(None,)*xs.ndim]
Shared Line

another line
Uh oh, no diff for cells after the problem

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions