DanielChappuis/reactphysics3d

Assertion failed in OverlappingPairs, version release 0.10.0

darktemplar216 opened this issue · 5 comments

ucrtbased.dll!00007ffe875dedc5()	Unknown
ucrtbased.dll!00007ffe875debe3()	Unknown
ucrtbased.dll!00007ffe875e18af()	Unknown

reactphysics3d.dll!reactphysics3d::OverlappingPairs::setNeedToTestOverlap(unsigned __int64 pairId, bool needToTestOverlap) Line 451 C++
reactphysics3d.dll!reactphysics3d::CollisionDetectionSystem::notifyOverlappingPairsToTestOverlap(reactphysics3d::Collider * collider) Line 802 C++
reactphysics3d.dll!reactphysics3d::BroadPhaseSystem::addMovedCollider(int broadPhaseID, reactphysics3d::Collider * collider) Line 203 C++
reactphysics3d.dll!reactphysics3d::BroadPhaseSystem::updateColliderInternal(int broadPhaseId, reactphysics3d::Collider * collider, const reactphysics3d::AABB & aabb, bool forceReInsert) Line 156 C++
reactphysics3d.dll!reactphysics3d::BroadPhaseSystem::updateCollidersComponents(unsigned int startIndex, unsigned int nbItems) Line 186 C++
reactphysics3d.dll!reactphysics3d::BroadPhaseSystem::updateCollider(reactphysics3d::Entity colliderEntity) Line 126 C++
reactphysics3d.dll!reactphysics3d::CollisionDetectionSystem::updateCollider(reactphysics3d::Entity colliderEntity) Line 458 C++
reactphysics3d.dll!reactphysics3d::Body::updateBroadPhaseState() Line 237 C++
reactphysics3d.dll!reactphysics3d::Body::setTransform(const reactphysics3d::Transform & transform) Line 402 C++
reactphysics3d.dll!reactphysics3d::RigidBody::setTransform(const reactphysics3d::Transform & transform) Line 857 C++
reactphysics3d.dll!RigidBody_setTransform(reactphysics3d::RigidBody * rigidBody, const Transformf * transform) Line 19 C++
[External Code]
mono-2.0-bdwgc.dll!mono_jit_runtime_invoke(_MonoMethod * method, void * obj, void * * params, _MonoObject * * exc, _MonoError * error) Line 3445 C
mono-2.0-bdwgc.dll!do_runtime_invoke(_MonoMethod * method, void * obj, void * * params, _MonoObject * * exc, _MonoError * error) Line 3066 C
mono-2.0-bdwgc.dll!mono_runtime_delegate_try_invoke(_MonoObject * delegate, void * * params, _MonoObject * * exc, _MonoError * error) Line 4449 C
[Inline Frame] mono-2.0-bdwgc.dll!mono_runtime_delegate_invoke_checked(_MonoObject *) Line 4477 C
mono-2.0-bdwgc.dll!start_wrapper_internal(StartInfo * start_info, unsigned __int64 * stack_ptr) Line 1292 C
mono-2.0-bdwgc.dll!start_wrapper(void * data) Line 1344 C
[External Code]

// Set if we need to test a given pair for overlap
RP3D_FORCE_INLINE void OverlappingPairs::setNeedToTestOverlap(uint64 pairId, bool needToTestOverlap) {

assert(mMapConvexPairIdToPairIndex.containsKey(pairId) || mMapConcavePairIdToPairIndex.containsKey(pairId));

Seems mMapConvexPairIdToPairIndex contains no pairId.
please ignore Transformf, which is my wrapper of Transform with float.
The thing I am doing is moving a capsule over a box.

I'm gonna do some check myself.

Btw, it seems fine in the former version of ReactPhysics3d. I updated the version to release v0.10.0. So it's possible I did something wrong along the porting. Again, I'll do some check on my end to see if I can figure it out.

I'm having the same problem when using Cmake to compile to release mode. This is the error I'm getting after including reactphysics3d\reactphysics3d.h and reactphysics3d.lib

reactphysics3d::OverlapCallback::OverlapPair::OverlapPair(const reactphysics3d::OverlapCallback::OverlapPair &)': attempting to reference a deleted function

located @ line 202 File: OverlapCallback.h.

My previous build Reactphysics3d in release mode works fine. (version 0.9.0)

Thanks a lot for reporting this. I will inverstigate that.
It seems related to this pull request.

Thx, Daniel. Love your work.

This issue should now be fixed in release of version v0.10.1. Thanks again for reporting this issue.