Crash in FMOD5_Thread_SetAttributes

if I’m not mistaken, there’s no way to have an internal quad channel surround mix get downmixed to stereo in FMOD Ex, right?

I think it should be fine to ignore that error, are you just calling FMOD_Sound_Release on each of the subsounds to free them?
If you call System::setSpeakerMode(FMOD_SPEAKERMODE_STEREO) that should automatically downmix everything to Stereo.

I meant as in work in surround which gets up/downmixed to the actual hardware speaker setup like in FMOD 5, rather than having numerous edge cases for various speaker layouts

oh and another thing to note, the crashing is seemingly related to channels as after reimplementing them, it’s back

Oh I see, you are correct there was no automatic downmixing in FMOD Ex.

What part of channels have you reimplemented? Is it the calls to Channel::setPosition or Channel::setMixMatrix as in your previous code snippet?

by reimplemented i mean i had the channel related logic commented out and didn’t assign the events to the channels until i had to add mixing back

i set the mix using setSpeakerLevels now by the way

using net.torutheredfox.craftworld.resources;
using net.torutheredfox.craftworld.serialization;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using FMOD;
using net.torutheredfox.craftworld.audio;
using System.Text;
using System.Runtime.InteropServices;
using System;
using System.Linq;

public class Music : MonoBehaviour
{
    [SerializeField]
    public RMusicSetting musicSetting;
    public string OutputPath;
    public bool writeMusicSetting;
    public bool readMusicSetting;

    // Start is called before the first frame update
    void Start()
    {
        //musicSetting = new RMusicSetting();
        fadeLevel = new float[6];
    }

    // Update is called once per frame
    void Update() // for testing
    {
        if (writeMusicSetting)
        {
            writeMusicSetting = false;
            Serializer.SetBinaryWriter(new BinaryWriter(new FileStream(OutputPath, FileMode.Create)));
            SerializeToResource();
            //Serializer.CloseStream();
        }
        else if (readMusicSetting)
        {
            readMusicSetting = false;
            Serializer.SetBinaryReader(new BinaryReader(new FileStream(OutputPath, FileMode.OpenOrCreate)));
            SerializeToResource();
            //Serializer.CloseStream();
        }
    }

    public void SerializeToResource()
    {
        bool _IsWriting = Serializer.IsWriting();

        Serializer.CloseStream();

        if (_IsWriting)
        {
            MemoryStream ms = new MemoryStream();
            Serializer.SetBinaryWriter(new BinaryWriter(ms));
            musicSetting.Serialize();
            ms.Close();
            byte[] data = ms.ToArray();
            Serializer.CloseStream();

            Serializer.SetBinaryWriter(new BinaryWriter(new FileStream(OutputPath, FileMode.Create)));
            Resource resource = new Resource(Resource.ResourceType.MusicSetting, Resource.SerializationMethod.Binary, data);
            Serializer.CloseStream();
        }
        else
        {
            Serializer.SetBinaryReader(new BinaryReader(new FileStream(OutputPath, FileMode.OpenOrCreate)));
            Resource resource = new Resource(Resource.ResourceType.MusicSetting);
            byte[] cdata = resource;
            Serializer.CloseStream();

            MemoryStream ms = new MemoryStream(cdata);
            Serializer.SetBinaryReader(new BinaryReader(ms));
            musicSetting.Serialize();
            ms.Close();
            Serializer.CloseStream();
        }
    }

    public enum FadeState
    {
        NoFade,
        FadeIn,
        FadeOut,
    };

    public enum CrossfadeMode
    {
        FadeOutOnly,
        FadeOutThenIn,
        NoCrossfade
    }

    private FadeState fadeState = FadeState.FadeIn;
    public CrossfadeMode crossfadeMode = CrossfadeMode.FadeOutOnly;
    float[] fadeLevel = new float[6];

    private float channel1Volume;
    private float channel2Volume;
    private float channel3Volume;
    private float channel4Volume;
    private float channel5Volume;
    private float channel6Volume;

    [Range(0.0f, 1.0f)] public float[] sliderTargetVolumes = { 0, 0, 0, 0, 0, 0 };

    private Sound baseSound;
    private Sound baseSound02;
    private Sound sound01;
    private Channel channel01;
    private Sound sound02;
    private Channel channel02;
    private EventCategory eventCategory;
    private ChannelGroup channelGroup;
    bool hasInitializedMainSound = false;
    bool hasInitializedSubSounds = false;
    bool hasInitializedSound2 = false;
    public string bank = "";
    public uint loopStart = 0;
    private float playStart;
    public bool reloadSound = false;
    public bool stopSound = false;
    private bool hasLoadedAtLeastOnce;
    private bool gotChannelGroup = false;
    private bool loadTrack;


    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    //static void AutoRun()
    //{
    //    GameObject obj = new GameObject("MusicHandlerEx", typeof(FMODLowLevelMusicHandler));
    //    Instance = obj.GetComponent<FMODLowLevelMusicHandler>();
    //    DontDestroyOnLoad(obj);
    //}

    bool ERRCHECK(FMOD.RESULT result)
    {
#if !DEBUG_OFF
        if (result != FMOD.RESULT.OK)
        {
            UnityEngine.Debug.LogError("FMOD Error (" + result.ToString() + "): " + FMOD.Error.String(result));
            isQuitting = true;
            ReloadSound(false);
            reloadSound = false;
            this.enabled = false;
        }

        return (result == FMOD.RESULT.OK);
#else
        return true;
#endif
    }

    private void OnEnable()
    {
        isQuitting = false;
        //ReloadSound(false);
        fadeLevel = new float[6];
        loadTrack = false;
    }

    public void SetFadeState(FadeState state)
    {
        fadeState = state;
    }

    bool hasPlayedAtLeastOneThing = false;

    public void Play(string bank, float[] volumes)
    {
        Play(bank, volumes, 0);
    }

    public void Play(string bank, float[] volumes, int loopStart = 0)
    {
        Play(bank, volumes, loopStart, 0);
    }

    public void Play(string bank, float[] volumes, int loopStart = 0, float playStart = 0)
    {
        Play(bank, volumes, (uint)loopStart, playStart);
    }

    //private string musFileNotFoundError = "Mus file not found for {0}";

    public void Play(string bank, float[] volumes, uint loopStart = 0, float playStart = 0)
    {
        if (!hasInitializedSubSounds && hasPlayedAtLeastOneThing)
            return;
#if !DEBUG_OFF
        if (bank != this.bank || !hasPlayedAtLeastOneThing)
        {
            hasPlayedAtLeastOneThing = true;
            this.bank = bank;
            reloadSound = true;
            setSlidersInstant(volumes);
            this.loopStart = loopStart;
            this.playStart = playStart;
        }
        else
        {
            setSliders(volumes);
        }
#endif
    }

    // Start is called before the first frame update
    void LoadTrack()
    {
#if !DEBUG_OFF
        FMOD.RESULT result;


        //Debug.Log("set up parameters");

        MODE modes = MODE.LOOP_NORMAL | MODE._2D | MODE.CREATESTREAM | MODE.NONBLOCKING | MODE.SOFTWARE;

        CREATESOUNDEXINFO exinfo1 = new CREATESOUNDEXINFO();
        exinfo1.cbsize = Marshal.SizeOf(exinfo1);
        exinfo1.speakermap = SPEAKERMAPTYPE.ALLSTEREO;
        exinfo1.numchannels = Mathf.Min(3, musicSetting.StereoPairs.Length);
        result = FMODManager.System.createStream(bank, modes, ref exinfo1, ref baseSound);
        ERRCHECK(result);
        if (musicSetting.StereoPairs.Length > 3)
        {
            CREATESOUNDEXINFO exinfo2 = new CREATESOUNDEXINFO();
            exinfo2.cbsize = Marshal.SizeOf(exinfo2);
            exinfo2.speakermap = SPEAKERMAPTYPE.ALLSTEREO;
            exinfo2.numchannels = Mathf.Max(0, musicSetting.StereoPairs.Length-3);
            result = FMODManager.System.createStream(bank, modes, ref exinfo2, ref baseSound02);
            ERRCHECK(result);
            //Debug.Log("Loaded IntMusic with more than 3 stereo pairs!");
        }
        loadTrack = false;
#endif
    }

    public void setSliders(float[] sliderValues)
    {
        sliderTargetVolumes = new float[6] { 0, 0, 0, 0, 0, 0 };
        for (int i = 0; i < sliderValues.Length && i < 6; i++)
        {
            sliderTargetVolumes[i] = sliderValues[i];
        }
    }

    public void setSlidersInstant(float[] sliderValues)
    {
        setSliders(sliderValues);
        channel1Volume = sliderTargetVolumes[0];
        channel2Volume = sliderTargetVolumes[1];
        channel3Volume = sliderTargetVolumes[2];
        channel4Volume = sliderTargetVolumes[3];
        channel5Volume = sliderTargetVolumes[4];
        channel6Volume = sliderTargetVolumes[5];
    }
    void setVolumes(float track1, float track2, float track3, float track4, float track5, float track6)
    {
        setVolumes(new float[6] { track1, track2, track3, track4, track5, track6 });
    }

    void setVolumes(float[] sliderValues)
    {
        if (!FMODManager.IsInitialized)
            return;
        float[] forwardSend = new float[6];
        float[] rearSend = new float[6];
        float[] fade = new float[6] { 1, 1, 1, 1, 1, 1 };
        int[] sliderIndices = new int[6] { 0, 1, 2, 3, 4, 5 };

        if (musicSetting == null || musicSetting.StereoPairs == null)
        {
            return;
        }

        for (int i = 0; i < musicSetting.StereoPairs.Length; i++)
        {
            forwardSend[i] = musicSetting.StereoPairs[i].ForwardSend * musicSetting.MasterVolume * 2.0f;
            rearSend[i] = musicSetting.StereoPairs[i].RearSend * musicSetting.MasterVolume * 2.0f;
            sliderIndices[i] = musicSetting.StereoPairs[i].SliderIndex;
            fade[i] = musicSetting.StereoPairs[i].Fade;
            if (fadeState == FadeState.FadeOut)
            {
                fadeLevel[i] = Mathf.Max(0, fadeLevel[i] - (Time.deltaTime / (musicSetting.StereoPairs[i].FadeOut)));
                //if (fadeLevel[i] == 0)
                //    fadeState = FadeState.NoFade;
            }
            else if (fadeState == FadeState.FadeIn)
            {
                fadeLevel[i] = Mathf.Min(1, fadeLevel[i] + (Time.deltaTime / (musicSetting.StereoPairs[i].FadeIn * 0.5f)));
                //if (fadeLevel == 1)
                //    fadeState = FadeState.NoFade;
            }
        }

        for (int i = 0; i < 6 - musicSetting.StereoPairs.Length; i++)
        {
            fadeLevel[musicSetting.StereoPairs.Length + i] = 0.0f;
        }

        if (fadeState != FadeState.FadeOut)
        {
            channel1Volume = Mathf.MoveTowards(channel1Volume, sliderTargetVolumes[0], Time.deltaTime / (fade[sliderIndices[0]] * (channel1Volume <= sliderTargetVolumes[0] ? 0.5f : 1.0f)));
            channel2Volume = Mathf.MoveTowards(channel2Volume, sliderTargetVolumes[1], Time.deltaTime / (fade[sliderIndices[1]] * (channel2Volume <= sliderTargetVolumes[1] ? 0.5f : 1.0f)));
            channel3Volume = Mathf.MoveTowards(channel3Volume, sliderTargetVolumes[2], Time.deltaTime / (fade[sliderIndices[2]] * (channel3Volume <= sliderTargetVolumes[2] ? 0.5f : 1.0f)));
            channel4Volume = Mathf.MoveTowards(channel4Volume, sliderTargetVolumes[3], Time.deltaTime / (fade[sliderIndices[3]] * (channel4Volume <= sliderTargetVolumes[3] ? 0.5f : 1.0f)));
            channel5Volume = Mathf.MoveTowards(channel5Volume, sliderTargetVolumes[4], Time.deltaTime / (fade[sliderIndices[4]] * (channel5Volume <= sliderTargetVolumes[4] ? 0.5f : 1.0f)));
            channel6Volume = Mathf.MoveTowards(channel6Volume, sliderTargetVolumes[5], Time.deltaTime / (fade[sliderIndices[5]] * (channel6Volume <= sliderTargetVolumes[5] ? 0.5f : 1.0f)));
        }
        if ((fadeLevel[0] + fadeLevel[1] + fadeLevel[2] + fadeLevel[3] + fadeLevel[4] + fadeLevel[5]) <= (0 * musicSetting.StereoPairs.Length) && fadeState == FadeState.FadeOut)
            fadeState = FadeState.NoFade;

        if ((fadeLevel[0] + fadeLevel[1] + fadeLevel[2] + fadeLevel[3] + fadeLevel[4] + fadeLevel[5]) >= (1 * musicSetting.StereoPairs.Length) && fadeState == FadeState.FadeIn)
            fadeState = FadeState.NoFade;

        float volumePower = 1.5f;

        float[] vol01 = new float[3] { sliderValues[sliderIndices[0]] * musicSetting.MasterVolume * fadeLevel[0], sliderValues[sliderIndices[1]] * musicSetting.MasterVolume * fadeLevel[1], sliderValues[sliderIndices[2]] * musicSetting.MasterVolume * fadeLevel[2] };
        float[] vol02 = new float[3] { sliderValues[sliderIndices[3]] * musicSetting.MasterVolume * fadeLevel[3], sliderValues[sliderIndices[4]] * musicSetting.MasterVolume * fadeLevel[4], sliderValues[sliderIndices[5]] * musicSetting.MasterVolume * fadeLevel[5] };

        for (int i = 0; i < 3; i++)
        {
            vol01[i] = Mathf.Pow(vol01[i], volumePower);
            vol02[i] = Mathf.Pow(vol02[i], volumePower);
        }

        int StereoPairCount = Mathf.Min(musicSetting.StereoPairs.Length, 3);
        float[] volumes = new float[StereoPairCount * 2];
        for (int i = 0; i < StereoPairCount; i++)
        {
            int index = i * 2;
            volumes[index] = vol01[i]; // L
            volumes[index + 1] = vol01[i]; // R
        }

        FMOD.SPEAKERMODE speakermode = FMOD.SPEAKERMODE.RAW;
        FMODManager.System.getSpeakerMode(ref speakermode);

        // get audio capabilities to get a proper mix and avoid errors
        bool isMono = speakermode == SPEAKERMODE.MONO;
        bool hasStereo = (speakermode == SPEAKERMODE.STEREO) || (speakermode == SPEAKERMODE.QUAD) || (speakermode == SPEAKERMODE.SRS5_1_MATRIX) || (speakermode == SPEAKERMODE.SURROUND) || (speakermode == SPEAKERMODE._5POINT1) || (speakermode == SPEAKERMODE._7POINT1);
        bool hasRears = (speakermode == SPEAKERMODE.QUAD) || (speakermode == SPEAKERMODE.SRS5_1_MATRIX) || (speakermode == SPEAKERMODE.SURROUND) || (speakermode == SPEAKERMODE._5POINT1) || (speakermode == SPEAKERMODE._7POINT1);
        bool hasSideRears = (speakermode == SPEAKERMODE._7POINT1);
        bool hasLFE = (speakermode == SPEAKERMODE._7POINT1) || (speakermode == SPEAKERMODE._5POINT1);
        bool hasCenter = (speakermode == SPEAKERMODE.SRS5_1_MATRIX) || (speakermode == SPEAKERMODE.SURROUND) || (speakermode == SPEAKERMODE._5POINT1) || (speakermode == SPEAKERMODE._7POINT1);

        if (hasInitializedSubSounds) {
            //channel01.setMixMatrix(matrix01, 6, 6, 6);
            float[] fLeftChannel = new float[6] { vol01[0] * forwardSend[0], 0, vol01[1] * forwardSend[1], 0, vol01[2] * forwardSend[2], 0 };
            float[] fRightChannel = new float[6] { 0.0f, vol01[0] * forwardSend[0], 0.0f, vol01[1] * forwardSend[1], 0.0f, vol01[2] * forwardSend[2] };
            float[] rLeftChannel = new float[6] { vol01[0] * rearSend[0], 0.0f, vol01[1] * rearSend[1], 0.0f, vol01[2] * rearSend[2], 0.0f };
            float[] rRightChannel = new float[6] { 0.0f, vol01[0] * rearSend[0], 0.0f, vol01[1] * rearSend[1], 0.0f, vol01[2] * rearSend[2] };
            float[] fCenterChannel = fLeftChannel.Zip(fRightChannel, (x, y) => x + y).ToArray();
            if (isMono)
            {
                ERRCHECK(channel01.setSpeakerLevels(SPEAKER.MONO, fCenterChannel, 6));
            }
            else
            {
                if (hasStereo)
                {
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.FRONT_LEFT, fLeftChannel, 6));
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.FRONT_RIGHT, fRightChannel, 6));
                }
                if (hasRears)
                {
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.BACK_LEFT, rLeftChannel, 6));
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.BACK_RIGHT, rRightChannel, 6));
                }
                if (hasSideRears)
                {
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.BACK_LEFT, rLeftChannel, 6));
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.BACK_RIGHT, rRightChannel, 6));
                }
                if (hasCenter)
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.FRONT_CENTER, fCenterChannel, 6));
                if (hasLFE)
                    ERRCHECK(channel01.setSpeakerLevels(SPEAKER.LOW_FREQUENCY, fCenterChannel, 6));
            }
        }

        if (musicSetting.StereoPairs.Length > 3)
        {
            StereoPairCount = Mathf.Max(musicSetting.StereoPairs.Length-3, 0);
            volumes = new float[StereoPairCount * 2];
            for (int i = 0; i < StereoPairCount; i++)
            {
                int index = i * 2;
                volumes[index] = vol02[i]; // L
                volumes[index+1] = vol02[i]; // R
            }

            if (hasInitializedSubSounds)
            {
                //channel02.setMixMatrix(matrix02, 6, 6, 6);
                //FMODManager.ERRCHECK(channel02.setInputChannelMix(volumes, volumes.Length));
                float[] fLeftChannel = new float[6] { vol02[0] * forwardSend[3], 0, vol02[1] * forwardSend[4], 0, vol02[2] * forwardSend[5], 0 };
                float[] fRightChannel = new float[6] { 0, vol02[0] * forwardSend[3], 0, vol02[1] * forwardSend[4], 0, vol02[2] * forwardSend[5] };
                float[] rLeftChannel = new float[6] { vol02[0] * rearSend[3], 0, vol02[1] * rearSend[4], 0, vol02[2] * rearSend[5], 0 };
                float[] rRightChannel = new float[6] { 0, vol02[0] * rearSend[3], 0, vol02[1] * rearSend[4], 0, vol02[2] * rearSend[5] };
                float[] fCenterChannel = fLeftChannel.Zip(fRightChannel, (x, y) => x + y).ToArray();
                if (isMono)
                {
                    ERRCHECK(channel02.setSpeakerLevels(SPEAKER.MONO, fCenterChannel, 6));
                }
                else
                {
                    if (hasStereo)
                    {
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.FRONT_LEFT, fLeftChannel, 6));
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.FRONT_RIGHT, fRightChannel, 6));
                    }
                    if (hasRears)
                    {
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.BACK_LEFT, rLeftChannel, 6));
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.BACK_RIGHT, rRightChannel, 6));
                    }
                    if (hasSideRears)
                    {
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.BACK_LEFT, rLeftChannel, 6));
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.BACK_RIGHT, rRightChannel, 6));
                    }
                    if (hasCenter)
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.FRONT_CENTER, fCenterChannel, 6));
                    if (hasLFE)
                        ERRCHECK(channel02.setSpeakerLevels(SPEAKER.LOW_FREQUENCY, fCenterChannel, 6));
                }
            }
        }
    }

    // Update is called once per frame
    void LateUpdate()
    {
#if !DEBUG_OFF
        if (isQuitting || !FMODManager.IsInitialized)
            return;
        RESULT result;
        if (loadTrack && fadeState != FadeState.FadeOut)
        {
            setSlidersInstant(sliderTargetVolumes);
            Reload();
            hasInitializedMainSound = false;
            hasInitializedSound2 = false;
            hasInitializedSubSounds = false;
            LoadTrack();
        }
        if (hasInitializedSubSounds)
        {
            setVolumes(new float[6] { channel1Volume, channel2Volume, channel3Volume, channel4Volume, channel5Volume, channel6Volume });
            if (musicSetting.StereoPairs.Length > 3)
            {
                uint pos01ms = 0;
                uint pos02ms = 0;
                uint lengthms = 0;
                uint loopstartms = 0;
                uint _loopEnd = 0;
                ERRCHECK(channel01.getPosition(ref pos01ms, TIMEUNIT.MS));
                ERRCHECK(channel02.getPosition(ref pos02ms, TIMEUNIT.MS));
                ERRCHECK(sound01.getLength(ref lengthms, TIMEUNIT.MS)); // hopefully fixes jank regarding looping
                ERRCHECK(sound01.getLoopPoints(ref loopstartms, TIMEUNIT.MS, ref _loopEnd, TIMEUNIT.MS));
                if (Mathf.Abs(pos01ms - pos02ms) > 2.0f / 0.03f &&
                    Mathf.Min(Mathf.Abs(pos02ms - (pos01ms + loopstartms + lengthms)), Mathf.Abs(pos01ms - (pos02ms + loopstartms + lengthms))) > 2.0f / 0.03f &&
                    Mathf.Abs(pos01ms - loopstartms) > 2.0 / 0.03f &&
                    Mathf.Abs(pos02ms - loopstartms) > 2.0 / 0.03f &&
                    Mathf.Abs(pos01ms - lengthms) > 2.0 / 0.03f &&
                    Mathf.Abs(pos02ms - lengthms) > 2.0 / 0.03f
                    )
                {
                    uint pos01 = 0;
                    uint pos02 = 0;
                    ERRCHECK(channel01.getPosition(ref pos01, TIMEUNIT.PCM));
                    ERRCHECK(channel02.getPosition(ref pos02, TIMEUNIT.PCM));
                    uint pos = (uint)Mathf.Max(pos01, pos02);
                    ERRCHECK(FMODManager.System.lockDSP()); // ensure synchronization
                    ERRCHECK(channel01.setPosition(pos, TIMEUNIT.PCM));
                    ERRCHECK(channel02.setPosition(pos, TIMEUNIT.PCM));
                    ERRCHECK(FMODManager.System.unlockDSP());
                }
            }
        }
        uint percentbuffered = 0;
        bool starving = false;
        bool diskbusy = false;
        if (hasLoadedAtLeastOnce && fadeState != FadeState.FadeOut)
        {
            OPENSTATE openstate = OPENSTATE.READY;
            result = baseSound.getOpenState(ref openstate, ref percentbuffered, ref starving, ref diskbusy);
            ERRCHECK(result);

            if (openstate == FMOD.OPENSTATE.READY && !hasInitializedMainSound)
            {
                hasInitializedMainSound = true;
                result = baseSound.getSubSound(0, ref sound01);
                ERRCHECK(result);
                //Debug.Log("get sound 1");
            }

            OPENSTATE openstate01 = 0;
            if (musicSetting.StereoPairs.Length > 3)
            {
                result = baseSound02.getOpenState(ref openstate01, ref percentbuffered, ref starving, ref diskbusy);
                ERRCHECK(result);
            }

            if (openstate01 == FMOD.OPENSTATE.READY && !hasInitializedSound2 && musicSetting.StereoPairs.Length > 3)
            {
                hasInitializedSound2 = true;
                result = baseSound02.getSubSound(1, ref sound02);
                ERRCHECK(result);
                //Debug.Log("get sound 2");
            }

            OPENSTATE openstate02 = 0;
            if (musicSetting.StereoPairs.Length > 3 && openstate01 == FMOD.OPENSTATE.READY)
            {
                result = sound02.getOpenState(ref openstate02, ref percentbuffered, ref starving, ref diskbusy);
                ERRCHECK(result);
            }

            if (openstate == FMOD.OPENSTATE.READY && ((openstate01 == FMOD.OPENSTATE.READY && openstate02 == FMOD.OPENSTATE.READY) || musicSetting.StereoPairs.Length <= 3) && !hasInitializedSubSounds)
            {
                if (!gotChannelGroup)
                {
                    ERRCHECK(FMODManager.EventSystem.getCategory("music", ref eventCategory));
                    ERRCHECK(eventCategory.getChannelGroup(ref channelGroup));
                    gotChannelGroup = true;
                }
                hasInitializedSubSounds = true;

                //Debug.Log("get channel group");

                uint sound01loopend = 0;
                uint _loopStart = 0;
                ERRCHECK(sound01.getLoopPoints(ref _loopStart, TIMEUNIT.PCM, ref sound01loopend, TIMEUNIT.PCM));
                ERRCHECK(sound01.setLoopPoints(loopStart, TIMEUNIT.PCM, sound01loopend, TIMEUNIT.PCM));

                if (musicSetting.StereoPairs.Length > 3)
                {
                    uint sound02loopend = 0;
                    ERRCHECK(sound02.getLoopPoints(ref _loopStart, TIMEUNIT.PCM, ref sound02loopend, TIMEUNIT.PCM));
                    ERRCHECK(sound02.setLoopPoints(loopStart, TIMEUNIT.PCM, sound02loopend, TIMEUNIT.PCM));
                    ERRCHECK(FMODManager.System.lockDSP()); // ensure synchronization
                    ERRCHECK(FMODManager.System.playSound(CHANNELINDEX.FREE, sound01, false, ref channel01));
                    ERRCHECK(FMODManager.System.playSound(CHANNELINDEX.FREE, sound02, false, ref channel02));
                    ERRCHECK(channel01.setChannelGroup(channelGroup));
                    ERRCHECK(channel02.setChannelGroup(channelGroup));
                    if (playStart != 0)
                    {
                        uint length = 0;
                        ERRCHECK(sound01.getLength(ref length, TIMEUNIT.PCM));
                        ERRCHECK(channel01.setPosition((uint)((length * playStart) % length), TIMEUNIT.PCM));
                        ERRCHECK(channel02.setPosition((uint)((length * playStart) % length), TIMEUNIT.PCM));
                    }
                    ERRCHECK(FMODManager.System.unlockDSP());
                }
                else
                {
                    ERRCHECK(FMODManager.System.lockDSP()); // ensure synchronization
                    ERRCHECK(FMODManager.System.playSound(CHANNELINDEX.FREE, sound01, false, ref channel01));
                    ERRCHECK(channel01.setChannelGroup(channelGroup));
                    if (playStart != 0)
                    {
                        uint length = 0;
                        ERRCHECK(sound01.getLength(ref length, TIMEUNIT.PCM));
                        ERRCHECK(channel01.setPosition((uint)((length * playStart) % length), TIMEUNIT.PCM));
                    }
                    ERRCHECK(FMODManager.System.unlockDSP());
                }
                fadeState = crossfadeMode == CrossfadeMode.FadeOutThenIn ? FadeState.FadeIn : FadeState.NoFade;
                if (crossfadeMode != CrossfadeMode.FadeOutThenIn)
                {
                    for (int i = 0; i < fadeLevel.Length; i++)
                    {
                        fadeLevel[i] = 1.0f;
                    }
                }
                setVolumes(new float[6] { channel1Volume, channel2Volume, channel3Volume, channel4Volume, channel5Volume, channel6Volume });
                StringBuilder name01 = new StringBuilder();
                ERRCHECK(sound01.getName(name01, 256));
                if (musicSetting.StereoPairs.Length > 3)
                {
                    StringBuilder name02 = new StringBuilder();
                    ERRCHECK(sound02.getName(name02, 256));
                    //Debug.LogFormat("Now playing {0} and {1}", name01, name02);
                }
                else
                { 
                    //Debug.LogFormat("Now playing {0}", name01);
                }
            }
            else if (!hasInitializedSubSounds)
            {
                //LoadingIndicator.ShowLoadingIndicator();
            }
        }
        if (reloadSound && FMODManager.IsInitialized)
        {
            reloadSound = false;
            ReloadSoundQueue();
        }
        if (stopSound && FMODManager.IsInitialized)
        {
            stopSound = false;
            hasLoadedAtLeastOnce = false;
            ReloadSound(false);
        }
#endif
    }

    private bool isQuitting;

    void OnApplicationQuit()
    {
        UnityEngine.Debug.Log("OnApplicationQuit");
#if !DEBUG_OFF
        setSlidersInstant(sliderTargetVolumes);
        isQuitting = true;
        ReloadSound(false);
        //SystemEx.release();
        //isApplicationQuitting = true;
#endif
    }

    void OnDisable()
    {
        UnityEngine.Debug.Log("OnDisable");
#if !DEBUG_OFF
        // it gets destroyed anyways so why bother
        /*if (isApplicationQuitting)
        {
            isQuitting = true;
            try
            {
                ERRCHECK(baseSound.release());
                //baseSound.clearHandle();
                if (musicSetting.StereoPairs.Length > 3)
                {
                    ERRCHECK(baseSound02.release());
                    //baseSound02.clearHandle();
                }
            }
            catch (System.Exception e)
            {
                Debug.LogError(e.Message);
            }
            return;
        }
        else
        {*/
            hasLoadedAtLeastOnce = false;
            ReloadSound(false);
        //}
#endif
    }

    void ReloadSoundQueue()
    {
        UnityEngine.Debug.Log("ReloadSoundQueue");
#if !DEBUG_OFF
        if (hasLoadedAtLeastOnce)
        {
            fadeState = crossfadeMode != CrossfadeMode.NoCrossfade ? FadeState.FadeOut : FadeState.NoFade;
            loadTrack = true;
        }
        else
        {
            ReloadSound(true);
        }
#endif
    }

    void ReloadSound(bool runAwake)
    {
        UnityEngine.Debug.Log("ReloadSound");
#if !DEBUG_OFF
        if (hasLoadedAtLeastOnce || !runAwake)
        {
            //if (!isQuitting)
                Reload();
            hasInitializedMainSound = false;
            hasInitializedSound2 = false;
            hasInitializedSubSounds = false;
        }
        else if (runAwake)
        {
            hasLoadedAtLeastOnce = true;
        }
        if (runAwake)
            loadTrack = true;
#endif
    }

    void Reload()
    {
        UnityEngine.Debug.Log("Reload");
#if !DEBUG_OFF
        //Debug.Log("Reloading!");

        try
        {
            // not checking subsound releasing on purpose as it's an error I can safely ingore
            if (FMODManager.IsInitialized)
            {
                if (hasInitializedSubSounds)
                {
                    hasInitializedSubSounds = false;
                    //sound01.release();
                    if (baseSound != null)
                        ERRCHECK(baseSound.release());
                    if (musicSetting.StereoPairs.Length > 3 && baseSound02 != null)
                    {
                        //ERRCHECK(sound02.release());
                        //sound02.release();
                        ERRCHECK(baseSound02.release());
                    }
                    baseSound = null;
                    baseSound02 = null;
                    sound01 = null;
                    sound02 = null;
                }
                if (gotChannelGroup)
                {
                    channelGroup.release();
                    gotChannelGroup = false;
                    channelGroup = null;
                }
            }
        }
        catch (System.Exception e)
        {
            UnityEngine.Debug.LogError(e.Message);
        }
#endif
    }

    void OnDestroy()
    {
        UnityEngine.Debug.Log("OnDestroy");
#if !DEBUG_OFF
        isQuitting = true;
        Reload();
#endif
    }
}

