Consistency Between MonoGame/Master Branch And NuGet Packages


I have an issue where I am getting seeming random crashes when playing song files. This is on the DesktopGL platform (tested on MacOS and Linux).

The issue has only reared its ugly head since I switched from using the NuGet packages to including the project from GitHub. I need to do this as I need to add additional controller types to the SDL database.

So, presumably the source I am using from GitHub is different from that from which the NuGet packages were built. Is there any way to see which commit relates exactly to the NuGet versions?

My NuGet package says v

Not sure but maybe the git repo uses git tags? So perhaps this way you can find out which commit was used for the nuget packages?

Here is the commit history of Audio,

You could remove [System.Diagnostics.Conditional(“DEBUG”)] from OpenALSoundController.cs
to enable error checking/exceptions during runtime.

You can also apply and test my changes for Audio to your branch, [Audio] re-write of audio · nkast/MonoGame@50420f3 · GitHub


Thanks for the input. I rolled back to the commit when Tom announced the 3.8 release which seems to match the version I have in my NuGet. However, I am still getting the issue. I’m wondering whether the problem is down to updates in the dependencies rather than in MonoGame itself?

I think I have a found a workaround for now that allows me to use the NuGet packages and still load a custom SDL database so, for now, I think I’m going to go that route. I’ve been the best part of a day trying to sort this out.

The audio issue I’m getting is easy to replicate. Whilst the crash is random if I set something up to play a bunch of song files in quick succession (about a 10th second apart) it happens pretty quickly. the NuGet version seems happy to do this without issue.


1 Like

Interesting. I dont see any relevant changes in the dependencies.
However you can try to update the submodules as well.
…or compare the output from the two builds to spot if there is any change in the native libraries.