stride icon indicating copy to clipboard operation
stride copied to clipboard

Non-existing shader crashes Game Studio

Open WithBlueHorns opened this issue 1 year ago • 1 comments

Release Type: Official Release

Version: 4.2.0.2122

Describe the bug In a material, if you try to set shader that doesn't exist, wait for it to build the effect, then do try to do it again with another shader that doesn't exist Game Studio crashes, not always crash windows pops up. I'm not sure what and why it happens, sometimes you could use the same bad name, sometimes you just do 2 then it works To Reproduce Steps to reproduce the behavior:

  1. Create a new project
  2. Look for "Sphere Material"/"Ground Material"/Create a new material, then in any property of material (ex. diffuse) set the map to "Shader"
  3. Type any name of a shader that doesn't exist, followed by pressing enter (could be a few times)
  4. Change the name in the field (ex. "test" -> "test2"), wait for the effects from before to build, then click enter, as soon as you do it the Game Studio crashes

Expected behavior To just give that red blinking effect or really anything other than crashing

Screenshots

https://github.com/stride3d/stride/assets/95977080/c6c300c2-294d-4da9-bc27-8a72c1400f7e

Video instead

Log and callstacks log2.txt log1.txt

Additional context Why do I always find such obscure bugs

WithBlueHorns avatar May 06 '24 21:05 WithBlueHorns

So I took a bit of time to look into this issue and the problem seems to come from misuse of multithreading than the shader being not found.

image

Its a bit hard to recreate in source but I think it would explain why it only seems to happen after changing the shader and hitting enter multiple times. This could also bhe related to the save error that people have run into https://github.com/stride3d/stride/issues/1917.

Doprez avatar May 14 '24 21:05 Doprez