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

Fix crash during kiai section on specific map due to negative transform duration #17150

Merged
merged 2 commits into from Mar 10, 2022
Merged

Fix crash during kiai section on specific map due to negative transform duration #17150

merged 2 commits into from Mar 10, 2022

Conversation

SiimPender
Copy link
Contributor

How to reproduce

Select default skin (triangles)

DETRO - volcanic [Beginner] mapped by spro
https://osu.ppy.sh/beatmapsets/243337#osu/561335

Open map in editor or open any replay and scroll to 1:49 press play
When the 1528BPM section hits game crashes.


logs.zip

Relevant log section:

2022-03-07 18:59:09 [error]: An unhandled error has occurred.
2022-03-07 18:59:09 [error]: System.ArgumentOutOfRangeException: duration must be positive. (Parameter 'duration')
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.TransformableExtensions.PopulateTransform[TValue,TEasing,TThis](TThis t, Transform`3 transform, TValue newValue, Double duration, TEasing& easing)
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.TransformableExtensions.TransformTo[TThis,TValue,TEasing](TThis t, String propertyOrFieldName, TValue newValue, Double duration, TEasing& easing, String grouping)
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.Transforms.TransformSequence`1.Append(Generator childGenerator)
2022-03-07 18:59:09 [error]: at osu.Game.Rulesets.Osu.Skinning.Default.KiaiFlash.OnNewBeat(Int32 beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) in /var/lib/buildkite-agent/builds/debian-gnu-linux-vm-2/ppy/osu/osu.Game.Rulesets.Osu/Skinning/Default/KiaiFlash.cs:line 41
2022-03-07 18:59:09 [error]: at osu.Game.Graphics.Containers.BeatSyncedContainer.Update() in /var/lib/buildkite-agent/builds/debian-gnu-linux-vm-2/ppy/osu/osu.Game/Graphics/Containers/BeatSyncedContainer.cs:line 165
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree()
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2022-03-07 18:59:09 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()

I also tested this in windows 10, same thing happens.

Why this happens (I'm guessing)

timingPoint.BeatLength - fade_length becomes negative when BPM>750 as fade_length is 80 (750BPM = 80 ms BeatLength)

@bdach bdach changed the title Fix crash on super high bpm(>750) kiai sections Fix crash during kiai section on specific map due to negative transform duration Mar 7, 2022
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
@peppy peppy merged commit f82687a into ppy:master Mar 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants