box2d contactlistener changing body properties error

Hi, I am using box2d 2.3.1 engine with cocos2d-x v4. I assigned contactlistener to world , I am trying to change one of collided bodies property such as BodyType or location.

but i am getting this :

Assertion failed!

m_world->IsLocked() == false

I guess body locked to all changes, is there any safe way to change collided bodies?