UnmaskedTournamentBeatmapPanel (introduced in https://github.com/ppy/osu/pull/24565) is causing the lazer tournament client to crash with the following stack trace:
System.InvalidOperationException: Can not have border effects/edge effects if masking is disabled.
at osu.Framework.Graphics.Containers.CompositeDrawable.CompositeDrawableDrawNode.ApplyState()
at osu.Framework.Graphics.Drawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Graphics.Containers.CompositeDrawable.addFromComposite(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode, Int32& j, CompositeDrawable parentComposite, List`1 target)
at osu.Framework.Graphics.Containers.CompositeDrawable.GenerateDrawNodeSubtree(UInt64 frame, Int32 treeIndex, Boolean forceNewDrawNode)
at osu.Framework.Platform.GameHost.UpdateFrame()
at osu.Framework.Threading.GameThread.processFrame()
--- End of stack trace from previous location ---
at osu.Framework.Platform.GameHost.<>c__DisplayClass139_0.<abortExecutionFromException>b__0()
at osu.Framework.Threading.ScheduledDelegate.InvokeTask()
at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
at osu.Framework.Threading.Scheduler.Update()
at osu.Framework.Threading.GameThread.processFrame()
at osu.Framework.Threading.GameThread.RunSingleFrame()
at osu.Framework.Platform.ThreadRunner.RunMainLoop()
at osu.Framework.Platform.GameHost.windowUpdate()
at osu.Framework.Platform.SDL2Window.RunFrame()
at osu.Framework.Platform.SDL2Window.RunMainLoop()
at osu.Framework.Platform.SDL2Window.Run()
at osu.Framework.Platform.GameHost.Run(Game game)
at osu.Desktop.Program.Main(String[] args) in /Users/daohe/RiderProjects/osu/osu.Desktop/Program.cs:line 118
Type
Crash to desktop
Bug description
UnmaskedTournamentBeatmapPanel
(introduced in https://github.com/ppy/osu/pull/24565) is causing the lazer tournament client to crash with the following stack trace:I've attached a
bracket.json
as well as anipc.txt
in this .zip for reproducing, if necessary. Steps to reproduce:Screenshots or videos
https://github.com/ppy/osu/assets/1176059/306b09dc-fa0f-4013-b1bf-9a7313f782dc
Version
master at revision 4ee7fbd9b0c539824727a7a06a3f80e69a44f571
Logs
network.log performance.log runtime.log