Thank you for confirming, that does narrow it down somewhat. Just to clarify, because there are a few crashes mentioned in this post, what crash are you getting now and what is the log after the crash?

Unity just closes for me when I stop the game and I unfortunately don’t get any log

this doesn’t occur if music doesn’t get played (and therefore the script doesn’t fully initialize)


Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) FMOD.Channel.FMOD_Channel_SetChannelGroup (intptr,intptr) [0x0000a] in <05ab83ce0af5456d936c0d654fa2ccc2>:0
  at FMOD.Channel.setChannelGroup (FMOD.ChannelGroup) [0x00001] in C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\FMODEx\csharp\fmod.cs:3659
  at Music.LateUpdate () [0x00521] in C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\src\audio\Music.cs:557
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x00020] in <eae584ce26bc40229c1b1aa476bfa589>:0

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

Crash!!!
SymInit: Symbol-SearchPath: 'C:/Program Files/Unity/Hub/Editor/2019.4.40f1/Editor/Data/Mono;.;C:\Users\Toru the Red Fox\Documents\Craftworld;C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor;C:\Windows;C:\Windows\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 534, UserName: 'Toru the Red Fox'
OS-Version: 10.0.0
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\Unity.exe:Unity.exe (00007FF78D420000), size: 139948032 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2019.4.40.50731
C:\Windows\SYSTEM32\ntdll.dll:ntdll.dll (00007FFD9E1B0000), size: 2064384 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\KERNEL32.DLL:KERNEL32.DLL (00007FFD9CC50000), size: 774144 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1889
C:\Windows\System32\KERNELBASE.dll:KERNELBASE.dll (00007FFD9BDD0000), size: 2961408 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\CRYPT32.dll:CRYPT32.dll (00007FFD9B900000), size: 1400832 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1889
C:\Windows\System32\ucrtbase.dll:ucrtbase.dll (00007FFD9BB00000), size: 1048576 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.789
C:\Windows\System32\USER32.dll:USER32.dll (00007FFD9DC70000), size: 1695744 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\win32u.dll:win32u.dll (00007FFD9C150000), size: 139264 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\optix.6.0.0.dll:optix.6.0.0.dll (00007FFD8ADA0000), size: 208896 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 6.0.0.0
C:\Windows\System32\GDI32.dll:GDI32.dll (00007FFD9CA20000), size: 180224 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\gdi32full.dll:gdi32full.dll (00007FFD9BC00000), size: 1130496 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\msvcp_win.dll:msvcp_win.dll (00007FFD9C0B0000), size: 643072 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.789
C:\Windows\System32\ADVAPI32.dll:ADVAPI32.dll (00007FFD9C210000), size: 712704 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1682
C:\Windows\System32\msvcrt.dll:msvcrt.dll (00007FFD9CA50000), size: 647168 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 7.0.19041.546
C:\Windows\System32\sechost.dll:sechost.dll (00007FFD9DB10000), size: 638976 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1865
C:\Windows\System32\RPCRT4.dll:RPCRT4.dll (00007FFD9CF20000), size: 1200128 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1806
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\RadeonImageFilters64.dll:RadeonImageFilters64.dll (00007FFD5CD80000), size: 1310720 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 1.4.0.0
C:\Windows\System32\SHELL32.dll:SHELL32.dll (00007FFD9D270000), size: 7614464 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\SHLWAPI.dll:SHLWAPI.dll (00007FFD9D210000), size: 348160 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\ole32.dll:ole32.dll (00007FFD9D9C0000), size: 1220608 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1202
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\OpenRL.dll:OpenRL.dll (0000000180000000), size: 12779520 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 1.5.100.0
C:\Windows\System32\combase.dll:combase.dll (00007FFD9DE10000), size: 3489792 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1949
C:\Windows\System32\IMM32.dll:IMM32.dll (00007FFD9C9F0000), size: 196608 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\System32\SETUPAPI.dll:SETUPAPI.dll (00007FFD9C2C0000), size: 4648960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1741
C:\Windows\System32\bcrypt.dll:bcrypt.dll (00007FFD9BA60000), size: 159744 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1023
C:\Windows\System32\cfgmgr32.dll:cfgmgr32.dll (00007FFD9B8B0000), size: 319488 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1620
C:\Windows\System32\WS2_32.dll:WS2_32.dll (00007FFD9CE50000), size: 438272 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\System32\OLEAUT32.dll:OLEAUT32.dll (00007FFD9C7B0000), size: 839680 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.985
C:\Windows\System32\WINTRUST.dll:WINTRUST.dll (00007FFD9BA90000), size: 430080 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\libfbxsdk.dll:libfbxsdk.dll (00007FFD1F330000), size: 8511488 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2018.1.1.0
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\umbraoptimizer64.dll:umbraoptimizer64.dll (00007FFD245B0000), size: 1306624 (result: 0), SymType: '-deferred-', PDB: ''
C:\Windows\System32\WLDAP32.dll:WLDAP32.dll (00007FFD9DBB0000), size: 352256 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2006
C:\Windows\System32\Normaliz.dll:Normaliz.dll (00007FFD9CD20000), size: 32768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\HID.DLL:HID.DLL (00007FFD9A0B0000), size: 53248 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\ispc_texcomp.dll:ispc_texcomp.dll (00007FFD1F1A0000), size: 1609728 (result: 0), SymType: '-deferred-', PDB: ''
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\WinPixEventRuntime.dll:WinPixEventRuntime.dll (00007FFD954D0000), size: 45056 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 1.0.1812.6001
C:\Windows\SYSTEM32\OPENGL32.dll:OPENGL32.dll (00007FFD6EE00000), size: 1208320 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\D3DCOMPILER_47.dll:D3DCOMPILER_47.dll (00007FFD976C0000), size: 4575232 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.868
C:\Windows\SYSTEM32\MSVCP140.dll:MSVCP140.dll (00007FFD84940000), size: 581632 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 14.32.31326.0
C:\Windows\SYSTEM32\VCRUNTIME140.dll:VCRUNTIME140.dll (00007FFD84D70000), size: 110592 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 14.32.31326.0
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\libcef.dll:libcef.dll (00007FFCFE1B0000), size: 52219904 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 3.2062.1930.0
C:\Windows\SYSTEM32\GLU32.dll:GLU32.dll (00007FFD87B90000), size: 180224 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\IPHLPAPI.DLL:IPHLPAPI.DLL (00007FFD9ACD0000), size: 241664 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1865
C:\Windows\SYSTEM32\WINHTTP.dll:WINHTTP.dll (00007FFD90160000), size: 1101824 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\PSAPI.DLL:PSAPI.DLL (00007FFD9D200000), size: 32768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\WINMM.dll:WINMM.dll (00007FFD86F30000), size: 159744 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\System32\COMDLG32.dll:COMDLG32.dll (00007FFD9C880000), size: 892928 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1806
C:\Windows\System32\shcore.dll:shcore.dll (00007FFD9CBA0000), size: 708608 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1865
C:\Windows\SYSTEM32\VERSION.dll:VERSION.dll (00007FFD960D0000), size: 40960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\SketchUpAPI.dll:SketchUpAPI.dll (00007FFD1CDA0000), size: 8978432 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 19.0.753.0
C:\Windows\SYSTEM32\MSVCP100.dll:MSVCP100.dll (000000005F8C0000), size: 622592 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.40219.325
C:\Windows\SYSTEM32\MSVCR100.dll:MSVCR100.dll (000000005F7E0000), size: 860160 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.40219.325
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\embree.dll:embree.dll (00007FFCFD1C0000), size: 16711680 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2.14.0.0
C:\Windows\SYSTEM32\MSWSOCK.dll:MSWSOCK.dll (00007FFD9B010000), size: 434176 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\CRYPTSP.dll:CRYPTSP.dll (00007FFD9B270000), size: 98304 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\VCRUNTIME140_1.dll:VCRUNTIME140_1.dll (00007FFD84D90000), size: 49152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 14.32.31326.0
C:\Windows\SYSTEM32\WINSPOOL.DRV:WINSPOOL.DRV (00007FFD701C0000), size: 622592 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll:COMCTL32.dll (00007FFD7AE90000), size: 2727936 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 6.10.19041.1110
C:\Windows\SYSTEM32\USERENV.dll:USERENV.dll (00007FFD9B7B0000), size: 188416 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.572
C:\Windows\SYSTEM32\urlmon.dll:urlmon.dll (00007FFD890B0000), size: 2019328 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 11.0.19041.2075
C:\Windows\SYSTEM32\Secur32.dll:Secur32.dll (00007FFD80BE0000), size: 49152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\WTSAPI32.dll:WTSAPI32.dll (00007FFD96E80000), size: 81920 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\OLEACC.dll:OLEACC.dll (00007FFD8AFF0000), size: 417792 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 7.2.19041.746
C:\Windows\SYSTEM32\USP10.dll:USP10.dll (00007FFD585B0000), size: 102400 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\SketchUpCommonPreferences.dll:SketchUpCommonPreferences.dll (00007FFD725C0000), size: 483328 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 19.0.753.20342
C:\Windows\SYSTEM32\dhcpcsvc.DLL:dhcpcsvc.DLL (00007FFD93BE0000), size: 118784 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\CRYPTBASE.DLL:CRYPTBASE.DLL (00007FFD9B1A0000), size: 49152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\tbb.dll:tbb.dll (00007FFD6AB30000), size: 413696 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2017.0.2016.1004
C:\Windows\SYSTEM32\iertutil.dll:iertutil.dll (00007FFD88B20000), size: 2822144 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 11.0.19041.2075
C:\Windows\SYSTEM32\srvcli.dll:srvcli.dll (00007FFD89050000), size: 163840 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1645
C:\Windows\SYSTEM32\netutils.dll:netutils.dll (00007FFD9ADE0000), size: 49152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\MSVCP120.dll:MSVCP120.dll (00007FFD671A0000), size: 679936 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 12.0.40664.0
C:\Windows\SYSTEM32\MSVCR120.dll:MSVCR120.dll (00007FFD5C930000), size: 978944 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 12.0.40664.0
C:\Windows\SYSTEM32\SSPICLI.DLL:SSPICLI.DLL (00007FFD9B770000), size: 204800 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1586
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\OpenImageDenoise.dll:OpenImageDenoise.dll (00007FFD01380000), size: 43806720 (result: 0), SymType: '-deferred-', PDB: ''
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\FreeImage.dll:FreeImage.dll (000001828F900000), size: 6582272 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 3.18.0.0
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\OpenRL_pthread.dll:OpenRL_pthread.dll (000001828FF50000), size: 61440 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2.9.0.0
C:\Windows\SYSTEM32\MSASN1.dll:MSASN1.dll (00007FFD9B4A0000), size: 73728 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\kernel.appcore.dll:kernel.appcore.dll (00007FFD9A0C0000), size: 73728 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\System32\bcryptPrimitives.dll:bcryptPrimitives.dll (00007FFD9C180000), size: 532480 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1415
C:\Windows\system32\uxtheme.dll:uxtheme.dll (00007FFD98E30000), size: 647168 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\windows.storage.dll:windows.storage.dll (00007FFD99910000), size: 7946240 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\Wldp.dll:Wldp.dll (00007FFD9B230000), size: 196608 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\profapi.dll:profapi.dll (00007FFD9B7F0000), size: 126976 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.844
C:\Windows\System32\clbcatq.dll:clbcatq.dll (00007FFD9CAF0000), size: 716800 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2001.12.10941.16384
C:\Windows\system32\wbem\wbemprox.dll:wbemprox.dll (00007FFD924F0000), size: 69632 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1320
C:\Windows\SYSTEM32\wbemcomn.dll:wbemcomn.dll (00007FFD8AA30000), size: 589824 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1566
C:\Windows\system32\wbem\wbemsvc.dll:wbemsvc.dll (00007FFD8A140000), size: 81920 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1320
C:\Windows\system32\wbem\fastprox.dll:fastprox.dll (00007FFD8A160000), size: 1093632 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\amsi.dll:amsi.dll (00007FFD89A60000), size: 126976 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2209.7-0\MpOav.dll:MpOav.dll (00007FFD80170000), size: 503808 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 4.18.2209.7
C:\Windows\system32\rsaenh.dll:rsaenh.dll (00007FFD9A8E0000), size: 212992 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1052
C:\Windows\System32\imagehlp.dll:imagehlp.dll (00007FFD9DAF0000), size: 118784 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1415
C:\Windows\SYSTEM32\gpapi.dll:gpapi.dll (00007FFD9A0E0000), size: 143360 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2006
C:\Windows\System32\cryptnet.dll:cryptnet.dll (00007FFD93BA0000), size: 200704 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.906
C:\Windows\SYSTEM32\WINNSI.DLL:WINNSI.DLL (00007FFD94140000), size: 45056 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\System32\NSI.dll:NSI.dll (00007FFD9CD10000), size: 32768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.610
C:\Windows\System32\MSCTF.dll:MSCTF.dll (00007FFD9CD30000), size: 1134592 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\textinputframework.dll:textinputframework.dll (00007FFD765A0000), size: 1019904 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\CoreUIComponents.dll:CoreUIComponents.dll (00007FFD98650000), size: 3530752 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\CoreMessaging.dll:CoreMessaging.dll (00007FFD989B0000), size: 991232 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.746
C:\Windows\SYSTEM32\ntmarta.dll:ntmarta.dll (00007FFD9AA00000), size: 208896 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\wintypes.dll:wintypes.dll (00007FFD972F0000), size: 1392640 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1949
C:\Windows\System32\netprofm.dll:netprofm.dll (00007FFD95F60000), size: 253952 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.906
C:\Windows\System32\npmproxy.dll:npmproxy.dll (00007FFD939E0000), size: 65536 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.906
C:\Windows\SYSTEM32\dhcpcsvc6.DLL:dhcpcsvc6.DLL (00007FFD93E50000), size: 94208 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\DNSAPI.dll:DNSAPI.dll (00007FFD9AD10000), size: 827392 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1865
C:\Program Files\Bonjour\mdnsNSP.dll:mdnsNSP.dll (0000000061450000), size: 217088 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 2.0.2.0
C:\Windows\System32\fwpuclnt.dll:fwpuclnt.dll (00007FFD8E320000), size: 524288 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2006
C:\Windows\System32\rasadhlp.dll:rasadhlp.dll (00007FFD90030000), size: 40960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\TextShaping.dll:TextShaping.dll (00007FFD948E0000), size: 704512 (result: 0), SymType: '-deferred-', PDB: ''
C:\Windows\system32\explorerframe.dll:explorerframe.dll (00007FFD69AD0000), size: 2228224 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1949
C:\Windows\SYSTEM32\mfplat.dll:mfplat.dll (00007FFD8AB00000), size: 1818624 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.746
C:\Windows\SYSTEM32\RTWorkQ.DLL:RTWorkQ.DLL (00007FFD8D680000), size: 212992 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1741
C:\Windows\SYSTEM32\mfreadwrite.dll:mfreadwrite.dll (00007FFD181F0000), size: 1089536 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.746
C:\Windows\SYSTEM32\Mf.dll:Mf.dll (00007FFD88FC0000), size: 540672 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1865
C:\Windows\SYSTEM32\MFCORE.DLL:MFCORE.DLL (00007FFCCFE30000), size: 4775936 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\powrprof.dll:powrprof.dll (00007FFD9AE40000), size: 307200 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\ksuser.dll:ksuser.dll (00007FFD585A0000), size: 36864 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1
C:\Windows\SYSTEM32\UMPDC.dll:UMPDC.dll (00007FFD9ACB0000), size: 73728 (result: 0), SymType: '-deferred-', PDB: ''
C:\Windows\SYSTEM32\CompPkgSup.DLL:CompPkgSup.DLL (00007FFD93B60000), size: 225280 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.746
C:\Windows\System32\Windows.Media.dll:Windows.Media.dll (00007FFD6C670000), size: 7495680 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\Windows.ApplicationModel.dll:Windows.ApplicationModel.dll (00007FFD92B20000), size: 942080 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1806
C:\Windows\System32\twinapi.appcore.dll:twinapi.appcore.dll (00007FFD946D0000), size: 2097152 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1865
C:\Windows\System32\Windows.StateRepositoryPS.dll:Windows.StateRepositoryPS.dll (00007FFD6E570000), size: 1335296 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1466
C:\Windows\System32\AppXDeploymentClient.dll:AppXDeploymentClient.dll (00007FFD94D00000), size: 1011712 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\MMDevApi.dll:MMDevApi.dll (00007FFD93AD0000), size: 544768 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1503
C:\Windows\System32\DEVOBJ.dll:DEVOBJ.dll (00007FFD9B660000), size: 180224 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1620
C:\Windows\SYSTEM32\AUDIOSES.DLL:AUDIOSES.DLL (00007FFD93FB0000), size: 1581056 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1865
C:\Windows\SYSTEM32\resourcepolicyclient.dll:resourcepolicyclient.dll (00007FFD98F90000), size: 81920 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\x86_64\fmod_event64.dll:fmod_event64.dll (00007FFCE9550000), size: 524288 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 0.4.44.64
C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\x86_64\fmodex64.dll:fmodex64.dll (00007FFCCFC70000), size: 1806336 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 0.4.44.64
C:\Windows\SYSTEM32\MSACM32.dll:MSACM32.dll (00007FFD92280000), size: 122880 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1
C:\Windows\SYSTEM32\WSOCK32.dll:WSOCK32.dll (00007FFD7F080000), size: 36864 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1
C:\Windows\SYSTEM32\winmmbase.dll:winmmbase.dll (00007FFD813D0000), size: 155648 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1
C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\x86_64\fmod_eventL64.dll:fmod_eventL64.dll (00007FFCE94C0000), size: 548864 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 0.4.44.64
C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\x86_64\fmodexL64.dll:fmodexL64.dll (00007FFCCFAA0000), size: 1859584 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 0.4.44.64
C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\x86_64\fmod_event_net64.dll:fmod_event_net64.dll (00007FFCCF9A0000), size: 1019904 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 0.4.44.64
C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\x86_64\fmod_event_netL64.dll:fmod_event_netL64.dll (00007FFCE9420000), size: 598016 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 0.4.44.64
C:\Windows\SYSTEM32\d3d11.dll:d3d11.dll (00007FFD97450000), size: 2502656 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\dxgi.dll:dxgi.dll (00007FFD9A130000), size: 995328 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\System32\DriverStore\FileRepository\nvaci.inf_amd64_91df09c5579a85f3\nvldumdx.dll:nvldumdx.dll (00007FFD67650000), size: 1142784 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 31.0.15.2225
C:\Windows\SYSTEM32\drvstore.dll:drvstore.dll (00007FFD93160000), size: 1343488 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1949
C:\Windows\System32\DriverStore\FileRepository\nvaci.inf_amd64_91df09c5579a85f3\nvwgf2umx.dll:nvwgf2umx.dll (00007FFD44EB0000), size: 57032704 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 31.0.15.2225
C:\Windows\system32\nvspcap64.dll:nvspcap64.dll (00007FFD35640000), size: 2940928 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 3.26.0.131
C:\Windows\SYSTEM32\dxcore.dll:dxcore.dll (00007FFD95440000), size: 241664 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\opencl.dll:opencl.dll (00007FFCCF830000), size: 1474560 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 3.0.1.0
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\radeonrays.dll:radeonrays.dll (00007FFCCF7A0000), size: 552960 (result: 0), SymType: '-deferred-', PDB: ''
C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor\Data\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll:mono-2.0-bdwgc.dll (00007FFCCF030000), size: 7790592 (result: 0), SymType: '-deferred-', PDB: ''
C:\ProgramData\Microsoft\VisualStudio\Setup\x64\Microsoft.VisualStudio.Setup.Configuration.Native.dll:Microsoft.VisualStudio.Setup.Configuration.Native.dll (00007FFD1D920000), size: 327680 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 3.2.2137.26324
C:\Windows\system32\apphelp.dll:apphelp.dll (00007FFD98CC0000), size: 593920 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\system32\dataexchange.dll:dataexchange.dll (00007FFD6F6F0000), size: 253952 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1387
C:\Windows\system32\dcomp.dll:dcomp.dll (00007FFD980E0000), size: 1978368 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.2075
C:\Windows\SYSTEM32\xinput1_3.dll:xinput1_3.dll (0000000000400000), size: 122880 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 9.18.944.0
C:\Windows\SYSTEM32\dwmapi.dll:dwmapi.dll (00007FFD991B0000), size: 192512 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.746
C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_2b7bcff446ea567f\igd10iumd64.dll:igd10iumd64.dll (00007FFD8BF20000), size: 23429120 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 27.20.100.8280
C:\Windows\SYSTEM32\ncrypt.dll:ncrypt.dll (00007FFD9B380000), size: 159744 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.662
C:\Windows\SYSTEM32\NTASN1.dll:NTASN1.dll (00007FFD9B340000), size: 241664 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_2b7bcff446ea567f\igdgmm64.dll:igdgmm64.dll (00007FFD93CA0000), size: 1724416 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 27.20.100.8280
C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_2b7bcff446ea567f\igc64.dll:igc64.dll (00007FFD53F60000), size: 44785664 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 27.20.100.8280
C:\Windows\system32\NLAapi.dll:NLAapi.dll (00007FFD96E50000), size: 118784 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1151
C:\Windows\SYSTEM32\wdmaud.drv:wdmaud.drv (00007FFD86DC0000), size: 286720 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.1
C:\Windows\SYSTEM32\AVRT.dll:AVRT.dll (00007FFD95320000), size: 40960 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\msacm32.drv:msacm32.drv (00007FFD98BC0000), size: 53248 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.488
C:\Windows\SYSTEM32\midimap.dll:midimap.dll (00007FFD98BB0000), size: 45056 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.488
C:\Windows\system32\Ninput.dll:Ninput.dll (00007FFD95D30000), size: 434176 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.546
C:\Windows\SYSTEM32\dbghelp.dll:dbghelp.dll (00007FFD99630000), size: 1982464 (result: 0), SymType: '-deferred-', PDB: '', fileVersion: 10.0.19041.867

