### 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!

thread.start(_thread_func, this, s);
		
		
	}
}
void EditorFileSystem::ScanProgress::update(int p_current, int p_total) const {
	float ratio = low + ((hi - low) / p_total) * p_current;
	progress->step(ratio * 1000);
	EditorFileSystem::singleton->scan_total = ratio;
}
EditorFileSystem::ScanProgress EditorFileSystem::ScanProgress::get_sub(int p_current, int p_total) const {
	ScanProgress sp = *this;
	float slice = (sp.hi - sp.low) / p_total;
	sp.low += slice * p_current;
	sp.hi = slice;
	return sp;
}
void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, Ref<DirAccess> &da, const ScanProgress &p_progress) {
	List<String> dirs;
	List<String> files;
	String cd = da->get_current_dir();
	p_dir->modified_time = FileAccess::get_modified_time(cd);
	da->list_dir_begin();
	while (true) {
		String f = da->get_next();
		if (f.is_empty()) {
			break;
		}
		if (da->current_is_hidden()) {
			continue;