### Godot version

4.1 b2

### System information

Windows 10, Nvidia GTX 1660Ti, Vulkan

### Issue description

As you can see in the image:

![skeleton_error_41b2](https://github.com/godotengine/godot/assets/33526847/4003c5ef-b97b-4c00-986c-a085e6c285ef)

In the editor I have an imported model, no errors. The model has a skeleton. Moving bones moves the mesh accordingly no errors and nothing seems to be wrong as far as I can tell.

When I play the project without the camera I get no errors.
When I play the project with a Camera3D the project throws 12 errors (see the image above) and the whole project freezes without dispalying anything as you can see in the image it's just a gray window.

This model and import works just fine in 4.0.3, this is also not the only model I have issues with so it's not just this model.

I can't provide a test scene or models because these models are purchased but I hope the fact it works in 4.0.3 and the error could help?

I'll try anything you ask me to do to help to resolve this - hopefully before 4.1 get released.

NOTE: Same error and the following line as in the screenshot appear in the windows Console, no other errors.
NOTE2: This project was initiated from 4.1beta as brand new, nothing else is in as you can see.
NOTE3: I'll need to double check but I had some models working before so it might not be with every model but I'll check later on today.

### Steps to reproduce

Hard to tell, if you have a model with a skeleton give it a try, add the model t othe scene, camera3d and then see if it happens?

### Minimal reproduction project

~~For now check this one from another report: https://github.com/godotengine/godot/issues/77780~~

[TestMeshWithSkinGD.zip](https://github.com/godotengine/godot/files/11851108/TestMeshWithSkinGD.zip)


EDIT:
Related line where the editor takes me to: https://github.com/godotengine/godot/blob/a2575cba48121a9e31c3a550ebd29398a7facf3f/servers/rendering/renderer_rd/storage_rd/mesh_storage.h#L693

**Production team edit:** Added the non-mono MRP (reduced to fit Github's size limit) to the issue.
bool threaded = i < group_count && process_groups[i]->owner ? process_groups[i]->owner->data.process_thread_group == Node::PROCESS_THREAD_GROUP_SUB_THREAD : false;
		if (i == group_count || current_order != order || current_threaded != threaded) {
			if (process_count > 0) {
				
				bool using_threads = process_groups[from]->owner && process_groups[from]->owner->data.process_thread_group == Node::PROCESS_THREAD_GROUP_SUB_THREAD && !node_threading_disabled;
				if (using_threads) {
					local_process_group_cache.clear();
				}
				for (uint32_t j = from; j < i; j++) {
					if (process_groups[j]->last_pass == process_last_pass) {
						if (using_threads) {
							local_process_group_cache.push_back(process_groups[j]);
						} else {
							_process_group(process_groups[j], p_physics);
						}
					}
				}
				if (using_threads) {
					WorkerThreadPool::GroupID id = WorkerThreadPool::get_singleton()->add_template_group_task(this, &SceneTree::_process_groups_thread, p_physics, local_process_group_cache.size(), -1, true);
					WorkerThreadPool::get_singleton()->wait_for_group_task_completion(id);
				}
			}
			if (i == group_count) {
				
				break;
			}
			from = i;
			current_threaded = threaded;
			current_order = order;
		}