[PhysX 3.3.4] Cooking ConvexMesh - simulation problem

-Sory, google translate.

The problem arises when I use ConvexMesh, some bodies do not fall asleep, as if the body is into small pebbles. If the same scene to create with the help of BoxGeometry, then there is no problem.

The archive 2 PVD files, one example of ConvexMesh and BoxGeometry
https://drive.google.com/file/d/0B-9Wwn3RJlXuM01nNnhIUjl4NFE/view?usp=sharing

Code of creating bodies

bool decl weModelPX::createConvexMesh( std::ifstream* ifs, wePhysics* px, weModelPXProp* prop, PxTransform* transform )
{
	size_t vcount, icount;
	ifs->read( (char*)&vcount, sizeof( size_t ) );
	ifs->read( (char*)&icount, sizeof( size_t ) );

	PxU32 vertexCount = 0, indexCount = 0;
	//PxU32* indicesBuffer = 0;
	PxVec3* verticesBuffer = 0;

	vertexCount = (PxU32)vcount;
	//indexCount = (PxU32)icount;

	verticesBuffer = new PxVec3[vertexCount];
	//indicesBuffer = new PxU32[indexCount];

	ifs->read( (char*)&verticesBuffer[0], sizeof( PxVec3 ) * vertexCount );
	//ifs->read( (char*)&indicesBuffer[0], sizeof( PxU32 ) * indexCount );

	PxConvexMeshDesc convexDesc;
	convexDesc.points.count = vertexCount;
	convexDesc.points.stride = sizeof( PxVec3 );
	convexDesc.points.data = verticesBuffer;
	convexDesc.flags = PxConvexFlag::eCOMPUTE_CONVEX;

	PxDefaultMemoryOutputStream buf;
	PxConvexMeshCookingResult::Enum result;
	if( !px->pxCooking()->cookConvexMesh( convexDesc, buf, &result ) )
	{
		delete[] verticesBuffer;
		//delete[] indicesBuffer;
		return false;
	}
	PxDefaultMemoryInputData input( buf.getData(), buf.getSize() );
	PxConvexMesh* convexMesh = px->pxPhysics()->createConvexMesh( input );

	material = px->pxPhysics()->createMaterial( prop->material.staticFriction, prop->material.dynamicFriction, prop->material.restitution );

	//! Only then did change
	//! ConvexMesh or BoxGeometry
	PxShape* shape = px->pxPhysics()->createShape( PxConvexMeshGeometry( convexMesh ), *material );
	//PxShape* shape = px->pxPhysics()->createShape( PxBoxGeometry( 0.5f, 0.5f, 0.5f ), *material );

	uint numOf = GetInstanceCount();
	actor = new PxRigidActor*[numOf];

	for( uint i = 0; i < numOf; i++ )
	{
		PxTransform T;

		if( (i == 0) && transform )
			T = *transform;
		else
		{
			PxMat33 mW = PxMat33( PxIdentity );

			mW.column0 = PxVec3( instanceArray[i].world[0][0], instanceArray[i].world[0][1], instanceArray[i].world[0][2] );
			mW.column1 = PxVec3( instanceArray[i].world[1][0], instanceArray[i].world[1][1], instanceArray[i].world[1][2] );
			mW.column2 = PxVec3( instanceArray[i].world[2][0], instanceArray[i].world[2][1], instanceArray[i].world[2][2] );
			T.q = PxQuat( mW );
			T.p = PxVec3( instanceArray[i].world[3][0], instanceArray[i].world[3][1], instanceArray[i].world[3][2] );
		}

		PxRigidDynamic* body = px->pxPhysics()->createRigidDynamic( T );
		body->attachShape( *shape );

		body->isRigidDynamic()->setAngularVelocity( prop->angularVelocity );
		body->isRigidDynamic()->setLinearVelocity( prop->linearVelocity );
		body->isRigidDynamic()->setAngularDamping( prop->angularDamping );
		body->isRigidDynamic()->setLinearDamping( prop->linearDamping );

		// PxTolerancesScale is default (wePxMass = 1000.0f)
		PxRigidBodyExt::setMassAndUpdateInertia( *body, prop->mass * wePxMass );

		px->AddActorToScene( body );

		actor[i] = body;
	}

	if( shape )
		shape->release();
	shape = nullptr;

	if( convexMesh )
		convexMesh->release();
	convexMesh = nullptr;

	delete[] verticesBuffer;
	//delete[] indicesBuffer;

	return true;
}

vertices for convexMesh
v0: 0,500000 -0,500000 0,500000
v1: -0,500000 -0,500000 -0,500000
v2: 0,500000 -0,500000 -0,500000
v3: -0,500000 -0,500000 0,500000
v4: 0,500000 0,500000 0,500000
v5: 0,500000 0,500000 -0,500000
v6: -0,500000 0,500000 0,500000
v7: 0,500000 0,500000 -0,500000

material setup:
mass - 1.0f
sFric - 0.5f
dFric - 0.5f
rest - 0.6f

angDamp = 0.5f
velDamp = 0.0f