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

[0xc0000005] AccessViolationException crash at BassMix.ChannelGetPosition #31702

Open
Sinamer opened this issue Jan 27, 2025 · 6 comments
Open

Comments

@Sinamer
Copy link

Sinamer commented Jan 27, 2025

Type

Crash to desktop

Bug description

The game crashed after around 90 minutes of playtime. The exact moment it occured was at the results screen after a finished play; I pressed Escape to exit the result screen and go back to the song select, which is when the game crashed.
I am not able to reproduce this crash, but I have noticed that crashes with 0xc0000005 error seem to show up once in a while when the game has been open for extended periods of time.

The Event Viewer has these two errors:

Application Error

Faulting application name: osu!.exe, version: 0.0.0.0, time stamp: 0x674f0000
Faulting module name: coreclr.dll, version: 8.0.1224.60305, time stamp: 0x674f3d10
Exception code: 0xc0000005
Fault offset: 0x00000000001c47f6
Faulting process id: 0x1744
Faulting application start time: 0x01db70c659a3bbd3
Faulting application path: C:\Users\Sin\AppData\Local\osulazer\current\osu!.exe
Faulting module path: C:\Users\Sin\AppData\Local\osulazer\current\coreclr.dll
Report Id: e23bc7d1-94f0-4ab3-a3b0-28980f7dd6b1
Faulting package full name: 
Faulting package-relative application ID: 

.NET Runtime

Application: osu!.exe
CoreCLR Version: 8.0.1224.60305
.NET Version: 8.0.12
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Stack:
   at ManagedBass.Mix.BassMix.ChannelGetPosition(Int32, ManagedBass.PositionFlags)
   at ManagedBass.Mix.BassMix.ChannelGetPosition(Int32, ManagedBass.PositionFlags)
   at osu.Framework.Audio.Track.TrackBass.UpdateState()
   at osu.Framework.Audio.AudioCollectionManager`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].UpdateChildren()
   at osu.Framework.Audio.AudioCollectionManager`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].UpdateChildren()
   at osu.Framework.Audio.AudioCollectionManager`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].UpdateChildren()
   at osu.Framework.Threading.AudioThread.onNewFrame()
   at osu.Framework.Threading.GameThread.processFrame()
   at osu.Framework.Threading.GameThread.<createThread>g__runWork|70_0()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

Software

osu! Renderer: OpenGL
GPU Drivers: AMD Adrenalin 24.12.1 (Released on 2024/11/24, minimal installation)
OS Version: Windows 10 Pro 64-bit (10.0, Build 19045) (19041.vb_release.191206-1406)
Additional details are in the attached DxDiag.txt.

Hardware

GPU: AMD Radeon RX 6600 XT (8GB VRAM)
Processor: AMD Ryzen 5 8600G (12 CPUs, ~4.4GHz)
Memory: 8192MB RAM

Crash Dump

I have previously enabled user mode memory dumps as per suggestion on Discord on a different occasion, and I have the crash dump file available.
Please let me know if it's needed, what would be the preferred way to upload it (the file is 2.82 GB in size), and where should I send it.

Screenshots or videos

No response

Version

2025.118.3

Logs

Game logs stop without any relevant errors:
compressed-logs.zip

@Susko3
Copy link
Member

Susko3 commented Jan 27, 2025

For starters, you could open the dump file in WinDbg and click !analyze -v when it appears as a blue hyperlink. It's gonna spew out a bunch of information, you can save that to a next file and upload it here.

@Sinamer
Copy link
Author

Sinamer commented Jan 27, 2025

I hope this is right?
output.txt

@Susko3
Copy link
Member

Susko3 commented Jan 27, 2025

It's right, can you also run kb to get the stack trace?

@Sinamer
Copy link
Author

Sinamer commented Jan 27, 2025

There it is:
kb.txt

@Susko3
Copy link
Member

Susko3 commented Jan 27, 2025

There it is: kb.txt

0:017> kb
 # RetAddr           : Args to Child                                                           : Call Site
00 00007fff`4ff44815 : 000000c3`c957e9b0 000000c3`c957e9b0 00000000`00000000 00007ffe`f42c0000 : coreclr!EEPolicy::HandleFatalError+0x7d [D:\a\_work\1\s\src\coreclr\vm\eepolicy.cpp @ 777]
01 00007fff`ac3f292f : 000000c3`c957e9b0 000000c3`c957f290 00000000`00000000 000000c3`c957e340 : coreclr!ProcessCLRException+0x1106b5 [D:\a\_work\1\s\src\coreclr\vm\exceptionhandling.cpp @ 1066]
02 00007fff`ac3a2554 : 00000000`00000000 000000c3`c957e2f0 000000c3`c957e9b0 00000000`00000000 : ntdll!RtlpExecuteHandlerForException+0xf
03 00007fff`ac3f143e : 0001ffff`0000ffff 00000000`ffff0002 00000248`c0810330 ffff0001`00000000 : ntdll!RtlDispatchException+0x244
04 00007fff`4d514362 : 00000248`c0810330 00000000`00000000 00000248`c0810330 00000000`00000000 : ntdll!KiUserExceptionDispatch+0x2e
05 00007fff`4d516c2b : 00000248`c0810330 00000000`00000000 00000207`d198df40 00000000`00000000 : bassmix!BASS_Mixer_GetVersion+0x2a7a
06 00007ffe`f4474555 : 00000207`d198ddf8 00000000`00000000 00000000`00000000 00007fff`5017cbb0 : bassmix!BASS_Mixer_ChannelGetPosition+0x77
07 00000207`d198ddf8 : 00000000`00000000 00000000`00000000 00007fff`5017cbb0 000000c3`c957fa60 : 0x00007ffe`f4474555
08 00000000`00000000 : 00000000`00000000 00007fff`5017cbb0 000000c3`c957fa60 0000840b`6c3ef472 : 0x00000207`d198ddf8

Looks to be a null pointer read in some internal bass function after BASS_Mixer_ChannelGetPosition().

I think @peppy previously reported bass issues upstream. In any case, upstream can be found at https://www.un4seen.com/forum, I'm done with looking at this issue. The bass developers are probably the only ones that can do something useful with the crash dump.

@smoogipoo
Copy link
Contributor

Have reported at https://www.un4seen.com/forum/?topic=20589.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants