Livebook kino explorer throws error rendering dataframe

Hi friends,

I’ve set up a docker instance with the latest livebook v0.9.1 image and I’ve run into an error when creating an explorer dataframe.

I expect the smartcell to render below the code, but the console throws this error:

app.js:2 Uncaught (in promise) Error: The loaded iframe content doesn't have the expected checksum

Here is a screen cap of the problem

I also stood up a new livebook instace on fly.io and interestingly that crashes when trying to install explorer. Not sure how related this is.

Any ideas how I can try to debug this before I create an issue?

1 Like

It’s not a problem with the dataset, just generating a simple DF also errors

1 Like

There should be an iframe in the page, where the output is expected. Can you find it using the browser inspector and access its src? Where does it point to? I am also wondering if you have an extension that could be modifying the iframe. Can you try in incognito mode?

1 Like

You can also use Livebook itself to validate the iframe signature. Add :req as a dependency and then:

resp = Req.get!("https://livebookusercontent.com/iframe/v4.html")
Base.encode64 :crypto.hash :sha256, req.body

Livebook expects it to be: vd7g1B8fLBFZH6C6KNpG4H8B0SQ/oIuqKaTW6jD053A=

But please check you are indeed downloading that iframe. :slight_smile:

1 Like

Unfortunately incognito doesn’t make a difference.

It seems there are no iframe elements in the document?

The only reference I find to them in the source is in the cell that raises the error:

<div id="js-output-fkohxozn4bdhb7tonmpvgmtutdsjns3e-fkohxozn4bdhb7tonmpvgmtutdsjns3e" phx-hook="JSView" phx-update="ignore" data-ref="fkohxozn4bdhb7tonmpvgmtutdsjns3e" data-assets-base-path="/public/sessions/qfg6hzynirtsrajrafs5wgabng4uk27tmel54eqf/assets/fqenfgef7b2d3vq54jl42hh4ma/" data-js-path="main.js" data-session-token="SFMyNTY.g2gDdAAAAAJkAAljbGllbnRfaWRtAAAAIDJmZGtsaGg0bTJqbTZneDdpeWNyaGVmNnR2a3F2M3Z6ZAAKc2Vzc2lvbl9pZG0AAAAocWZnNmh6eW5pcnRzcmFqcmFmczV3Z2Fibmc0dWsyN3RtZWw1NGVxZm4GAEkfEnqHAWIAAVGA.jOpp23h5kbVYv1-oLyRsYlKKEMeLY4G5d3LGpHtxnjs" data-connect-token="SFMyNTY.g2gDdAAAAAFkAANwaWRYZAAlZDIydnJ5cmYtbGl2ZWJvb2tfc2VydmVyQHBkcHN0cmFja2luZwAAB8UAAAAAZDfRg24GAEkfEnqHAWIAAVGA.G-aGQIXA87QUfBUfM4PnM0Q2ZhDHVtprhgWwdwTSW28" data-iframe-local-port="8081" data-timeout-message="Not available" data-phx-component="19">
<div></div><input style="display: none;"></div>

I found the problem, it had to do with my having previously set up a netsh interface portproxy forwarding to 8080 in WSL that I forgot all about.

This was obviously interrupting the iframe creation in the livebook.

Deleting the forwarding solved the issue.

Apologies for the XY problem.

2 Likes