rapidsai / jupyterlab-nvdashboard

A JupyterLab extension for displaying dashboards of GPU usage.
BSD 3-Clause "New" or "Revised" License
588 stars 77 forks source link

Dashboards fail to load when JupyterLab is not bound to 'localhost' #171

Open cornopaez opened 11 months ago

cornopaez commented 11 months ago

Hello all,

After doing a fresh install of JupyterLab and nvdashboard, I am unable to make them work correctly. Clicking on Machine Resources yields a 500 internal error whilst clicking on any of the other dashboards yields errors that read as follows:

Loading failed for the <script> with source “http://localhost:35671/static/js/bokeh.min.js?v=3ca6425586de5036dc01992dd69aa61e9196dd02619557cfaeb1b3d8b77adf724be49401b1168483d165494ce57a6daa16e6f6d3660fef117d45028221f86357”.
Loading failed for the <script> with source “http://localhost:35671/static/js/bokeh-gl.min.js?v=86638c55536f9ab267091dcc47ab0bad87af18a4f2e3b94489599a34f56e4b4ab164c32b6db4f58bd07878951ccf8d27c989d1c41c0eccacc70b94a283f95291”.
Loading failed for the <script> with source “http://localhost:35671/static/js/bokeh-widgets.min.js?v=eb1cfd8b7fe8603425819260489a92d46879e840b07eac63ac1467155b1b6cd56960325af5982ccc5a7e6ff61dc4d616376f462967ef3ec514165d0c44b95bec”.
Loading failed for the <script> with source “http://localhost:35671/static/js/bokeh-tables.min.js?v=1e9dbda6b63d0725a710fdd1fbdaf15761b42cfb948bf6ede7c663837fc7189b38451209d5f6efb00dd696dcab96981aa2f57e160852d9eb100a668175734dbc”.
Loading failed for the <script> with source “http://localhost:35671/static/js/bokeh-mathjax.min.js?v=69a5b3c86c83475752024a57ba4be61fa6cc799e7e90f6f69a111f817af8265360dd2bcd7be0467edd16b73b2f0e432c61a0149adca7ba7d78b6924be48cb566”.
Uncaught ReferenceError: Bokeh is not defined
    <anonymous> http://[ipv6:address:for:host]:8888/nvdashboard/GPU-Memory:22
Uncaught ReferenceError: Bokeh is not defined
    fn http://[ipv6:address:for:host]:8888/nvdashboard/GPU-Memory:34
    EventListener.handleEvent* http://[ipv6:address:for:host]:8888/nvdashboard/GPU-Memory:62
    <anonymous> http://[ipv6:address:for:host]:8888/nvdashboard/GPU-Memory:63

JupyterLab is not bound to localhost and it's bound only to IPv6 addresses of the host machine. Binding to * yields the same results and as does accessing the lab through IPv4.

I can see that the bokeh server is bound to * from the logs:

WARNING:bokeh.server.util:Host wildcard '*' will allow connections originating from multiple (or possibly all) hostnames or IPs. Use non-wildcard values to restrict access explicitly

However, there seems to be a disconnect between what the browser has as the address for the lab and what's being requested of the Bokeh server.

Does anyone have any insight as to what can be causing this?