TeamRizu / OutFox

The Bug Reporting Repository for OutFox LTS 0.4, Alpha V and Steam Early Access Builds
https://projectoutfox.com
Apache License 2.0
182 stars 3 forks source link

[Game Crash] Crash at loading songs from osu! #623

Closed adlerosn closed 1 year ago

adlerosn commented 1 year ago

Describe the crash

What I was doing

Waiting OutFox to load songs, with a huge osu library (5727 beatmatsets).

When it crashes

Roughly 50% of the library is loaded before the menu shows up.

Difference from the last successful launch

Added more beatmatsets.

strace

$ strace outfox 2>>strace.txt 1>>strace.txt $ cat strace.txt | tail -5000 > strace_tail5k.txt strace_tail5k.txt

Wild guess

Assuming the last file opened is the problematic file, [...]/1726164 Shoujozenjidou - Ruten/Shoujozenjidou - Ruten (Vinnie741) [A suspicious individual is on the move].osu is the one to be looked for trouble.

It contains a timing point that reads 7564,-1E-308,4,2,0,0,1,0. The 2nd parameter should be a decimal (\d+(\.\d+)?), but a zero in scientific notation has been provided to the uninherited item, which means the beatLength was set to negative zero milliseconds, which might set the BPM to -∞ (negative infinity), which might mess up some internal math.

Logs

ProjectOutfox.Crash.2022-11-23--20.00.06.log ProjectOutfox.MainLog.2022-11-23--20.00.06.log ProjectOutfox-default.ThemeLua.2022-11-23--20.00.07.log

How can you reproduce the error?

On an Arch Linux installation:

  1. Install aur/outfox_bin, version 5.3.0_20221101_4.18.1_LTS-1
  2. Symlink osu songs folder inside ~/.project-outfox/Songs with a command like ln -s /wingameshdd/osu/Songs ~/.project-outfox/Songs/linuxOsuSongs containing a broken beatmap set
  3. Launch OutFox

[untested on Windows]

Screenshots/Videos

image

Game Mode

No response

Additional Information

No response

Scraticus commented 1 year ago

Thanks for reporting this! I can confirm the scientific notation was indeed causing the crash, these seem to be.. 'dump' or 'crash' charts designed to mess with the game a bit, so what we are going to do for these is just bail loading any charts with 1E numbers, as we can only see them used for these extreme charts.

This is fixed now, and will be in the 4.19 release / 5.0.0-rc35 release