So we have your error:
void b2World::DestroyBody(b2Body*): Assertion 'IsLocked() == false'
Let's break it down:
Most of the first part of this error is helpful directions to tell you where the error is happening.
It appears the error is being generated in a source file called b2World.cpp inside the directory structure shown. And it's happening:
On line 134.
Then it looks like,
the function b2World:DestroyBody() which returns
void and accepts a pointer to a
b2Body is reporting the error.
That has finished the "where" part of the error, now it's telling us the "what". Looks like it's trying to assert that
isLocked() is equal to
Assertion `IsLocked() == false' failed.
But, look at that, it's failing. What could this mean? I would posit a guess that it really wants
IsLocked() to be
false but it turns out that
true, so it's failing. Now I've never used Box2D, but I'm guessing that means the body you're trying to destroy is locked. It's locked when it shouldn't be. How can you remedy this? Honestly if you haven't figured it out by now, you may want to take a step back and work on some more basic programming before coming back to this.