ppy / osu

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

Crash on daily challenge after switching windows #29520

Open gepbird opened 2 months ago

gepbird commented 2 months ago

Type

Crash to desktop

Bug description

I was playing the daily challenge, then I quit the map, switched to a different window and osu! got unresponsive so I killed the process. I can't reproduce it, seems like a rare error.

Screenshots or videos

No response

Version

2024.817.0

Logs

1724077737.auth.log 1724077737.database.log 1724077737.input.log 1724077737.nauth.log 1724077737.network.log 1724077737.performance.log 1724077737.runtime.log

ppy-sentryintegration[bot] commented 2 months ago

Sentry issue: OSU-1J7Z

bdach commented 2 months ago

I have precisely zero evidence for this but I wouldn't be surprised if this is SDL pushing some garbage zero window size everywhere and everything else falling apart at the same time, because I don't know how to explain this otherwise:

2024-08-19 14:51:50 [error]: System.DivideByZeroException: Attempted to divide by zero.
2024-08-19 14:51:50 [error]: at System.Decimal.DecCalc.VarDecDiv(DecCalc& d1, DecCalc& d2)
2024-08-19 14:51:50 [error]: at osu.Game.Screens.SelectV2.Leaderboards.LeaderboardScoreV2.createRightContent() in /home/runner/work/osu-auth-client/osu-auth-client/osu/osu.Game/Screens/SelectV2/Leaderboards/LeaderboardScoreV2.cs:line 378
2024-08-19 14:51:50 [error]: at osu.Game.Screens.SelectV2.Leaderboards.LeaderboardScoreV2.load() in /home/runner/work/osu-auth-client/osu-auth-client/osu/osu.Game/Screens/SelectV2/Leaderboards/LeaderboardScoreV2.cs:line 137
2024-08-19 14:51:50 [error]: at osu.Game.Screens.SelectV2.Leaderboards.LeaderboardScoreV2.<>c.<RegisterForDependencyActivation>b__92_0(Object t, IReadOnlyDependencyContainer d) in /home/runner/work/osu-auth-client/osu-auth-client/osu/osu.Game/obj/Release/net8.0/osu.Framework.SourceGeneration/osu.Framework.SourceGeneration.Generators.Dependencies.DependencyInjectionSourceGenerator/g_osu.Game.Screens.SelectV2.Leaderboards.LeaderboardScoreV2_Dependencies.cs:line 20
2024-08-19 14:51:50 [error]: at osu.Framework.Allocation.DependencyActivator.<Activate>g__activateRecursively|8_0[T](Object obj, IReadOnlyDependencyContainer dependencies, Type currentType)
2024-08-19 14:51:50 [error]: at osu.Framework.Allocation.DependencyActivator.Activate[T](T obj, IReadOnlyDependencyContainer dependencies)
2024-08-19 14:51:50 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.InjectDependencies(IReadOnlyDependencyContainer dependencies)
2024-08-19 14:51:50 [error]: at osu.Framework.Graphics.Drawable.load(IFrameBasedClock clock, IReadOnlyDependencyContainer dependencies)
2024-08-19 14:51:50 [error]: at osu.Framework.Graphics.Drawable.Load(IFrameBasedClock clock, IReadOnlyDependencyContainer dependencies, Boolean isDirectAsyncContext)
2024-08-19 14:51:50 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.loadChild(Drawable child)
2024-08-19 14:51:50 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.AddInternal(Drawable drawable)
2024-08-19 14:51:50 [error]: at osu.Framework.Graphics.Containers.Container`1.AddInternal(Drawable drawable)
2024-08-19 14:51:50 [error]: at osu.Game.Screens.OnlinePlay.DailyChallenge.DailyChallengeLeaderboard.<>c__DisplayClass39_0.<RefetchScores>b__1() in /home/runner/work/osu-auth-client/osu-auth-client/osu/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeLeaderboard.cs:line 181

I don't even see a division operation in that method. Reminds me of that one bug that caused all sprite texts game-wide to become truncated for no reason.

Notably all of the occurrences of this I can see on sentry are on nixos, too.