### Godot version

63f95c0e58e51ec2939e8b47803cb607fb35cadc

### System information

Windows 11

### Issue description

Using the following code:

```gdscript
extends StaticBody3D

@onready var shape_3d = $CollisionShape3D

func _ready():
	var convex_shape = ConvexPolygonShape3D.new()
	var points = PackedVector3Array()
	
	points.append(Vector3(0, 0, 0))
	points.append(Vector3(1, 0, 0))
	points.append(Vector3(0, 0, 1))
	points.append(Vector3(1, 0, 1))
	
	convex_shape.points = points
	shape_3d.shape = convex_shape
```

produces the correct result:

![image](https://user-images.githubusercontent.com/3036176/208936364-ae651b87-4be9-4fe0-8e5a-4cf17d937348.png)

but generates unnecessary errors:

![image](https://user-images.githubusercontent.com/3036176/208936226-0447814c-cfd4-4b41-8020-3bcd3dc11a44.png)

```
ERROR: Condition "p_new_capacity < capacity" is true.
   at: OAHashMap<unsigned __int64,int,struct HashMapHasherDefault,struct HashMapComparatorDefault<unsigned __int64> >::)
ERROR: Condition "p_new_capacity < capacity" is true.
   at: OAHashMap<unsigned __int64,int,struct HashMapHasherDefault,struct HashMapComparatorDefault<unsigned __int64> >::)
```


### Steps to reproduce

Check the attached project.

### Minimal reproduction project

[convex_polygon_test.zip](https://github.com/godotengine/godot/files/10278802/convex_polygon_test.zip)

}
		Vertex *v1n = v1->next;
		v1p->next = v1n;
		v1n->prev = v1p;
		if (v1 == r_h1.min_xy) {
			if ((v1n->point.x < v1p->point.x) || ((v1n->point.x == v1p->point.x) && (v1n->point.y < v1p->point.y))) {
				r_h1.min_xy = v1n;
			} else {
				r_h1.min_xy = v1p;
			}
		}
		if (v1 == r_h1.max_xy) {
			if ((v1n->point.x > v1p->point.x) || ((v1n->point.x == v1p->point.x) && (v1n->point.y > v1p->point.y))) {
				r_h1.max_xy = v1n;
			} else {
				r_h1.max_xy = v1p;
			}
		}
	}
	v0 = r_h0.max_xy;
	v1 = r_h1.max_xy;
	Vertex *v00 = nullptr;
	Vertex *v10 = nullptr;
	int32_t sign = 1;
	for (int32_t side = 0; side <= 1; side++) {
		int32_t dx = (v1->point.x - v0->point.x) * sign;
		if (dx > 0) {
			while (true) {
				int32_t dy = v1->point.y - v0->point.y;
				Vertex *w0 = side ? v0->next : v0->prev;