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

On my windows, sometimes it show error: Cannot change thread mode after it is set #332

Open
longit123 opened this issue Mar 20, 2023 · 7 comments
Labels

Comments

@longit123
Copy link

longit123 commented Mar 20, 2023

ghw version: v0.10.0
GPU: RTX3070
Win10: 21H2 19044.1889
Go version: 1.19.6

@longit123
Copy link
Author

longit123 commented Mar 20, 2023

it is easy to appear after calling multiple times

gpu, err := ghw.GPU()

@jaypipes
Copy link
Owner

@longit123 does this only happen when calling the GPU function or does this happen when you call any ghw function on Windows?

@longit123
Copy link
Author

I am using wails + front-end development. Wails will monitor file updates during development and then perform hot updates. When I did not use ghw before, this problem did not occur. After using ghw, this problem will appear. After I Googled it, it may be due to the use of wails webview2, caused by hot update, I don't know how to solve this problem

@longit123
Copy link
Author

@jaypipes
Copy link
Owner

ghw does not write any files so I don't believe the file monitoring that Wails (or Vite) does is part of this. I suspect this may be a problem with the go-ole/go-ole library that the StackExchange/wmi dependency uses. Unfortunately, I don't know if there's anything that ghw can do to address this issue :(

@jaypipes
Copy link
Owner

Please see this related thread in another project that uses WMI/go-ole:

shirou/gopsutil#692

@matwachich
Copy link

I think I solved this by calling hardwareID functions inside a goroutine that I lock on thread (runtime.LockOSThread)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants