-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash inside ForceGraph2d component #540
Comments
@Ars25Terra thanks for reaching out. It's not so easy to figure this out without a means to reproduce it. Was this happening in your app only? Are you able to make a simplified example on https://codesandbox.io/ which can reproduce this issue? |
@Ars25Terra @vasturiano Some of the things I noticed:
I've managed to catch it when debugging and the if (!d.hasOwnProperty('__indexColor') || d.__indexColor === null) return true; then the problem disappears, but I am unsure of the implications of this change. My guess would be that there is some race condition which is only visible when the CPU is choking when trying to process the data. But why does that never happen in production mode is a mystery to me. |
@vasturiano, exactly what @RomanKornev mentions, but somehow I get __indexColor null also in production |
@vasturiano unfortunately it's not easy to provide example on https://codesandbox.io/, but I did a deep research and found out the following. __indexColor in force-graph becomes null, when registry in canvas-color-tracker is full. As far as I understood this happens on big graphs, as "register" function in canvas-color-tracker constantly pushes new objects with new indexColors and finally registry is filled. When registry is full it returns null for indexColor. |
@Ars25Terra @RomanKornev thanks for your effort in figuring this out. The issue was indeed the mishandling of the color tracker registry getting full, leading to a null pointer exception. I've just fixed this issue, in a manner similar to that suggested by @RomanKornev. If you upgrade your dependency tree, to get at least |
Dear @vasturiano, thank you a lot for the fix. Just one request, can you please update react-force-graph with new force-graph (1.44) dependency? |
@Ars25Terra there's nothing really to upgrade in So it should automatically pick up the new version of |
I can confirm the issue is fixed. Thanks a lot for taking a look! I assume this also fixes #512 |
Glad we figured out this one. And yeah, that issue looks the same, so it's probably fixed too. |
When the graph data changes periodically while using react-force-graph-2d v1.25.2, an error such as #512 occurred. I found it while I was checking the issues, so I found a graph library Thank you for finding this solution. |
Hello, maybe you can help me.
I'm using ForceGraph2d with react.
It works fine, but occasionally (the case is not clear), when dragging nodes it crashes with following error:
TypeError: r is null
_iterableToArray3 canvas-color-tracker.mjs:26
_toConsumableArray3 canvas-color-tracker.mjs:32
lookup canvas-color-tracker.mjs:97
hexIndex force-graph.mjs:1049
hexIndex force-graph.mjs:1047
onChange8 force-graph.mjs:1041
getSetProp kapsule.mjs:170
_call react-kapsule.mjs:125
index react-kapsule.mjs:134
index react-kapsule.mjs:133
React 12
workLoop scheduler.development.js:266
flushWork scheduler.development.js:239
performWorkUntilDeadline scheduler.development.js:533
The text was updated successfully, but these errors were encountered: