### Godot version

v4.1.stable.official [970459615]

### System information

Godot v4.1.stable - Windows 10.0.22621 (this is what "copy system info" says, but I'm running Windows 11 Home) - Vulkan (Compatibility) - NVIDIA GeForce RTX 4090 (NVIDIA; 31.0.15.3168) - 12th Gen Intel(R) Core(TM) i7-12700F (20 Threads)

### Issue description

Adding a NoiseTexture3D to a Visual Shader crashes Godot.

### Steps to reproduce

- In a new project, create a "MeshInstance3D"
- Set the mesh to any mesh that has the "Surface Material Overide" property (New BoxMesh for instance)
- In said property, create a "New ShaderMaterial"
- Set the ShaderMaterial's shader to a new shader, with the type: "VisualShader"
- Edit the VisualShader
- Add a Texture3D node
- Set the texture to "New NoiseTexture3D"

Godot then crashes (note, the crash takes place even if you remove the "MeshInstance3D")

### Minimal reproduction project

N/A
GDCLASS(NoiseTexture3D, Texture3D);
private:
	Thread noise_thread;
	bool first_time = true;
	bool update_queued = false;
	bool regen_queued = false;
	mutable RID texture;
	uint32_t flags = 0;
	int width = 64;
	int height = 64;
	int depth = 64;
	bool invert = false;
	bool seamless = false;
	real_t seamless_blend_skirt = 0.1;
	bool normalize = true;
	Ref<Gradient> color_ramp;
	Ref<Noise> noise;
	void _thread_done(const TypedArray<Image> &p_data);
	static void _thread_function(void *p_ud);
	void _queue_update();
	TypedArray<Image> _generate_texture();
	void _update_texture();
	void _set_texture_data(const TypedArray<Image> &p_data);
	Ref<Image> _modulate_with_gradient(Ref<Image> p_image, Ref<Gradient> p_gradient);