Our main character has a physics rigid body setup with collisions between certain parts disabled. We randomly (2-5% of the time) get an assert related to the filter logic’s DisableTablePtrPtr being null (via the check in PhysXSupport.cpp line 357) and crash in shipping on line 359. Do you know what would cause this and is there a fix or workaround?
We are running 4.4 compiled from source, though this bug has been seen on 4.3 and 4.2. Here is the crash stack:
PhysXSimFilterShader() 0x4024587a + 8 bytes [File= C:\gamedev\Game\ue4\engine\source\runtime\engine\private\physicsengine\physxsupport.cpp:359] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
Address = 0xecf2ef4f (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
Address = 0xecf21c9c (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
Address = 0xecf2Odc1 (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
Address = 0xecf1f883 (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
Address = 0xecf1f006 (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
Address = 0xecee043b (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
Address = 0xecee7848 (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
Address = 0xece26d12 (filename not found) [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Engine\Binaries\ThirdParty\PhysX\PhysX-3.3\Win64\VS2013\PhysX3PROFILE_:64.dll]
TGraphTask< FPhysXTask>::ExecuteTask() 0x40237122 + 0 bytes
[File= c:\gamedev\Game\ue4\engine\source\runtime\core\public\async\taskgraphinterfaces.h:671] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTaskThread::ProcessTasks() 0x3f8da58b + 0 bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:329] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTaskThread::ProcessTasksUntilQuit0 0x3f8da6cd + 0 bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:173] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTaskThread::Run() 0x3f8df6bb + 0 bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:456] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FRunnableThreadWin::Run() 0x3f95bfaf + 0 bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:66] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FRunnableThreadWin::GuardedRun() 0x3f9589e7 + 8 bytes[File= c:\gamedev\Game\ue4\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:24] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
Address = 0x76d459ed (filename not found) [in C:\Windows\system32\kernel32.dll]
Address = 0x76e7641 (filename not found) [in C:\Wind0ws\SYSTEM32\ntdll.dll]
Address = 0x76e7641 (filename not found) [in C:\Wind0ws\SYSTEM32\ntdll.dll]