Fmod Engine 2.02 crash on Windows

Fmod: 2.02.05 (also tested on 2.02.03 and 2.01.07)
Crash: Unhandled exception at 0x00007FFCF3E21BE0 (fmodL.dll) in secondlife-bin.exe: Stack cookie instrumentation code detected a stack-based buffer overrun.
Thread: Worker Thread FMOD nonblocking thread (0) fmodL.dll!00007ffcf3e21be0
OS: Windows Only (doesn’t happen on Mac)

[LOG] SystemI::init                            : Initialize version=20205 (123444), maxchannels=32, flags=0x00100004
[LOG] SystemI::setOutputInternal               : Setting output to 'FMOD WASAPI Output'
[LOG] OutputWASAPI::init                       : Mix Format (WAVEFORMATEX): wFormatTag=0xFFFE, nChannels=2, nSamplesPerSec=48000, nAvgBytesPerSec=384000, nBlockAlign=8, wBitsPerSample=32, cbSize=22.
[LOG] OutputWASAPI::init                       : Mix Format (WAVEFORMATEXTENSIBLE): wValidBitsPerSample=32, dwChannelMask=0x00000003, SubFormat=00000003-0000-0010-8000-00AA00389B71.
[LOG] OutputWASAPI::init                       : Output buffer size: 4096 samples, latency: 0.00ms, period: 10.00ms, DSP buffer: 1024 * 4
[LOG] Thread::initThread                       : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
[LOG] Thread::initThread                       : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: No, Sleep Time: 0, Looping: Yes.
[LOG] SystemI::createSound                     : filename = : mode 02010088
[LOG] SystemI::createSound                     : FMOD_NONBLOCKING specified.  Putting into queue to be opened asynchronously!
[LOG] Thread::initThread                       : Init FMOD nonblocking thread (0). Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
[LOG] SystemI::createSound                     : setdata soundi = 000001B3599F70A8 : node = 000001B3492A95C0
[LOG] SystemI::createSound                     : add node to async list : head = 000001B34B7B0378.  list count = 0
[LOG] AsyncThread::threadFunc                  : Starting Asynchronous operation on sound 000001B3599F70A8
[LOG] SystemI::createSoundInternal             :     Create name='', mode=0x02010088
[LOG] FMOD_OS_Net_Connect                      :     Attempting connection to ''
[LOG] FMOD_OS_Net_Connect                      :     Attempting connection to ''
[LOG] FMOD_OS_Net_Connect                      :     Attempting connection to ''

Full VS Dump. I don’t see any symbols anywhere, so callstack is unreadable, but attaching it just in case.

>	fmodL.dll!00007ffcf3a63dc1()	Unknown
 	fmodL.dll!00007ffcf395a4b7()	Unknown
 	fmodL.dll!00007ffcf3958f44()	Unknown
 	fmodL.dll!00007ffcf3a38180()	Unknown
 	fmodL.dll!00007ffcf3a39fde()	Unknown
 	fmodL.dll!00007ffcf39faebb()	Unknown
 	fmodL.dll!00007ffcf39e8681()	Unknown
 	fmodL.dll!00007ffcf39f2117()	Unknown
 	fmodL.dll!00007ffcf3a74d04()	Unknown
 	kernel32.dll!00007ffd5ef27034()	Unknown
 	ntdll.dll!00007ffd60322651()	Unknown

Fmod crashes whole aplication silently and somehow bypasses our crash handler so it didn’t get registered until users started to complain. Is there a way to handle or supress Fmod crashes, to make them report an error instead of crashing whole application?

Edit: fixed logs and dump file, they are now from 20205 instead of 20107

I have reproduced this issue using that URL- it isn’t a valid m3u file, but other invalid m3u files are being handled without issue so I’m not sure what’s special about this one. I have passed this onto the dev team to look into, in the meantime I think the best thing to do for now would be to blacklist that URL from your application while we have a closer look at what’s going on here.

1 Like