core icon indicating copy to clipboard operation
core copied to clipboard

Does not run in a virtual machine

Open dreikk91 opened this issue 2 months ago • 2 comments

Describe the bug

Hello!! I'm trying to run the demo, but I get the following error `PS C:\Users\a.pidlypnyi> go run cogentcore.org/core/examples/demo@main 2025/10/09 23:26:17 panic: runtime error: index out of range [0] with length 0 2025/10/09 23:26:17 2025/10/09 23:26:17 ----- START OF STACK TRACE: ----- 2025/10/09 23:26:17 goroutine 1 [running, locked to thread]: runtime/debug.Stack() C:/Go/src/runtime/debug/stack.go:26 +0x5e cogentcore.org/core/system.HandleRecoverBase({0x7ff7a65641c0, 0xc00d1ea018}) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/recover.go:50 +0x4b cogentcore.org/core/core.handleRecover({0x7ff7a65641c0, 0xc00d1ea018}) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/recover.go:39 +0x52 cogentcore.org/core/core.(*Stage).run.func1() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:342 +0x24 panic({0x7ff7a65641c0?, 0xc00d1ea018?}) C:/Go/src/runtime/panic.go:783 +0x132 cogentcore.org/core/gpu.(*Surface).InitConfig(0xc002170008) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:143 +0x23b cogentcore.org/core/gpu.(*Surface).init(0xc002170008, 0x1d?, 0x400000002?, {0xc002a08078?, 0xc002a08018?}, 0x1, 0x0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:83 +0x10b cogentcore.org/core/gpu.NewSurface(0xc002a08000, 0xc00cef3320, {0x5a?, 0x120?}, 0x1, 0x0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:60 +0xb8 cogentcore.org/core/system/driver/desktop.(*App).NewWindow.func2() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/desktop/app.go:129 +0x145 cogentcore.org/core/system/driver/base.(*App).RunOnMain(0x0?, 0x0?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/base/app.go:91 +0x9b cogentcore.org/core/system/driver/desktop.(*App).NewWindow(0x7ff7a7567d00, 0xc00d9f42a0?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/desktop/app.go:118 +0x3e5 cogentcore.org/core/core.newRenderWindow({0xc001aaa1e0, 0x22}, {0x7ff7a662c9b9, 0x10}, 0xc00d9f42a0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/renderwindow.go:125 +0xa2 cogentcore.org/core/core.(*Stage).newRenderWindow(0xc00294ec00) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:404 +0x2eb cogentcore.org/core/core.(*Stage).runWindow(0xc00294ec00) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:270 +0x685 cogentcore.org/core/core.(*Stage).run(0x4?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:345 +0x88 cogentcore.org/core/core.(*Stage).Run(0xc000000000?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:324 +0x7a cogentcore.org/core/core.(*Body).RunWindow(0xc002973508?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:87 +0x47 cogentcore.org/core/core.(*Body).RunMainWindow(0xc000218a88?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:47 +0x28 main.main() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/examples/demo/demo.go:45 +0xcf

2025/10/09 23:26:17 ----- END OF STACK TRACE ----- 2025/10/09 23:26:17 SAVED CRASH LOG TO C:\Users\a.pidlypnyi\AppData\Roaming\Cogent\ Core\ Demo\crash-logs\crash_2025-10-09_23-26-17 2025/10/09 23:26:17 panic: runtime error: index out of range [0] with length 0 2025/10/09 23:26:17 2025/10/09 23:26:17 ----- START OF STACK TRACE: ----- 2025/10/09 23:26:17 goroutine 1 [running, locked to thread]: runtime/debug.Stack() C:/Go/src/runtime/debug/stack.go:26 +0x5e cogentcore.org/core/system.HandleRecoverBase({0x7ff7a65641c0, 0xc00bf09680}) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/recover.go:50 +0x4b cogentcore.org/core/core.handleRecover({0x7ff7a65641c0, 0xc00bf09680}) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/recover.go:39 +0x52 cogentcore.org/core/core.(*Stage).run.func1() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:342 +0x24 panic({0x7ff7a65641c0?, 0xc00bf09680?}) C:/Go/src/runtime/panic.go:783 +0x132 cogentcore.org/core/gpu.(*Surface).InitConfig(0xc00cb9e008) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:143 +0x23b cogentcore.org/core/gpu.(*Surface).init(0xc00cb9e008, 0x7ff7a5617ba6?, 0x0?, {0x0?, 0xc00bf15fcc?}, 0x1, 0x0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:83 +0x10b cogentcore.org/core/gpu.NewSurface(0xc002a08000, 0xc00bf15fd0, {0xb4?, 0x120?}, 0x1, 0x0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:60 +0xb8 cogentcore.org/core/system/driver/desktop.(*App).NewWindow.func2() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/desktop/app.go:129 +0x145 cogentcore.org/core/system/driver/base.(*App).RunOnMain(0x0?, 0x0?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/base/app.go:91 +0x9b cogentcore.org/core/system/driver/desktop.(*App).NewWindow(0x7ff7a7567d00, 0xc00059dc20?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/desktop/app.go:118 +0x3e5 cogentcore.org/core/core.newRenderWindow({0xc00ac02180, 0x37}, {0xc00212c0c0, 0x25}, 0xc00059dc20) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/renderwindow.go:125 +0xa2 cogentcore.org/core/core.(*Stage).newRenderWindow(0xc000646180) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:404 +0x2eb cogentcore.org/core/core.(*Stage).runWindow(0xc000646180) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:270 +0x685 cogentcore.org/core/core.(*Stage).run(0x1?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:345 +0x88 cogentcore.org/core/core.(*Stage).Run(0x7ff700000000?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:324 +0x7a cogentcore.org/core/core.(*Body).RunWindow(0x0?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:87 +0x47 cogentcore.org/core/core.handleRecover({0x7ff7a65641c0, 0xc00d1ea018}) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/recover.go:85 +0x457 cogentcore.org/core/core.(*Stage).run.func1() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:342 +0x24 panic({0x7ff7a65641c0?, 0xc00d1ea018?}) C:/Go/src/runtime/panic.go:783 +0x132 cogentcore.org/core/gpu.(*Surface).InitConfig(0xc002170008) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:143 +0x23b cogentcore.org/core/gpu.(*Surface).init(0xc002170008, 0x1d?, 0x400000002?, {0xc002a08078?, 0xc002a08018?}, 0x1, 0x0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:83 +0x10b cogentcore.org/core/gpu.NewSurface(0xc002a08000, 0xc00cef3320, {0x5a?, 0x120?}, 0x1, 0x0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/gpu/surface.go:60 +0xb8 cogentcore.org/core/system/driver/desktop.(*App).NewWindow.func2() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/desktop/app.go:129 +0x145 cogentcore.org/core/system/driver/base.(*App).RunOnMain(0x0?, 0x0?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/base/app.go:91 +0x9b cogentcore.org/core/system/driver/desktop.(*App).NewWindow(0x7ff7a7567d00, 0xc00d9f42a0?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/system/driver/desktop/app.go:118 +0x3e5 cogentcore.org/core/core.newRenderWindow({0xc001aaa1e0, 0x22}, {0x7ff7a662c9b9, 0x10}, 0xc00d9f42a0) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/renderwindow.go:125 +0xa2 cogentcore.org/core/core.(*Stage).newRenderWindow(0xc00294ec00) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:404 +0x2eb cogentcore.org/core/core.(*Stage).runWindow(0xc00294ec00) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:270 +0x685 cogentcore.org/core/core.(*Stage).run(0x4?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:345 +0x88 cogentcore.org/core/core.(*Stage).Run(0xc000000000?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/stage.go:324 +0x7a cogentcore.org/core/core.(*Body).RunWindow(0xc002973508?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:87 +0x47 cogentcore.org/core/core.(*Body).RunMainWindow(0xc000218a88?) C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/core/mainstage.go:47 +0x28 main.main() C:/Users/a.pidlypnyi/go/pkg/mod/cogentcore.org/[email protected]/examples/demo/demo.go:45 +0xcf

2025/10/09 23:26:17 ----- END OF STACK TRACE ----- 2025/10/09 23:26:17 SAVED CRASH LOG TO C:\Users\a.pidlypnyi\AppData\Roaming\Cogent\ Core\ Demo\crash-logs\crash_2025-10-09_23-26-17`

webgpuinfo `Default WebGPU Adapter number: 0 Type: cpu Backend: d3d12 Set the GPU_DEVICE environment variable to an adapter number to select a different GPU

##################################################################### WebGPU Adapter number: 0 Type: cpu Backend: d3d12 { "VendorId": 5140, "VendorName": "0x1414", "Architecture": "", "DeviceId": 140, "Name": "0x8c", "DriverDescription": "Microsoft Basic Render Driver", "AdapterType": 2, "BackendType": 4 }

{ "Limits": { "MaxTextureDimension1D": 16384, "MaxTextureDimension2D": 16384, "MaxTextureDimension3D": 2048, "MaxTextureArrayLayers": 2048, "MaxBindGroups": 8, "MaxBindingsPerBindGroup": 65535, "MaxDynamicUniformBuffersPerPipelineLayout": 8, "MaxDynamicStorageBuffersPerPipelineLayout": 4, "MaxSampledTexturesPerShaderStage": 1048576, "MaxSamplersPerShaderStage": 2048, "MaxStorageBuffersPerShaderStage": 262144, "MaxStorageTexturesPerShaderStage": 262144, "MaxUniformBuffersPerShaderStage": 1048576, "MaxUniformBufferBindingSize": 65536, "MaxStorageBufferBindingSize": 2147483648, "MinUniformBufferOffsetAlignment": 256, "MinStorageBufferOffsetAlignment": 32, "MaxVertexBuffers": 16, "MaxBufferSize": 2147483647, "MaxVertexAttributes": 32, "MaxVertexBufferArrayStride": 2048, "MaxInterStageShaderComponents": 60, "MaxInterStageShaderVariables": 0, "MaxColorAttachments": 0, "MaxColorAttachmentBytesPerSample": 0, "MaxComputeWorkgroupStorageSize": 16384, "MaxComputeInvocationsPerWorkgroup": 768, "MaxComputeWorkgroupSizeX": 1024, "MaxComputeWorkgroupSizeY": 1024, "MaxComputeWorkgroupSizeZ": 64, "MaxComputeWorkgroupsPerDimension": 65535, "MaxPushConstantSize": 30146560 } }

##################################################################### WebGPU Adapter number: 1 Type: unknown Backend: open-gl { "VendorId": 0, "VendorName": "0x0", "Architecture": "", "DeviceId": 0, "Name": "0x0", "DriverDescription": "D3D12 (Microsoft Basic Render Driver)", "AdapterType": 3, "BackendType": 7 }

{ "Limits": { "MaxTextureDimension1D": 16384, "MaxTextureDimension2D": 16384, "MaxTextureDimension3D": 2048, "MaxTextureArrayLayers": 2048, "MaxBindGroups": 8, "MaxBindingsPerBindGroup": 65535, "MaxDynamicUniformBuffersPerPipelineLayout": 14, "MaxDynamicStorageBuffersPerPipelineLayout": 16, "MaxSampledTexturesPerShaderStage": 16, "MaxSamplersPerShaderStage": 16, "MaxStorageBuffersPerShaderStage": 16, "MaxStorageTexturesPerShaderStage": 32, "MaxUniformBuffersPerShaderStage": 14, "MaxUniformBufferBindingSize": 65536, "MaxStorageBufferBindingSize": 134217728, "MinUniformBufferOffsetAlignment": 256, "MinStorageBufferOffsetAlignment": 32, "MaxVertexBuffers": 16, "MaxBufferSize": 2147483647, "MaxVertexAttributes": 16, "MaxVertexBufferArrayStride": 2048, "MaxInterStageShaderComponents": 124, "MaxInterStageShaderVariables": 0, "MaxColorAttachments": 0, "MaxColorAttachmentBytesPerSample": 0, "MaxComputeWorkgroupStorageSize": 32768, "MaxComputeInvocationsPerWorkgroup": 1024, "MaxComputeWorkgroupSizeX": 1024, "MaxComputeWorkgroupSizeY": 1024, "MaxComputeWorkgroupSizeZ": 64, "MaxComputeWorkgroupsPerDimension": 65535, "MaxPushConstantSize": 30146560 } }`

On another virtual machine, the application runs `Default WebGPU Adapter number: 0 Type: cpu Backend: d3d12 Set the GPU_DEVICE environment variable to an adapter number to select a different GPU

##################################################################### WebGPU Adapter number: 0 Type: cpu Backend: d3d12 { "VendorId": 5140, "VendorName": "0x1414", "Architecture": "", "DeviceId": 140, "Name": "0x8c", "DriverDescription": "Microsoft Basic Render Driver", "AdapterType": 2, "BackendType": 4 }

{ "Limits": { "MaxTextureDimension1D": 16384, "MaxTextureDimension2D": 16384, "MaxTextureDimension3D": 2048, "MaxTextureArrayLayers": 2048, "MaxBindGroups": 8, "MaxBindingsPerBindGroup": 65535, "MaxDynamicUniformBuffersPerPipelineLayout": 8, "MaxDynamicStorageBuffersPerPipelineLayout": 4, "MaxSampledTexturesPerShaderStage": 1048576, "MaxSamplersPerShaderStage": 2048, "MaxStorageBuffersPerShaderStage": 262144, "MaxStorageTexturesPerShaderStage": 262144, "MaxUniformBuffersPerShaderStage": 1048576, "MaxUniformBufferBindingSize": 65536, "MaxStorageBufferBindingSize": 2147483648, "MinUniformBufferOffsetAlignment": 256, "MinStorageBufferOffsetAlignment": 32, "MaxVertexBuffers": 16, "MaxBufferSize": 2147483647, "MaxVertexAttributes": 32, "MaxVertexBufferArrayStride": 2048, "MaxInterStageShaderComponents": 60, "MaxInterStageShaderVariables": 0, "MaxColorAttachments": 0, "MaxColorAttachmentBytesPerSample": 0, "MaxComputeWorkgroupStorageSize": 16384, "MaxComputeInvocationsPerWorkgroup": 768, "MaxComputeWorkgroupSizeX": 1024, "MaxComputeWorkgroupSizeY": 1024, "MaxComputeWorkgroupSizeZ": 64, "MaxComputeWorkgroupsPerDimension": 65535, "MaxPushConstantSize": 0 } }

`

How to reproduce

Proxmox VM Windows 10

Example code


Relevant output


Platform

Windows

dreikk91 avatar Oct 09 '25 20:10 dreikk91

Thank you for reporting this. Does the app work in a different VM? What OS is your computer natively, and does it work outside of a VM? Can you try running the webgpu example (go run github.com/cogentcore/webgpu/examples/triangle@main)? Thank you.

kkoreilly avatar Oct 09 '25 22:10 kkoreilly

It also works on another VM, i.e. on one VM where there is WebGPU Adapter number: 0 Type: cpu Backend: d3d12 and WebGPU Adapter number: 1 Type: unknown Backend: open-gl it does not work, but on a VM where there is only WebGPU Adapter number: 0 Type: cpu Backend: d3d12 it works. The server on which the VMs are run runs on debian and proxmox 8

PS C:\Users\a.pidlypnyi> go run github.com/cogentcore/webgpu/examples/triangle@main
go: downloading github.com/cogentcore/webgpu v0.23.1-0.20250519172458-e22653466f83
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Adapter is not Vulkan compliant, hiding adapter: Microsoft Direct3D12 (Microsoft Basic Render Driver)
[wgpu] [Warn] Max vertex attribute stride unknown. Assuming it is 2048
panic: failed to request adapter

goroutine 1 [running, locked to thread]:
main.main()
        C:/Users/a.pidlypnyi/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/glfw.go:29 +0x30b
exit status 2
PS C:\Users\a.pidlypnyi> go run github.com/cogentcore/webgpu/examples/triangle@main
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Adapter is not Vulkan compliant, hiding adapter: Microsoft Direct3D12 (Microsoft Basic Render Driver)
[wgpu] [Warn] Max vertex attribute stride unknown. Assuming it is 2048
panic: failed to request adapter

goroutine 1 [running, locked to thread]:
main.main()
        C:/Users/a.pidlypnyi/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/glfw.go:29 +0x30b
exit status 2

dreikk91 avatar Oct 10 '25 06:10 dreikk91