Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

webgpureport.org crashes servo #30915

Closed
sagudev opened this issue Dec 22, 2023 Discussed in #30914 · 17 comments
Closed

webgpureport.org crashes servo #30915

sagudev opened this issue Dec 22, 2023 Discussed in #30914 · 17 comments
Labels
A-content/webgpu The WebGPU implementation. I-panic Servo encounters a panic.

Comments

@sagudev
Copy link
Member

sagudev commented Dec 22, 2023

Discussed in #30914

Originally posted by beaufortfrancois December 22, 2023
When running Servo 0.0.1-5e8f70f with --pref dom.webgpu.enabled, it fails to render https://webgpureport.org/

image

Without the pref, it loads and simply says WebGPU is not supported.

image

Is this a known issue?

@sagudev
Copy link
Member Author

sagudev commented Dec 22, 2023

Removing await navigator.gpu.requestAdapter({ forceFallbackAdapter: true }) makes it work.

Crash line is:

=> FromWebGPUServer(msg.unwrap()),

@sagudev
Copy link
Member Author

sagudev commented Dec 22, 2023

Actually this site works for me on both linux and windows. @beaufortfrancois you are using mac, right?

@beaufortfrancois
Copy link

I'm using macOS. I wonder if it crashes if the system doesn't have a fallback adapter, which is the case on my macBook machine.

@sagudev
Copy link
Member Author

sagudev commented Dec 22, 2023

I'm using macOS. I wonder if it crashes if the system doesn't have a fallback adapter, which is the case on my macBook machine.

But forcing fallback adapter helps? Could you try wgpu-info (you may need to install it with cargo install wgpu-info)

@beaufortfrancois
Copy link

It's actually removing await navigator.gpu.requestAdapter({ forceFallbackAdapter: true }) that makes it work.

await navigator.gpu.requestAdapter({ forceFallbackAdapter: true }) makes it work.

@beaufortfrancois
Copy link

Could you try wgpu-info (you may need to install it with cargo install wgpu-info)

 ~/.cargo/bin/wgpu-info 
Adapter 0:
	   Backend: Metal
	      Name: "Apple M1 Pro"
	  VendorID: 0
	  DeviceID: 0
	      Type: IntegratedGpu
	    Driver: ""
	DriverInfo: ""
	 Compliant: true
	Features:
		                                           DEPTH_CLIP_CONTROL: true
		                                              TIMESTAMP_QUERY: true
		                                      INDIRECT_FIRST_INSTANCE: true
		                                                   SHADER_F16: true
		                                           BGRA8UNORM_STORAGE: true
		                                     RG11B10UFLOAT_RENDERABLE: true
		                                        DEPTH32FLOAT_STENCIL8: true
		                                       TEXTURE_COMPRESSION_BC: true
		                                     TEXTURE_COMPRESSION_ETC2: true
		                                     TEXTURE_COMPRESSION_ASTC: true
		                                    TEXTURE_FORMAT_16BIT_NORM: true
		                                 TEXTURE_COMPRESSION_ASTC_HDR: true
		                     TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES: true
		                                    PIPELINE_STATISTICS_QUERY: false
		                                TIMESTAMP_QUERY_INSIDE_PASSES: false
		                                     MAPPABLE_PRIMARY_BUFFERS: true
		                                        TEXTURE_BINDING_ARRAY: true
		                                         BUFFER_BINDING_ARRAY: false
		                               STORAGE_RESOURCE_BINDING_ARRAY: true
		SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING: true
		UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING: true
		                                PARTIALLY_BOUND_BINDING_ARRAY: false
		                                          MULTI_DRAW_INDIRECT: true
		                                    MULTI_DRAW_INDIRECT_COUNT: false
		                                               PUSH_CONSTANTS: true
		                                   ADDRESS_MODE_CLAMP_TO_ZERO: true
		                                 ADDRESS_MODE_CLAMP_TO_BORDER: true
		                                            POLYGON_MODE_LINE: true
		                                           POLYGON_MODE_POINT: false
		                                   CONSERVATIVE_RASTERIZATION: false
		                                      VERTEX_WRITABLE_STORAGE: true
		                                                CLEAR_TEXTURE: true
		                                     SPIRV_SHADER_PASSTHROUGH: false
		                                                    MULTIVIEW: false
		                                       VERTEX_ATTRIBUTE_64BIT: false
		                                  SHADER_UNUSED_VERTEX_OUTPUT: true
		                                                   SHADER_F64: false
		                                                   SHADER_I16: false
		                                       SHADER_PRIMITIVE_INDEX: true
		                                      SHADER_EARLY_DEPTH_TEST: false
		                                         DUAL_SOURCE_BLENDING: true
	Limits:
		                        Max Texture Dimension 1d: 16384
		                        Max Texture Dimension 2d: 16384
		                        Max Texture Dimension 3d: 2048
		                        Max Texture Array Layers: 2048
		                                 Max Bind Groups: 8
		                     Max Bindings Per Bind Group: 65535
		 Max Dynamic Uniform Buffers Per Pipeline Layout: 8
		 Max Dynamic Storage Buffers Per Pipeline Layout: 4
		           Max Sampled Textures Per Shader Stage: 128
		                   Max Samplers Per Shader Stage: 16
		            Max Storage Buffers Per Shader Stage: 31
		           Max Storage Textures Per Shader Stage: 128
		            Max Uniform Buffers Per Shader Stage: 31
		                 Max Uniform Buffer Binding Size: 4294967295
		                 Max Storage Buffer Binding Size: 4294967295
		                                 Max Buffer Size: 17179869184
		                              Max Vertex Buffers: 31
		                           Max Vertex Attributes: 31
		                  Max Vertex Buffer Array Stride: 2048
		                          Max Push Constant Size: 4096
		             Min Uniform Buffer Offset Alignment: 256
		             Min Storage Buffer Offset Alignment: 256
		                Max Inter-Stage Shader Component: 124
		              Max Compute Workgroup Storage Size: 32768
		           Max Compute Invocations Per Workgroup: 1024
		                    Max Compute Workgroup Size X: 1024
		                    Max Compute Workgroup Size Y: 1024
		                    Max Compute Workgroup Size Z: 1024
		            Max Compute Workgroups Per Dimension: 65535
	Downlevel Properties:
		                       Shader Model: Sm5
		                     COMPUTE_SHADERS: true
		           FRAGMENT_WRITABLE_STORAGE: true
		                  INDIRECT_EXECUTION: true
		                         BASE_VERTEX: true
		             READ_ONLY_DEPTH_STENCIL: true
		 NON_POWER_OF_TWO_MIPMAPPED_TEXTURES: true
		                 CUBE_ARRAY_TEXTURES: true
		                 COMPARISON_SAMPLERS: true
		                   INDEPENDENT_BLEND: true
		                      VERTEX_STORAGE: true
		               ANISOTROPIC_FILTERING: true
		                    FRAGMENT_STORAGE: true
		                MULTISAMPLED_SHADING: true
		     DEPTH_TEXTURE_AND_BUFFER_COPIES: true
		       WEBGPU_TEXTURE_FORMAT_SUPPORT: true
		 BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED: true
		           UNRESTRICTED_INDEX_BUFFER: true
		              FULL_DRAW_INDEX_UINT32: true
		                    DEPTH_BIAS_CLAMP: true
		                        VIEW_FORMATS: true
		UNRESTRICTED_EXTERNAL_TEXTURE_COPIES: true
		                SURFACE_VIEW_FORMATS: true
		           NONBLOCKING_QUERY_RESOLVE: true

	 Texture Format Allowed Usages:
		                      ┌──────────┬──────────┬─────────────────┬─────────────────┬───────────────────┐
		             R8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		             R8Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		              R8Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		              R8Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		             R16Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		             R16Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            R16Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            R16Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            R16Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            Rg8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            Rg8Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		             Rg8Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		             Rg8Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		             R32Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		             R32Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            R32Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            Rg16Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            Rg16Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		           Rg16Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		           Rg16Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		           Rg16Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		          Rgba8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		      Rgba8UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		          Rgba8Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		           Rgba8Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		           Rgba8Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		          Bgra8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		      Bgra8UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		         Rgb10a2Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		        Rgb10a2Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		        Rg11b10Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            Rg32Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            Rg32Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		           Rg32Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		          Rgba16Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		          Rgba16Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		         Rgba16Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		         Rgba16Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		         Rgba16Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		          Rgba32Uint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		          Rgba32Sint: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		         Rgba32Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		            Stencil8: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		        Depth16Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │ RENDER_ATTACHMENT │
		        Depth32Float: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │ RENDER_ATTACHMENT │
		Depth32FloatStencil8: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │ RENDER_ATTACHMENT │
		         Depth24Plus: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │ RENDER_ATTACHMENT │
		 Depth24PlusStencil8: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │ RENDER_ATTACHMENT │
		        Rgb9e5Ufloat: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │ STORAGE_BINDING │ RENDER_ATTACHMENT │
		        Bc1RgbaUnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		    Bc1RgbaUnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        Bc2RgbaUnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		    Bc2RgbaUnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        Bc3RgbaUnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		    Bc3RgbaUnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		           Bc4RUnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		           Bc4RSnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		          Bc5RgUnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		          Bc5RgSnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       Bc6hRgbUfloat: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        Bc6hRgbFloat: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        Bc7RgbaUnorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		    Bc7RgbaUnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       Etc2Rgb8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   Etc2Rgb8UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		     Etc2Rgb8A1Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		 Etc2Rgb8A1UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		      Etc2Rgba8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		  Etc2Rgba8UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         EacR11Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         EacR11Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        EacRg11Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        EacRg11Snorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB4x4Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB4x4UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB4x4Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB5x4Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB5x4UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB5x4Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB5x5Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB5x5UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB5x5Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB6x5Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB6x5UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB6x5Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB6x6Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB6x6UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB6x6Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB8x5Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB8x5UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB8x5Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB8x6Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB8x6UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB8x6Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB8x8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		   AstcB8x8UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		         AstcB8x8Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		      AstcB10x5Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		  AstcB10x5UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        AstcB10x5Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		      AstcB10x6Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		  AstcB10x6UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        AstcB10x6Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		      AstcB10x8Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		  AstcB10x8UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		        AstcB10x8Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		     AstcB10x10Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		 AstcB10x10UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB10x10Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		     AstcB12x10Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		 AstcB12x10UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB12x10Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		     AstcB12x12Unorm: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		 AstcB12x12UnormSrgb: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		       AstcB12x12Hdr: │ COPY_SRC │ COPY_DST │ TEXTURE_BINDING │                 │                   │
		                      └──────────┴──────────┴─────────────────┴─────────────────┴───────────────────┘

	 Texture Format Flags:
		                      ┌────────────┬────────────────┬────────────────┬────────────────┬─────────────────┬─────────────────────┬────────────────────┬───────────┐
		             R8Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │ STORAGE_READ_WRITE │ BLENDABLE │
		             R8Snorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		              R8Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		              R8Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		             R16Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		             R16Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		            R16Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		            R16Snorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		            R16Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │ STORAGE_READ_WRITE │ BLENDABLE │
		            Rg8Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		            Rg8Snorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		             Rg8Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │                    │           │
		             Rg8Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │                    │           │
		             R32Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		             R32Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		            R32Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │ STORAGE_READ_WRITE │ BLENDABLE │
		            Rg16Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │                    │           │
		            Rg16Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │                    │           │
		           Rg16Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		           Rg16Snorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		           Rg16Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		          Rgba8Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │ STORAGE_READ_WRITE │ BLENDABLE │
		      Rgba8UnormSrgb: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		          Rgba8Snorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		           Rgba8Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		           Rgba8Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		          Bgra8Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		      Bgra8UnormSrgb: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		         Rgb10a2Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │                    │           │
		        Rgb10a2Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		        Rg11b10Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		            Rg32Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │                    │           │
		            Rg32Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │                    │           │
		           Rg32Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		          Rgba16Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		          Rgba16Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		         Rgba16Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		         Rgba16Snorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		         Rgba16Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │ STORAGE_READ_WRITE │ BLENDABLE │
		          Rgba32Uint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		          Rgba32Sint: │            │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │                     │ STORAGE_READ_WRITE │           │
		         Rgba32Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │ STORAGE_READ_WRITE │ BLENDABLE │
		            Stencil8: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		        Depth16Unorm: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │           │
		        Depth32Float: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │           │
		Depth32FloatStencil8: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │           │
		         Depth24Plus: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │           │
		 Depth24PlusStencil8: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │           │
		        Rgb9e5Ufloat: │ FILTERABLE │ MULTISAMPLE_X2 │ MULTISAMPLE_X4 │                │                 │ MULTISAMPLE_RESOLVE │                    │ BLENDABLE │
		        Bc1RgbaUnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		    Bc1RgbaUnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        Bc2RgbaUnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		    Bc2RgbaUnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        Bc3RgbaUnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		    Bc3RgbaUnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		           Bc4RUnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		           Bc4RSnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		          Bc5RgUnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		          Bc5RgSnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       Bc6hRgbUfloat: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        Bc6hRgbFloat: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        Bc7RgbaUnorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		    Bc7RgbaUnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       Etc2Rgb8Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   Etc2Rgb8UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		     Etc2Rgb8A1Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		 Etc2Rgb8A1UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		      Etc2Rgba8Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		  Etc2Rgba8UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         EacR11Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         EacR11Snorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        EacRg11Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        EacRg11Snorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB4x4Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB4x4UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB4x4Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB5x4Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB5x4UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB5x4Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB5x5Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB5x5UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB5x5Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB6x5Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB6x5UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB6x5Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB6x6Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB6x6UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB6x6Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB8x5Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB8x5UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB8x5Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB8x6Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB8x6UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB8x6Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB8x8Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		   AstcB8x8UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		         AstcB8x8Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		      AstcB10x5Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		  AstcB10x5UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        AstcB10x5Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		      AstcB10x6Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		  AstcB10x6UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        AstcB10x6Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		      AstcB10x8Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		  AstcB10x8UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		        AstcB10x8Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		     AstcB10x10Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		 AstcB10x10UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB10x10Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		     AstcB12x10Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		 AstcB12x10UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB12x10Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		     AstcB12x12Unorm: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		 AstcB12x12UnormSrgb: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		       AstcB12x12Hdr: │ FILTERABLE │                │                │                │                 │                     │                    │           │
		                      └────────────┴────────────────┴────────────────┴────────────────┴─────────────────┴─────────────────────┴────────────────────┴───────────┘

@sagudev
Copy link
Member Author

sagudev commented Dec 22, 2023

Does website works on firefox on your machine?

@beaufortfrancois
Copy link

When setting the gfx.webgpu.ignore-blocklist pref in about:config, Firefox Nightly works!

image

@sagudev
Copy link
Member Author

sagudev commented Dec 22, 2023

Try setting RUST_LOG=trace and paste the output from servo terminal invocation (ex: RUST_LOG=debug ./servo --pref dom.webgpu.enabled https://webgpureport.org/).

@beaufortfrancois
Copy link

$ RUST_LOG=debug /Applications/Servo.app/Contents/MacOS/servo --pref dom.webgpu.enabled http://webgpureport.org
2023-12-22 19:31:37.657 servo[26666:3561544] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
[2023-12-22T18:31:37Z WARN  constellation::constellation] Trying to get an event-loop from an unknown browsing context group
[2023-12-22T18:31:37Z WARN  constellation::constellation] Pipeline(1,1): Visibility change for closed pipeline
[2023-12-22T18:31:37Z INFO  net::cookie_storage]  === COOKIES SENT: 
[2023-12-22T18:31:37Z INFO  net::http_loader] GET request for http://webgpureport.org/
[2023-12-22T18:31:37Z INFO  net::http_loader] got 301 response for Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("webgpureport.org")), port: None, path: "/", query: None, fragment: None }
[2023-12-22T18:31:37Z INFO  net::cookie_storage]  === COOKIES SENT: 
[2023-12-22T18:31:37Z INFO  net::http_loader] GET request for https://webgpureport.org/
[2023-12-22T18:31:38Z INFO  net::http_loader] got 200 response for Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("webgpureport.org")), port: None, path: "/", query: None, fragment: None }
[2023-12-22T18:31:38Z WARN  script::timers] Resuming an already resumed timer.
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    32:16 Unsupported property declaration: 'color-scheme: light dark;', UnknownProperty("color-scheme")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    47:9 Invalid media rule: (, MediaQueryExpectedFeatureName("prefers-color-scheme")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    88:12 Unsupported property declaration: 'display: flex;', OtherInvalidValue("display")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    89:15 Unsupported property declaration: 'align-items: center;', UnknownProperty("align-items")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    90:19 Unsupported property declaration: 'justify-content: flex-start;', UnknownProperty("justify-content")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    105:12 Unsupported property declaration: 'display: flex;', OtherInvalidValue("display")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    106:19 Unsupported property declaration: 'justify-content: space-between;', UnknownProperty("justify-content")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    112:12 Unsupported property declaration: 'display: inline-flex;', OtherInvalidValue("display")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    113:13 Unsupported property declaration: 'flex-wrap: wrap;', UnknownProperty("flex-wrap")
[2023-12-22T18:31:38Z INFO  script::dom::bindings::refcounted] growing refcounted references by 3
[2023-12-22T18:31:38Z INFO  script::dom::bindings::refcounted] removing 0 refcounted references
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    184:21 Unsupported property declaration: 'pointer-events: all;', OtherInvalidValue("pointer-events")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    224:24 Unsupported property declaration: '-moz-transform: rotate(45deg);', UnknownProperty("-moz-transform")
[2023-12-22T18:31:38Z INFO  script::dom::window] Url:	https://webgpureport.org/
    226:20 Unsupported property declaration: 'box-shadow: 4px 4px 10px rgba(0,0,0,0.8);', UnknownProperty("box-shadow")
[2023-12-22T18:31:38Z INFO  script::dom::bindings::refcounted] growing refcounted references by 7
[2023-12-22T18:31:38Z INFO  script::dom::bindings::refcounted] removing 0 refcounted references
[2023-12-22T18:31:38Z INFO  net::cookie_storage]  === COOKIES SENT: 
[2023-12-22T18:31:38Z INFO  net::http_loader] GET request for https://webgpureport.org/webgpu-notext.svg
[2023-12-22T18:31:38Z INFO  net::cookie_storage]  === COOKIES SENT: 
[2023-12-22T18:31:38Z INFO  net::http_loader] GET request for https://webgpureport.org/index.js
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
[2023-12-22T18:31:38Z INFO  net::http_loader] got 200 response for "https://webgpureport.org/webgpu-notext.s... (e5e0636d81fe496)"
[2023-12-22T18:31:38Z INFO  net::http_loader] got 200 response for Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("webgpureport.org")), port: None, path: "/index.js", query: None, fragment: None }
[2023-12-22T18:31:38Z INFO  wgpu_core::instance] Adapter Metal AdapterInfo { name: "Apple M1 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }
[2023-12-22T18:31:38Z INFO  wgpu_core::instance] Adapter Metal AdapterInfo { name: "Apple M1 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }
[2023-12-22T18:31:38Z INFO  wgpu_core::global] Dropping Global
[2023-12-22T18:31:38Z WARN  script::dom::gpu] Could not get GPUAdapter ("NotFound")
[2023-12-22T18:31:38Z WARN  servo::main2] Panic hook called.
[2023-12-22T18:31:38Z WARN  constellation::constellation] Failed to send request adapter message on WebGPU channel
called `Result::unwrap()` on an `Err` value: RecvError (thread Script(1,1), at components/script/script_thread.rs:1498)
[2023-12-22T18:31:38Z ERROR servo::main2] called `Result::unwrap()` on an `Err` value: RecvError
[2023-12-22T18:31:38Z WARN  constellation::constellation] creating replacement pipeline for crash page
[2023-12-22T18:31:38Z WARN  script::timers] Resuming an already resumed timer.
[2023-12-22T18:31:38Z INFO  script::dom::bindings::refcounted] growing refcounted references by 3
[2023-12-22T18:31:38Z INFO  script::dom::bindings::refcounted] removing 1 refcounted references

@beaufortfrancois
Copy link

Here are more logs:

$ ./mach run --pref dom.webgpu.enabled https://webgpureport.org
No build type specified so assuming `--dev`.
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
called `Result::unwrap()` on an `Err` value: RecvError (thread Script(1,1), at components/script/script_thread.rs:1498)
   0: backtrace::backtrace::libunwind::trace
             at /Users/fbeaufort/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.69/src/backtrace/libunwind.rs:93:5
      backtrace::backtrace::trace_unsynchronized
             at /Users/fbeaufort/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.69/src/backtrace/mod.rs:66:5
   1: <servo::backtrace::Print as core::fmt::Debug>::fmt
             at /Users/fbeaufort/github/servo/ports/servoshell/backtrace.rs:54:13
   2: core::fmt::rt::Argument::fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/fmt/rt.rs:138:9
      core::fmt::write
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/fmt/mod.rs:1114:21
   3: std::io::Write::write_fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/io/mod.rs:1763:15
   4: servo::backtrace::print
             at /Users/fbeaufort/github/servo/ports/servoshell/backtrace.rs:18:5
   5: servo::main2::main::{{closure}}
             at /Users/fbeaufort/github/servo/ports/servoshell/main2.rs:101:21
   6: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/boxed.rs:2021:9
      std::panicking::rust_panic_with_hook
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:735:13
   7: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:609:13
   8: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:170:18
   9: rust_begin_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
  10: core::panicking::panic_fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
  11: core::result::unwrap_failed
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
  12: core::result::Result<T,E>::unwrap
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1077:23
  13: script::script_thread::ScriptThread::handle_msgs
             at /Users/fbeaufort/github/servo/components/script/script_thread.rs:1498:37
  14: script::script_thread::ScriptThread::start
             at /Users/fbeaufort/github/servo/components/script/script_thread.rs:1448:15
  15: <script::script_thread::ScriptThread as script_traits::ScriptThreadFactory>::create::{{closure}}::{{closure}}
             at /Users/fbeaufort/github/servo/components/script/script_thread.rs:842:25
  16: profile_traits::mem::ProfilerChan::run_with_memory_reporting
             at /Users/fbeaufort/github/servo/components/shared/profile/mem.rs:91:9
  17: <script::script_thread::ScriptThread as script_traits::ScriptThreadFactory>::create::{{closure}}
             at /Users/fbeaufort/github/servo/components/script/script_thread.rs:840:17
  18: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:154:18
  19: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/thread/mod.rs:529:17
  20: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panic/unwind_safe.rs:271:9
  21: std::panicking::try::do_call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:504:40
  22: ___rust_try
  23: std::panicking::try
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:468:19
  24: std::panic::catch_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panic.rs:142:14
      std::thread::Builder::spawn_unchecked_::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/thread/mod.rs:528:30
  25: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:250:5
  26: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/boxed.rs:2007:9
      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/boxed.rs:2007:9
      std::sys::unix::thread::Thread::new::thread_start
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys/unix/thread.rs:108:17
  27: __pthread_joiner_wake
[2023-12-23T05:11:36Z ERROR servo::main2] called `Result::unwrap()` on an `Err` value: RecvError

@beaufortfrancois
Copy link

I can also reproduce the same error with the javascript code below:

  const adapter = await navigator.gpu.requestAdapter();
  const device = await adapter.requestDevice({
    requiredLimits: { maxTextureDimension1D: 123456 },
  });

You can try it at https://red-triangle-webgpu.glitch.me/servo-issue-30915.html

@sagudev
Copy link
Member Author

sagudev commented Dec 23, 2023

I can also reproduce the same error with the javascript code below:

  const adapter = await navigator.gpu.requestAdapter();
  const device = await adapter.requestDevice({
    requiredLimits: { maxTextureDimension1D: 123456 },
  });

You can try it at https://red-triangle-webgpu.glitch.me/servo-issue-30915.html

Thanks, I can reproduce this on my computer. It's not exactly the same error but goes through same path (that we apparently handle badly).

script::dom::gpuadapter Could not get GPUDevice causes panic

@gterzian
Copy link
Member

gterzian commented Dec 28, 2023


[2023-12-22T18:31:38Z WARN  constellation::constellation] Failed to send request adapter message on WebGPU channel
called `Result::unwrap()` on an `Err` value: RecvError (thread Script(1,1), at components/script/script_thread.rs:1498)

Properly handling this is part of #30895 (this issue is then more about "why is there no adapter returned on a Mac?")

@gterzian gterzian added I-panic Servo encounters a panic. A-content/webgpu The WebGPU implementation. labels Dec 29, 2023
@gterzian
Copy link
Member

gterzian commented Jan 3, 2024

Actually this was another problem, pr opened...

@gterzian
Copy link
Member

gterzian commented Jan 4, 2024

The crash is fixed by #30989

Note that the actual error happened here, and it returned [wgpu_core::instance::RequestAdapterError. ](https://docs.rs/wgpu-core/latest/wgpu_core/instance/enum.RequestAdapterError.html#variant.NotFound).

Why no adapter is found on a Mac M2 is perhaps an issue to file directly at https://github.com/gfx-rs/wgpu ?

@gterzian gterzian closed this as completed Jan 4, 2024
@sagudev
Copy link
Member Author

sagudev commented Jan 4, 2024

Why no adapter is found on a Mac M2 is perhaps an issue to file directly at https://github.com/gfx-rs/wgpu ?

I think not because, wgpu-info does found it. We probably need to re-review our backends choices or get for equivalent of gfx.webgpu.ignore-blocklist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-content/webgpu The WebGPU implementation. I-panic Servo encounters a panic.
Projects
Status: Done
Development

No branches or pull requests

3 participants