kpeeters / cadabra2

A field-theory motivated approach to computer algebra.
https://cadabra.science/
GNU General Public License v3.0
228 stars 37 forks source link

Jupyter Kernel warning on saving/autosaving: "Notebook validation failed: None is not of type 'object': null" #141

Closed lgtrombetta closed 5 years ago

lgtrombetta commented 5 years ago

Either when saving manually or with autosave, the following warning comes up:

"Notebook validation failed: None is not of type 'object': null"

The saving goes through anyway.

kpeeters commented 5 years ago

Does that still happen with the current version on github?

lgtrombetta commented 5 years ago

I just built from scratch from the current version and this still happens.

kpeeters commented 5 years ago

Can you attach a sample notebook that produces this error?

lgtrombetta commented 5 years ago

Apparently as soon as there is output, the warning appears while saving. Something as simple as executing

F_{\mu\nu}::AntiSymmetric;

will do.

kpeeters commented 5 years ago

I can't reproduce that with the current github master. I fixed a bug that caused this a while ago. I suspect that you are running an older kernel when this happens. The cadabra cloud runs the last jupyter kernel and this problem does not arise there either.

lgtrombetta commented 5 years ago

Hi again.

So I did some more tests and I found out that the notebooks giving me this warning were generated with an older build (only a few weeks old). The warning shows even when using the latest build with those notebooks. I noticed that in them the output text from previous runs is missing. If I rerun all cells to regenerate the output then it saves fine from that point onwards.

New notebooks created with the latest version are ok.

I still have the old build on a different computer, so if you want I can send you a notebook generated with it for testing. However, I agree that the new version does not produce this problem anymore.

Sorry for the noise.

lgtrombetta commented 5 years ago

test.zip

kpeeters commented 5 years ago

There is nothing I can do to change those old notebooks apart from asking you to re-run them with the new kernel (the kernel never gets to see the notebook, only individual cells when jupyter decides to feed them to the kernel, so I cannot let cadabra re-format those notebooks by itself). I'll close this one, but thanks anyway for reporting.

lgtrombetta commented 5 years ago

Sure. Thanks.