WebGL Build Breaks in Safari on Apple 13" M1 Pro with Particle Systems After a Few Seconds

Hey Unity WebGL team, ( cc @brendanduncan_u3d )

We’ve noticed that using a particle system causes WebGL builds to break on Safari after a few seconds.

[Error] exception thrown: RuntimeError: Out of bounds memory access (evaluating 'dynCall_v.call(null,func)')
<?>.wasm-function[ParticleSystem::UpdateModulesPreSimulationIncremental(ParticleSystemUpdateData const&, ParticleSystemParticles&, unsigned long, unsigned long, math::_float4 const&, bool)]@[wasm code]
<?>.wasm-function[ParticleSystem::StartModules(ParticleSystemUpdateData&, ParticleSystemEmissionState const&, bool, Vector3f const&, Matrix4x4f const&, ParticleSystemParticles&, unsigned long, float const&, float const&, float, unsigned long, float, unsigned long&, bool, float)]@[wasm code]
<?>.wasm-function[ParticleSystem::StartParticles(ParticleSystemUpdateData&, ParticleSystemParticles&, float, float, unsigned long, unsigned long, float, float)]@[wasm code]
<?>.wasm-function[ParticleSystem::Update1b(ParticleSystemUpdateData&, int)]@[wasm code]
<?>.wasm-function[ParticleSystem::UpdateFunction(ParticleSystemUpdateData*)]@[wasm code]
<?>.wasm-function[void JobBatchDispatcher::ScheduleJobDepends<ParticleSystemUpdateData>(JobFence&, void (*)(ParticleSystemUpdateData*), ParticleSystemUpdateData*, JobFence const&)]@[wasm code]
<?>.wasm-function[ParticleSystem::BeginUpdate(ParticleSystem**, unsigned long, float, float)]@[wasm code]
<?>.wasm-function[ParticleSystem::BeginUpdateAll()]@[wasm code]
<?>.wasm-function[ParticleSystem::InitializeClass()::PreLateUpdateParticleSystemBeginUpdateAllRegistrator::Forward()]@[wasm code]
<?>.wasm-function[ExecutePlayerLoop(NativePlayerLoopSystem*)]@[wasm code]
<?>.wasm-function[ExecutePlayerLoop(NativePlayerLoopSystem*)]@[wasm code]
<?>.wasm-function[MainLoop()]@[wasm code]

Any support would be greatly appreciated.

Bumping as this issue still exists

Best way to get attention is to submit a bug report and tag the Unity Dev.

Also, good practice is to mention the Unity version you’re using… or else it’s a needle in a haystack search for them. They are literally working on 5 release-streams at a time if not more; 2023.1 alpha, 2022.2 beta, 2022.1 tech stream, 2021 LTS, 2020 LTS…