godot icon indicating copy to clipboard operation
godot copied to clipboard

4.4-dev6 VisualShader: Error: Parameter "version" is null and then after a while crash

Open SWCreeperKing opened this issue 1 year ago • 1 comments

Tested versions

  • Reproducible in: v4.4.dev6.official [1f47e4c4e]

System information

Windows 11 - Godot 4.4-dev6 - Forward+ - dedicated NVidia RTX 2070 super

Issue description

the output console will be filled with

ERROR: Parameter "version" is null.
   at: version_is_valid (servers/rendering/renderer_rd/shader_rd.cpp:659)

when clicking the eye icon on certain nodes with certain inputs it seems like it has to do with inv_view_matrix and the preview from the eye icons in the visual shader

Steps to reproduce

make a visual shader

connect [input: inv_view_matrix] and [input: vertex] into [TransformVectorMult: A x B] connect the [TransformVectorMult AxB] into [Texture2D: SamplerPort: UV] connect [Texture2D: SamplerPort: Color] into [Output: Albedo]

now whenever you click the eye icon on the output of either the [TransformVectorMult: A x B] or [Texture2D: SamplerPort: Color] the output console will be filled with

ERROR: Parameter "version" is null.
   at: version_is_valid (servers/rendering/renderer_rd/shader_rd.cpp:659)

and then eventually crash

Minimal reproduction project (MRP)

N/A

SWCreeperKing avatar Dec 12 '24 01:12 SWCreeperKing

Windows 11 - Godot 4.4-dev6 - Forward+ - RTX2060 I'm able to reproduce the issue that spams the error in the output console, but it has not crashed (yet).

However, if I use the latest build from master dc5f1b7a2826962f02230227abc486ac160ae66c it does not spam the error anymore, instead I have this error (spawned once) every time I click the eye icon of either the TransfomVectorMult or Texture2D node :

 ERROR: :12 - Unknown identifier in expression: 'n_out2p0'.
  ERROR: Shader compilation failed.
Show Port Preview
--Main Shader--
    1 | shader_type canvas_item;
    2 | 
    3 | 
    4 | 
    5 | 
    6 | void fragment() {
    7 | 
    8 |  vec3 n_out3p0 = vec3(0.0);
    9 | 
   10 | 
   11 | 
E  12->  vec3 n_out4p0 = (n_out2p0 * vec4(n_out3p0, 1.0)).xyz;
   13 | 
   14 | 
   15 |  COLOR.rgb = n_out4p0;
   16 | }
   17 | 
  ERROR: .\servers/rendering/renderer_rd/shader_rd.h:172 - Parameter "version" is null.

Tetane avatar Dec 15 '24 10:12 Tetane

@AThousandShips Confirmed. On the version it was reported on it spams the error; on master it still shows up but only once each time the eye is clicked. I get an extra error in my sample project, but only on the Texture2D eye, not the Transform one:

--Main Shader--
    1 | shader_type canvas_item;
    2 | 
    3 | uniform sampler2D tex_frg_5;
    4 | 
    5 | 
    6 | 
    7 | void fragment() {
    8 | 
    9 |  vec3 n_out4p0 = vec3(0.0);
   10 | 
   11 | 
   12 | 
E  13->  vec3 n_out3p0 = (n_out2p0 * vec4(n_out4p0, 1.0)).xyz;
   14 | 
   15 | 
   16 | 
   17 |  vec4 n_out5p0 = texture(tex_frg_5, vec2(n_out3p0.xy));
   18 | 
   19 | 
   20 |  COLOR = n_out5p0;
   21 | }
   22 | 
SHADER ERROR: Unknown identifier in expression: 'n_out2p0'.
          at: (null) (:13)
ERROR: Shader compilation failed.
   at: set_code (./servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp:1577)
ERROR: CameraServer is not actively monitoring feeds; call set_monitoring_feeds(true) first.
   at: get_feed_by_id (servers/camera_server.cpp:103)
ERROR: Parameter "version" is null.
   at: version_get_shader (./servers/rendering/renderer_rd/shader_rd.h:169)

MRP: 100296.zip

precup avatar Apr 20 '25 15:04 precup