Open MichaelDanielTom opened 10 months ago
I got so many crash like this trace
May you share a full crash log file?
Update: I'm pretty sure it was related to the super long transition duration (>100000) that was set for modelRotationTransition
- since lowering it in our app to something less than 10000, I have not been able to make it crash again.
Environment
Observed behavior and steps to reproduce
Frequent updates to a ModelLayer's style (using a geojson feature collection of points as a source) eventually cause a stack overflow crash if there are lots of other frequently updating layers and modelScale is set to a zoom interpolated expression. Separately, I think this might have something to do with the duration of animations for modelRotation not calculating properly (If I set model rotation transition to duration=100 seconds the animation takes ~4 seconds to complete, and if the duration less the crash happens less).
In particular, I was able to get it to reliably crash by simultaneously:
1) Rotating by 180 degrees every second (setting the
ModelLayer
'smodelRotation
from[0, 0, 0]
to[0, 0, 180]
) 2) HavingmodelRotationTransition
set to duration 100 seconds. 3) HavingmodelScale
set to interpolate based on zoom. Importantly, I was not able to get it to crash ifmodelScale
is just a regular vector like[1, 1, 1]
. Example complexmodelScale
:4) Wait 10 seconds to 2 minutes. The more other stuff is moving around (e.g. having a lot of symbols in a SymbolLayer animating by changing the source geojson's coordinates multiple times/second), the quicker the crash seems to happen. However it hasn't been deterministic as to how long it takes.
The models always initially loads and work as expected for a while, with the rotation animating, interpolated scale based on zoom working, and everything rendering correctly. And thanks all the 3d stuff team, it's really awesome :)
Here's the trace: