### Godot version

v4.0.stable.official [92bee43ad]

### System information

Windows 10, 64bit

### Issue description

First, please run the reproduction project.
When I run the test scene, It report error like follow and app exited. 
![image](https://user-images.githubusercontent.com/35988767/229076194-f737bcb6-6c9b-4aa0-9bd5-3dbd36bc8d03.png)
And I don't know where was error.



### Steps to reproduce

1. Open the reproduction project.
2. Open scene 'user:\\xd\XActors\Weapon\Gun\Rifle\XRifle.tscn'
3. Assign the scene's Meshinstance's mesh with 'user:\\xd\XActors\Weapon\Gun\Rifle\XRifle01.res'
4. Run the scene
Opps, the scene exited.
![GIF](https://user-images.githubusercontent.com/35988767/229077075-4b18b9e0-933e-47f6-b6a8-0af966574884.gif)


### Minimal reproduction project

[GlbTest.zip](https://github.com/godotengine/godot/files/11120181/GlbTest.zip)

NOTE: The project that I provided was picked up from my owner project. Sorry I can't provide a minimal reproduction project because I don't know which step cause this issue. I was test like this:
Create a project, import the glb file, create meshinstance and assign mesh, but there was not error!

update_script_mutex.lock();
	update_script_paths.insert(p_path);
	update_script_mutex.unlock();
}
void EditorFileSystem::update_file(const String &p_file) {
	ERR_FAIL_COND(p_file.is_empty());
	EditorFileSystemDirectory *fs = nullptr;
	int cpos = -1;
	if (!_find_file(p_file, &fs, cpos)) {
		if (!fs) {
			return;
		}
	}
	if (!FileAccess::exists(p_file)) {
		
		_delete_internal_files(p_file);
		if (cpos != -1) { 
			if (fs->files[cpos]->uid != ResourceUID::INVALID_ID) {
				if (ResourceUID::get_singleton()->has_id(fs->files[cpos]->uid)) {
					ResourceUID::get_singleton()->remove_id(fs->files[cpos]->uid);
				}
			}
			if (ClassDB::is_parent_class(fs->files[cpos]->type, SNAME("Script"))) {
				_queue_update_script_class(p_file);
			}
			memdelete(fs->files[cpos]);
			fs->files.remove_at(cpos);
		}
		_update_pending_script_classes();