Hey everyone! I'm running a media management app on my Windows on ARM laptop, and it's been giving me some trouble with ffmpeg hanging during processes like generating hover previews and screenshots. It gets to a certain point, and everything just stops—CPU and memory usage drop to idle with no error messages whatsoever, it just hangs indefinitely. I tried using process monitoring and looking at memory dumps, but I couldn't figure out what it was waiting on. I thought it might be an issue with the app being x64, and since I couldn't find a working ARM binary, I compiled one and it seems to fix the problem for now. So, I'm curious—what exactly could be causing this issue? Is it something like a timing issue or race conditions? Any ideas would be appreciated!
1 Answer
It's likely that the reason your application is hanging is related to compilation compatibility. If an open-source project doesn't officially support Windows ARM, it could be due to how certain dependencies are handled. Have you tried compiling the binaries in debug mode? This might help you identify where the system is getting stuck, especially if you're seeing things like blocked mutexes or semaphores. Using tools like gdb to get backtraces could shed some light on the hang-ups too!

I think checking the thread stack is a great idea! Using procmon with the source and debug PDB files should help you pinpoint the blocking line of code. It's all about seeing what the threads are waiting on. Good luck!