finos / perspective

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
https://perspective.finos.org/
Apache License 2.0
7.72k stars 1.04k forks source link

Uncaught (in promise) RuntimeError: unreachable after update from 2.10.0 to 2.10.1 #2635

Closed markhalonen closed 2 weeks ago

markhalonen commented 2 weeks ago

Upgrading to 2.10.1 from 2.10.0 causes this error:

Uncaught (in promise) RuntimeError: unreachable
    at 008eef22:0x1be27e
    at 008eef22:0x1ecfdf
    at 008eef22:0x1f470e
    at 008eef22:0x1ebebe
    at 008eef22:0x1e92ad
    at 008eef22:0x892df
    at 008eef22:0xe5bbd
    at 008eef22:0xdf360
    at 008eef22:0xf68a3
    at 008eef22:0x11ea35
$func6931 @ 008eef22:0x1be27e
$func10956 @ 008eef22:0x1ecfdf
$func12229 @ 008eef22:0x1f470e
$func10720 @ 008eef22:0x1ebebe
$func10263 @ 008eef22:0x1e92ad
$func536 @ 008eef22:0x892df
$func1161 @ 008eef22:0xe5bbd
$func1096 @ 008eef22:0xdf360
$func1355 @ 008eef22:0xf68a3
$func1945 @ 008eef22:0x11ea35
$func1047 @ 008eef22:0xd9f25
$func1330 @ 008eef22:0xf489b
$__wbindgen_export_9 @ 008eef22:0x1e8f59
Ne @ @finos_perspective-viewer.js?v=76201722:261
s @ @finos_perspective-viewer.js?v=76201722:205
Promise.then (async)
n.wbg.__wbg_then_f7e06ee3c11698eb @ @finos_perspective-viewer.js?v=76201722:1636
$func4537 @ 008eef22:0x18abf3
$func7704 @ 008eef22:0x1cb197
$func3789 @ 008eef22:0x173558
$func3730 @ 008eef22:0x17133c
$__wbindgen_export_12 @ 008eef22:0x1e873f
Ie @ @finos_perspective-viewer.js?v=76201722:308
o @ @finos_perspective-viewer.js?v=76201722:1622
n.wbg.__wbg_new_43f1b47c28813cbd @ @finos_perspective-viewer.js?v=76201722:1627
$func12646 @ 008eef22:0x1f5cea
$func4226 @ 008eef22:0x1817b4
$func8261 @ 008eef22:0x1d32cd
$func9133 @ 008eef22:0x1deb10
$func1430 @ 008eef22:0xfc529
$func634 @ 008eef22:0x9ec34
$perspectiveviewerelement_new @ 008eef22:0x1dd603
k @ @finos_perspective-viewer.js?v=76201722:517
__load_wasm @ @finos_perspective-viewer.js?v=76201722:1993
await in __load_wasm (async)
E @ @finos_perspective-viewer.js?v=76201722:1990
createElement @ chunk-6RMSORBS.js?v=2a9e43d4:7511
createInstance @ chunk-6RMSORBS.js?v=2a9e43d4:8347
completeWork @ chunk-6RMSORBS.js?v=2a9e43d4:16279
completeUnitOfWork @ chunk-6RMSORBS.js?v=2a9e43d4:19220
performUnitOfWork @ chunk-6RMSORBS.js?v=2a9e43d4:19202
workLoopSync @ chunk-6RMSORBS.js?v=2a9e43d4:19133
renderRootSync @ chunk-6RMSORBS.js?v=2a9e43d4:19112
performConcurrentWorkOnRoot @ chunk-6RMSORBS.js?v=2a9e43d4:18674
workLoop @ chunk-6RMSORBS.js?v=2a9e43d4:197
flushWork @ chunk-6RMSORBS.js?v=2a9e43d4:176
performWorkUntilDeadline @ chunk-6RMSORBS.js?v=2a9e43d4:384

we are using Perspective in-browser for a business intelligence use case. Here's what the failure mode looks like: Notice on the right it's missing some labels:

image

I noticed the examples on the site https://perspective.finos.org/ still use 2.10.0 so we've pinned our version to that for now.

markhalonen commented 2 weeks ago

Ok actually we are seeing that it's working in 1 area of our application and not working in another for 2.10.1. We will investigate the difference in how it's loaded.

texodus commented 2 weeks ago

The missing labels are not implemented in code (just CSS), and I see some other obviously wrong CSS issues in your screenshot (missing fonts, spurious padding, elements unaligned, theme button missing, etc), so if I had to guess you are not importing the Theme CSS file.

I can't diagnose the core panic without a repro I can test locally, but based on your CSS issue, I would check that the .wasm assets are from the exact same version of Perspective, as mismatched JS/WASM will cause core panics.

If you come up with a repro I can test, please feel free to re-open or create a new issue with the details.

markhalonen commented 2 weeks ago

Ok we are seeing the issue is due to CodeMirror (ancient version) rendered at the same time... don't ask me how adding a CodeMirror component causes a wasm crash in Perspective 🤷 Thanks for the guidance! Tremendous tool btw 🏆