box2d-optimized
box2d-optimized copied to clipboard
The testbed 'Geometry/Edge Shapes' test crashed frequently.
When rapidly pressed '1-5' key to drop stuff, It will crashed.
- Here is the screenshot:
- Here is the crash report:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 Exception Codes: 0x0000000000000001, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [85566] VM Region Info: 0 is not in any region. Bytes before following region: 4538880000 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> __TEXT 10e89d000-10ea05000 [ 1440K] r-x/r-x SM=COW ...nts/*/testbed Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 testbed 0x10e914c3c b2TreeNode::IsLeaf() const + 12 (b2_broad_phase.h:40) 1 testbed 0x10e8f574d void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 45 (b2_broad_phase.h:589) 2 testbed 0x10e8f58ed void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 461 (b2_broad_phase.h:619) 3 testbed 0x10e8f5846 void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 294 (b2_broad_phase.h:607) 4 testbed 0x10e8f58ed void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 461 (b2_broad_phase.h:619) 5 testbed 0x10e8f5846 void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 294 (b2_broad_phase.h:607) 6 testbed 0x10e8f5846 void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 294 (b2_broad_phase.h:607) 7 testbed 0x10e8f58ed void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 461 (b2_broad_phase.h:619) 8 testbed 0x10e8f5846 void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 294 (b2_broad_phase.h:607) 9 testbed 0x10e8f5846 void b2BroadPhase::QueryAll<b2ContactManager>(b2ContactManager*, b2TreeNode const*, b2TreeNode**, int) const + 294 (b2_broad_phase.h:607) 10 testbed 0x10e8f475b void b2BroadPhase::UpdateAndQuery<b2ContactManager>(b2ContactManager*) + 1067 (b2_broad_phase.h:324) 11 testbed 0x10e8f431c b2ContactManager::FindNewContacts() + 28 (b2_contact_manager.cpp:119) 12 testbed 0x10e910ff8 b2World::Solve(b2TimeStep const&) + 2360 (b2_world.cpp:666) 13 testbed 0x10e91303e b2World::Step(float, int, int, int) + 478 (b2_world.cpp:1151) 14 testbed 0x10e8b5b45 Test::Step(Settings&) + 501 (test.cpp:362) 15 testbed 0x10e8ceeb3 EdgeShapes::Step(Settings&) + 99 (edge_shapes.cpp:207) 16 testbed 0x10e8a9cca main + 1338 (main.cpp:595) 17 dyld 0x11954052e start + 462 - Here is the
lldbreports:* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x000000010008e368 testbed`b2Fixture::RayCast(this=0x0000000130033e31, output=0x00007ff7bfefe260, input=0x00007ff7bfefe3b0) const at b2_fixture.h:385:19 382 383 inline bool b2Fixture::RayCast(b2RayCastOutput* output, const b2RayCastInput& input) const 384 { -> 385 return m_shape->RayCast(output, input, m_body->GetTransform()); 386 } 387 388 inline void b2Fixture::GetMassData(b2MassData* massData) const* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x41) frame #0: 0x000000010001828c testbed`b2Fixture::GetBody(this=0x0000000000000031) at b2_fixture.h:310:10 307 308 inline b2Body* b2Fixture::GetBody() 309 { -> 310 return m_body; 311 } 312 313 inline const b2Body* b2Fixture::GetBody() const
I tested it many times, and produced many kinds of errors.
Thanks for the detailed report! I’ll see if I can reproduce that (on Linux) and try to fix it