========== OUTPUTTING STACK TRACE ==================

0x00007FFCCFB25CA0 (fmodexL64) FMOD::Geometry::getMemoryInfo
0x00007FFCCFB5D86A (fmodexL64) FMOD::AsyncThread::getAsyncThread
0x00007FFCCFB5F133 (fmodexL64) FMOD::AsyncThread::getAsyncThread
0x00007FFCCFB66F17 (fmodexL64) FMOD::GeometryI::getMemoryInfo
0x00007FFCCFB2BDF4 (fmodexL64) FMOD::Channel::setChannelGroup
0x00000184EE1EA3E6 (Mono JIT Code) (wrapper managed-to-native) FMOD.Channel:FMOD_Channel_SetChannelGroup (intptr,intptr)
0x00000184EE1EA183 (Mono JIT Code) [C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\Plugins\FMODEx\csharp\fmod.cs:3659] FMOD.Channel:setChannelGroup (FMOD.ChannelGroup) 
0x00000184C8B6220B (Mono JIT Code) [C:\Users\Toru the Red Fox\Documents\Craftworld\Assets\src\audio\Music.cs:557] Music:LateUpdate () 
0x00000184C8ABF268 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007FFCCF15E290 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\mini\mini-runtime.c:2835] mono_jit_runtime_invoke 
0x00007FFCCF0E2AC2 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\object.c:2921] do_runtime_invoke 
0x00007FFCCF0EBB1F (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\object.c:2968] mono_runtime_invoke 
0x00007FF7903CE7EE (Unity) scripting_method_invoke
0x00007FF7903C818D (Unity) ScriptingInvocation::Invoke
0x00007FF790386364 (Unity) MonoBehaviour::CallMethodIfAvailable
0x00007FF790386476 (Unity) MonoBehaviour::CallUpdateMethod
0x00007FF78FA0A4A8 (Unity) BaseBehaviourManager::CommonUpdate<LateBehaviourManager>
0x00007FF78FA13254 (Unity) LateBehaviourManager::Update
0x00007FF78FE568E3 (Unity) `InitPlayerLoopCallbacks'::`2'::PreLateUpdateScriptRunBehaviourLateUpdateRegistrator::Forward
0x00007FF78FE3FE18 (Unity) ExecutePlayerLoop
0x00007FF78FE3FEED (Unity) ExecutePlayerLoop
0x00007FF78FE4520C (Unity) PlayerLoop
0x00007FF78E115C71 (Unity) PlayerLoopController::UpdateScene
0x00007FF78E113BD8 (Unity) Application::TickTimer
0x00007FF78EAC6795 (Unity) MainMessageLoop
0x00007FF78EAD0B58 (Unity) WinMain
0x00007FF791BFABF2 (Unity) __scrt_common_main_seh
0x00007FFD9CC67034 (KERNEL32) BaseThreadInitThunk
0x00007FFD9E2026A1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

got it to properly crash

Thank you for the additional information, it looks like something is going wrong with setChannelGroup, but I am skeptical of this callstack resolution: Geometry::getMemoryInfo, AsyncThread::getAsyncThread, AsyncThread::getAsyncThread, GeometryI::getMemoryInfo, Channel::setChannelGroup are unlikely to be related to each other, but this is an outdated API so I am unsure.
Assuming setChannelGroup is causing the crash, I think a good starting point would be to step back from there and see:

  1. Does the program crash if you remove the setChannelGroup calls?
    a. If it does crash, look at the callstack again and remove the function in that appears to have caused the crash
    b. If it does not crash, what was the data being sent into this function? Perhaps add some additional logging, null checks etc to make sure it is valid and usable data being sent in

it could be causing some memory issues that cause a crash later on during execution

i have done some further debugging and i still haven’t managed to solve the issue

i have commented out all setchannel functions and it still occurs

I’ve ended up rewriting the music handler entirely and it works now, although I’m not 100% certain that what I’ve written is good FMOD practice.

I’ll report back if anything goes wrong again