TypeError: Notebook “@martien/gridder” failed to load

Fairly often, I get this error, specifically with this notebook. Wonder why and wonder how to fix it.

Any help appreciated.

1 Like

What error do you see in your developer tools console?

Have to check when back home later today. On the road right now, without access to a console.

Back home. Everything works fine right now. I’ll be alert and check and share the console messages as soon as it happens again.

Thanks for the quick reply.

I’ve seen similar a few times recently. Console always shows CORS error. Then it resolves later, like magic. Cannot reproduce.

In my experience it’s service providers who are to blame for these issues. E.g., I recently came across a case where Xfinity’s safebrowse “protection” would serve corsproxy.io with an invalid certificate.

The best you can likely do is to open the URL in question directly in a new tab and check if it is marked as secure.

Gotcha! Happened again just now. Sometimes, reloading the page doesn’t fix it. Explicitly running the import cell again does.

Console says:

[Error] Error while parsing the 'sandbox' attribute: 'allow-downloads' is an invalid sandbox flag.
Failed to load resource: Origin https://martien.static.observableusercontent.com is not allowed by Access-Control-Allow-Origin. Status code: 400
[Error] WebSocket connection to 'wss://ws.observablehq.com/document/44cb14c89e3df01a/edit' failed: The operation couldn’t be completed. Socket is not connected (x2)

1 Like

I think that both the “Error while parsing the ‘sandbox’ attribute…” and the “Origin…is not allowed” are red herrings. The sandbox error is only a warning that shows up on Safari (?). The CORS error happens because there was some kind of error that is being returned and the response is not well-formed. The real issue is the “Bad Request” error (400) on the request which requires further investigation. It could be in some cases due to an expired credential, not sure though.

Hi Wiltse, thanks for your reply. So there is nothing I can do and it is here to stay? I’ve only see this with the import of @martien/gridder.

I think we should definitely work to get to the bottom of this, I was just putting comments in for starting us off. I think if you have more context, like when this happens or how often, which browser you are using, whether there is anything unusual about how the imports work on this notebook etc., that would be helpful. We will continue to look on our end and try and see where we can add more logging or otherwise improve the error details to see if that gives us more clues as to why this is failing.

1 Like

I suspect network error, maybe that notebook is bigger than most or has more attachments that make it likelier to fail?
If that were true then simulating a decrease in network reliability How to perform Network Throttling in Chrome | BrowserStack should increase failure rate.

I have a long tail of notebook errors I pickup in sentry that are hard to explain beyond general flakiness when resolving network requests.

I’m working on a theory of this failure mode. I believe that what is happening is that the notebook that is running in an iframe on the page is being reloaded from some stale data. This could be a bug in Observable, but I’m wondering if this could be due to something in the browser. For those that have seen this error, are you using Safari tab groups with Observable notebooks? Perhaps the restoration of a tab group is part of the failure mode?

Chrome. I thought I hit this again today but had another error that was also breaking things and didn’t get a screenshot. The size of the notebooks may be a factor.

Happens once a week or so.
Running Safari on iMac and iPad Pro.
iPadOS 10.15.6 + Safari 15.5
macOS Monterey 12.4+ Safari 15.5.
Occasionally use Chrome and Firefox to test.
Sometimes using tab groups. Only recently starting to use them sparingly. Problem has been showing itself without using tab groups.

Have seen it only with Gridder / Martien van Steenbergen / Observable (unlisted) (v1746); does not import other notebooks (leaf).

Please let me know what other info you may need, what I can do to test or experiment.