[SOLVED] Fusion linux dedicated server Segmentation Fault

Options
KarimVoidstorm
edited March 2023 in Fusion

Hello,

I have a dedicated server build running on Unity Multiplay. Everything works fine in windows with my build, but when hosted on the Unity infrastructure, it happens to end with a segfault at seemingly random times.

Here is the stacktrace:

Caught fatal signal - signo:11 code:0 errno:0 addr:(nil)
Obtained 13 stack frames.
#0  0x007ffa40c4c420 in funlockfile
#1  0x007ffa40b2323f in clock_nanosleep
#2  0x007ffa40b28ec7 in nanosleep
#3  0x007ffa41a49391 in std::_Rb_tree<void const*, void const*, std::_Identity<void const*>, std::less<void const*>, std::allocator<void const*> >::_M_erase(std::_Rb_tree_node<void const*>*)
#4  0x007ffa4191a303 in int* std::_V2::__rotate<int*>(int*, int*, int*, std::random_access_iterator_tag)
#5  0x007ffa4191a3ca in int* std::_V2::__rotate<int*>(int*, int*, int*, std::random_access_iterator_tag)
#6  0x007ffa4196e607 in int* std::_V2::__rotate<int*>(int*, int*, int*, std::random_access_iterator_tag)
#7  0x007ffa419679b7 in int* std::_V2::__rotate<int*>(int*, int*, int*, std::random_access_iterator_tag)
#8  0x007ffa41967972 in int* std::_V2::__rotate<int*>(int*, int*, int*, std::random_access_iterator_tag)
#9  0x007ffa41967c5c in int* std::_V2::__rotate<int*>(int*, int*, int*, std::random_access_iterator_tag)
#10 0x007ffa41b8fa47 in PlayerMain(int, char**)
#11 0x007ffa40a6a083 in __libc_start_main
#12 0x0055dd0d91c029 in (Unknown)
Executing Unity Signal Handler

Again, everything works perfectly on windows. at first I thought that the server the build was running on went low on resources, but after benchmarking how much RAM it used, everything should have been fine. My RAM usage on windows barely goes above 200MB and my server has 800MB allocated. I even tried allocating more, with 2GB RAM servers, but sadly got the same results.

I'm not sure whether the issue comes from Unity or Fusion, so I'm also asking the question here. I thoroughly searched for people who may have the same issue and found a few segfaults of dedicated fusion servers running on linux but none of the stacktraces I fell upon looked like mine.


Thanks in advance.

Best Answer

  • KarimVoidstorm
    Answer ✓
    Options

    I've been compiling with Mono. After switching to il2cpp, the segfault disappeared.

Answers

  • KarimVoidstorm
    Answer ✓
    Options

    I've been compiling with Mono. After switching to il2cpp, the segfault disappeared.