Skip to content

Commit bc9b8ae

Browse files
README: drop crash framing for stability section
Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/46b5e755-967f-4136-b92d-96697f1ecd3b Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
1 parent d16ad3d commit bc9b8ae

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,13 @@ Settings → Graphics → Renderer now exposes the full set of fork-added option
182182

183183
### 🛡️ Stability improvements
184184

185-
This fork includes several crash fixes on top of upstream:
185+
This fork includes several hardening fixes on top of upstream:
186186

187-
- **Sentry crash fix** — the app no longer crashes on startup when the error reporting service can't initialise (e.g. with a placeholder DSN)
188-
- **Graceful native library loading** — if the Oboe or Vulkan native libraries are missing, the app continues without them instead of crashing
187+
- **Sentry-safe init** — the app gracefully handles a missing/placeholder Sentry DSN instead of failing on startup
188+
- **Graceful native library loading** — if the Oboe or Vulkan native libraries are missing, the app continues without them
189189
- **JNI surface safety** — proper lifecycle management with atomic swaps and timeouts to prevent race conditions between Android surface creation and destruction
190-
- **Trimmer-safe builds** — critical reflection-heavy assemblies are protected from .NET IL trimming to prevent `TypeLoadException` crashes in release builds
191-
- **Architecture-correct native libraries (v144+)**`osu.Android.props` now strips desktop runtime `.so` files (`runtimes/{linux,osx,ios,maccatalyst,win,…}-*/native/`) from the Android publish set, and only marks Android-RID assets as `AssetType=native`. Previous releases accidentally packaged the Linux-glibc `libbass.so` (from `ppy.osu.Framework.NativeLibs`) into `lib/arm64-v8a/`, replacing the proper Android arm64 binary; bionic's loader rejected the glibc-versioned symbols and the app crashed at startup with `System.DllNotFoundException: bass`. The release workflow now scans every shipped `libbass*.so` for `GLIBC_*` versioned symbols and fails the build if any are found, so the regression cannot recur silently.
190+
- **Trimmer-safe builds** — critical reflection-heavy assemblies are protected from .NET IL trimming so release builds behave the same as debug
191+
- **Architecture-correct native libraries (v144+)**`osu.Android.props` strips desktop runtime `.so` files (`runtimes/{linux,osx,ios,maccatalyst,win,…}-*/native/`) from the Android publish set and only marks Android-RID assets as `AssetType=native`, so the proper Android arm64 BASS libraries from `ppy.osu.Framework.Android`'s AAR (`jni/arm64-v8a/`) always win over the desktop `.so` files transitively pulled in by `ppy.osu.Framework.NativeLibs`. The release workflow scans every shipped `libbass*.so` for `GLIBC_*` versioned symbols (only present in glibc-linked Linux ELFs) and fails the build if any are found, so an architecture mismatch can never reach a release.
192192

193193
---
194194

0 commit comments

Comments
 (0)