-
Notifications
You must be signed in to change notification settings - Fork 486
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
Maximum call stack size exceeded in variable resolver #4139
Comments
We have ~3k events for ~4 users. We should try to root cause the issue before deciding if this should be fixed. |
As per @barmac's initial assessment, this issue might be crashing the modeler:
|
We have some options:
Leaving to @marstamm to assess further once he is back. |
This is indeed another problem than what we fixed previously. What is happening here is that the user has a very big context, like 10k+ entries. We use We can prevent this from happening by using different methods of concatenation. What would be interesting to see is if the user actually creates such contexts or if the big amount of entries is a bug. |
This one was a doozy: Background When we resolve output mappings, we create a new interim variable that will be merged at a later point. This ensures that we can correctly handle multiple output mappings with different types and can do the merging in a central space. The interim variables copy all the information from the original variable, so the context information can be displayed in variable suggestions. This is mainly used for nested variables/compositions. So for the example above, we will have as interim Variables that will be merged:
Root Cause Because we only copied the reference of the provider array and not the array itself, the size of the array grew exponentially with the number of output mappings. Together with the spread operator implementation described in #4139 (comment), this leads to a stack size exceeded when you have ~20 mappings for the same variable name. |
Waiting integration, fixed upstream via camunda/camunda-bpmn-js#352. |
Related: bpmn-io/bpmn-js-element-templates#78 |
Describe the bug
Sentry still reports RangeError despite bpmn-io/variable-resolver#23
Sentry report
Steps to reproduce
I can't tell.
Expected behavior
No errors.
Environment
Additional context
No response
The text was updated successfully, but these errors were encountered: