ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.4k stars 2.29k forks source link

osu keeps running as suspended process that cannot be killed #26360

Open LukynkaCZE opened 10 months ago

LukynkaCZE commented 10 months ago

Type

Other

Bug description

After closing the game, it keeps running as suspended process. I tried killing it with task manager, taskkill and wmic but it does nothing

Screenshots or videos

Snímek obrazovky 2024-01-03 114025

Version

2023.1231.0.0

Logs

compressed-logs.zip

LukynkaCZE commented 10 months ago

After some more digging, I found out this seems to be related to having MIDI device connected. It closes fine when its not connected. Possibly related to #10067

peppy commented 10 months ago

Either needs an immediate fix or we disable MIDI support temporarily, I think.

bdach commented 10 months ago

Can't reproduce on my one test MIDI device...

@LukynkaCZE would you be able to create a memory dump of one of those stuck processes and send it my way via email? Please DO NOT post publically as it may contain sensitive information. Also make sure you put it somewhere you can later delete it from.

LukynkaCZE commented 10 months ago

For sure! What email do I send it to? pe@ppy.sh?

I tested both with Party Mix MK II which is a DJ Controller (they are just midi controllers) and Arturia Minilab 3 (midi keyboard) and I had the issue with both connected.

Also, probably obvious but this seems to be framework-wide issue. I happen to be developing game with osu!framework and same thing happens (even worse cause it wont move the new dll files in dev enviromnment due to it "being used by another process")

peppy commented 10 months ago

For sure! What email do I send it to? pe@ppy.sh?

Yes that works fine.

Also, probably obvious but this seems to be framework-wide issue.

Yep that's the assumption.

If you can attach a debugger and feel confident, rather than sending a memory dump, get it in a bad state, pause the debugger and check the threads view to find what threads are stuck and
what their call stack looks like.

LukynkaCZE commented 9 months ago

Alright I have sent the memory dumps. I have attached one from osu and one from empty osu!framework project. I am mainly java/kotlin developer so I don't really know how to debug properly in dotnet/C#, especially threads

peppy commented 9 months ago

Very weird.

For the framework one, the thread is in bassmix:

CleanShot 2024-01-25 at 07 34 38

For the osu! one, the thread is in MIDI devices as suggested:

CleanShot 2024-01-25 at 08 05 13

bdach commented 6 months ago

Deprioritising this from p0 since I can't reproduce any of this and the screenshots above don't really help to even begin investigating this.