Page MenuHome

2.91 Mantaflow crash when adaptive domain + noise are enabled
Closed, ResolvedPublicBUG


System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 451.85

Blender Version
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-08-06 23:23, hash: rB21fec9513969
Worked: in 2.90 works fine

Short description of error
Smoke simulation doesn't seem to be working when adaptive domain and noise are enabled at the same time. They both work fine separately.

I don't have this issue in 2.90. Tested on 2 separate Windows 10 computers on factory settings.

Exact steps for others to reproduce the error

  • add a quick smoke effect to the cube
  • enable adaptive domain, and then noise in simulation's settings. Blender should crash instantly.

Event Timeline

This Problem was Happening in 2.90 about 40 days ago..... as of this Thread T78270.... which was fixed for 2.90 with rB62a819202e79

Richard Antalik (ISS) changed the task status from Needs Triage to Confirmed.Aug 10 2020, 2:48 PM

Exception thrown at 0x00007FF6F768BA20 in blender.exe: 0xC0000005: Access violation writing location 0x0000000000000000.

>	blender.exe!Manta::Error::Error(const std::string & s) Line 56	C++
 	blender.exe!Manta::checkIndexInterpol(const Manta::Vector3D<int> & size, __int64 idx) Line 46	C++
 	blender.exe!Manta::interpol<float>(const float * data, const Manta::Vector3D<int> & size, const int Z, const Manta::Vector3D<float> & pos) Line 103	C++
 	blender.exe!Manta::Grid<float>::getInterpolatedHi(const Manta::Vector3D<float> & pos, int order) Line 607	C++
 	blender.exe!Manta::SemiLagrange<float>::op(int i, int j, int k, const Manta::FlagGrid & flags, const Manta::MACGrid & vel, Manta::Grid<float> & dst, const Manta::Grid<float> & src, float dt, bool isLevelset, int orderSpace, int orderTrace) Line 67	C++
 	blender.exe!Manta::SemiLagrange<float>::operator()(const tbb::blocked_range<__int64> & __r) Line 135	C++
 	blender.exe!tbb::interface9::internal::start_for<tbb::blocked_range<__int64>,Manta::SemiLagrange<float>,tbb::auto_partitioner const>::run_body(tbb::blocked_range<__int64> & r) Line 116	C++
 	blender.exe!tbb::interface9::internal::dynamic_grainsize_mode<tbb::interface9::internal::adaptive_mode<tbb::interface9::internal::auto_partition_type>>::work_balance<tbb::interface9::internal::start_for<tbb::blocked_range<__int64>,Manta::SemiLagrange<float>,tbb::auto_partitioner const>,tbb::blocked_range<__int64>>(tbb::interface9::internal::start_for<tbb::blocked_range<__int64>,Manta::SemiLagrange<float>,tbb::auto_partitioner const> & start, tbb::blocked_range<__int64> & range) Line 424	C++
 	blender.exe!tbb::interface9::internal::partition_type_base<tbb::interface9::internal::auto_partition_type>::execute<tbb::interface9::internal::start_for<tbb::blocked_range<__int64>,Manta::SemiLagrange<float>,tbb::auto_partitioner const>,tbb::blocked_range<__int64>>(tbb::interface9::internal::start_for<tbb::blocked_range<__int64>,Manta::SemiLagrange<float>,tbb::auto_partitioner const> & start, tbb::blocked_range<__int64> & range) Line 257	C++
 	blender.exe!tbb::interface9::internal::start_for<tbb::blocked_range<__int64>,Manta::SemiLagrange<float>,tbb::auto_partitioner const>::execute() Line 143	C++
 	[External Code]
Jacques Lucke (JacquesLucke) changed the subtype of this task from "Report" to "Bug".EditedAug 13 2020, 11:09 AM

Note that this only seems to happen when you first turn on adaptive domain and then noise. It seems to work fine when enabling the features in the opposite order.

I get this ASAN report: P1581, which is about the same I got in T79694.