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

if (efd->name.naturalnocasecmp_to(p_dir->subdirs[i]->name) < 0) {
						break;
					}
					idx2++;
				}
				if (idx2 == p_dir->subdirs.size()) {
					p_dir->subdirs.push_back(efd);
				} else {
					p_dir->subdirs.insert(idx2, efd);
				}
				da->change_dir("..");
			}
		} else {
			ERR_PRINT("Cannot go into subdir '" + E->get() + "'.");
		}
		p_progress.update(idx, total);
	}
	for (List<String>::Element *E = files.front(); E; E = E->next(), idx++) {
		String ext = E->get().get_extension().to_lower();
		if (!valid_extensions.has(ext)) {
			continue; 
		}
		EditorFileSystemDirectory::FileInfo *fi = memnew(EditorFileSystemDirectory::FileInfo);
		fi->file = E->get();
		String path = cd.path_join(fi->file);
		FileCache *fc = file_cache.getptr(path);
		uint64_t mt = FileAccess::get_modified_time(path);
		if (import_extensions.has(ext)) {
			
			uint64_t import_mt = 0;