0
0

As soon as we make our first call to FMOD, our game crashes on linux because of some FMOD issue.
There are no issues on windows.

Any pointers on how we can get to the bottom of this?

Unity fmod version 1.10 AND 1.10.1
Unity version: 2017.1.2p2

Full Log: https://pastebin.com/LN0ej0aT
Crashlog:
Receiving unhandled NULL exception
0 0x007ffd85778200 in funlockfile
1 0x007ffd857787a0 in FMOD::Studio::VCA::setVolume(float)
2 0x007ffd857788e0 in (Unknown)
3 0x007ffd857788f0 in mono_set_defaults
4 0x007ffd85778c70 in mono_runtime_invoke
5 0x007ffd85778ca0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
6 0x007ffd85778cd0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
7 0x007ffd85778d00 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
8 0x007ffd85778e70 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
9 0x007ffd85778eb0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
10 0x007ffd85778ed0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
11 0x007ffd85778f90 in operator new(unsigned long)
12 0x007ffd857791a0 in (Unknown)
13 0x007ffd857791b0 in mono_set_defaults
14 0x007ffd857794e0 in mono_runtime_invoke
15 0x007ffd85779510 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
16 0x007ffd85779540 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
17 0x007ffd85779560 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
18 0x007ffd857796d0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
19 0x007ffd85779710 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
20 0x007ffd857797e0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
21 0x007ffd85779860 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
22 0x007ffd85779880 in (Unknown)
23 0x007ffd85779890 in mono_set_defaults
24 0x007ffd85779bb0 in mono_runtime_invoke
25 0x007ffd85779be0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
26 0x007ffd85779c10 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
27 0x007ffd85779c30 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
28 0x007ffd85779d90 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
29 0x007ffd85779dd0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
30 0x007ffd85779e00 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
31 0x007ffd85779eb0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
32 0x007ffd85779ef0 in std::vector<core::basic_string<char, core::StringStorageDefault >, std::allocator<core::basic_string<char, core::StringStorageDefault > > >::~vector()
33 0x007ffd85779f10 in zcfree
34 0x007ffd8577ad70 in __libc_start_main
35 0x007ffd8577ae30 in zcfree

  • Mike Hergaarden

    A debug build shows a bit more:

    Receiving unhandled NULL exception
    #0 0x000000bfa06380 in (Unknown)
    #1 0x000000bfa06850 in _init
    #2 0x000000bfa06bf0 in _init
    #3 0x000000bfa06c20 in FMOD::Studio::EventInstance::getPlaybackState(FMOD_STUDIO_PLAYBACK_STATE*) const
    #4 0x000000bfa06c50 in FMOD::Studio::VCA::setVolume(float)
    #5 0x000000bfa06da0 in FMOD_Studio_VCA_SetVolume

  • You must to post comments
0
0

Found it: seems like linux crashes when calling SetVolume on an “null”

public static FMOD.Studio.VCA weaponVCA;

Simply making sure this is a valid VCA solved the crashes.
It would be great if it didnt crash though, like on Windows.

  • Cameron Baron

    I am unable to reproduce a crash from calling setVolume on an invalid VCA.
    I do get ‘ERR_INVALID_HANDLE’ returned from the function but no crash.

    The debug log looks as though it is attempting to call getPlaybackState, which should do a similar thing if the even instance is not valid.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.