SampSharp
SampSharp copied to clipboard
Runtime error on Linux
OS: Debian 10
Error: Segementation fault
during plugin from master loading (no error with v0.9.3)
Debug Trace:
#0 0x0818d9c0 in std::filesystem::__cxx11::path::_M_split_cmpts() ()
#1 0xee9ccf3e in std::filesystem::__cxx11::path::path<char [20], std::filesystem::__cxx11::path> (__source=..., this=0xffffcc84) at /usr/include/c++/10/bits/fs_path.h:227
#2 write_empty_gamemode () at src/SampSharp/main.cpp:35
#3 0xee9cddb5 in validate_config (cfg=<optimized out>) at src/SampSharp/main.cpp:93
#4 0xee9ce0cb in Load (ppData=0xf67a5fd8 <PLUGIN_FUNCTIONS>) at src/SampSharp/main.cpp:143
#5 0xf656d6bd in PawnPlugin::PawnPlugin (this=<optimized out>, path=..., core=<optimized out>) at /omp/open.mp/Server/Components/Pawn/Plugin/Plugin.cpp:377
#6 0xf656e21b in std::make_unique<PawnPlugin, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, ICore*&> (__args=@0x8f1d81c: 0xf76dc010,
__args=@0x8f1d81c: 0xf76dc010) at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/unique_ptr.h:835
#7 PawnPluginManager::Spawn (this=<optimized out>, name=...) at /omp/open.mp/Server/Components/Pawn/PluginManager/PluginManager.cpp:93
#8 0xf656df8d in PawnPluginManager::Load (this=<optimized out>, name=...) at /omp/open.mp/Server/Components/Pawn/PluginManager/PluginManager.cpp:66
#9 0xf65d37bc in PawnComponent::onReady (this=0x8ec72a0) at /omp/open.mp/Server/Components/Pawn/main.cpp:154
#10 0x08109104 in ComponentList::ready()::{lambda(robin_hood::pair<unsigned long long, IComponent*> const&)#1}::operator()(robin_hood::pair<unsigned long long, IComponent*> const&) const (
pair=..., this=<optimized out>) at /omp/open.mp/Server/Source/core_impl.hpp:169
#11 std::for_each<robin_hood::detail::Table<true, 80u, unsigned long long, IComponent*, robin_hood::hash<unsigned long long, void>, std::equal_to<unsigned long long> >::Iter<false>, ComponentList::ready()::{lambda(robin_hood::pair<unsigned long long, IComponent*> const&)#1}>(robin_hood::detail::Table<true, 80u, unsigned long long, IComponent*, robin_hood::hash<unsigned long long, void>, std::equal_to<unsigned long long> >::Iter<false>, robin_hood::detail::Table<true, 80u, unsigned long long, IComponent*, robin_hood::hash<unsigned long long, void>, std::equal_to<unsigned long long> >::Iter<false>, ComponentList::ready()::{lambda(robin_hood::pair<unsigned long long, IComponent*> const&)#1}) (__first=..., __last=..., __f=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:3882
#12 ComponentList::ready (this=0xf78051d4) at /omp/open.mp/Server/Source/core_impl.hpp:167
#13 Core::Core (this=0xf76dc010, cmd=...) at /omp/open.mp/Server/Source/core_impl.hpp:1041
#14 0x08105130 in main (argc=<optimized out>, argv=<optimized out>) at /omp/open.mp/Server/Source/server.cpp:127
Stacktrace for tag 0.10.1:
#1 0xee9b9790 in std::filesystem::__cxx11::path::path<char [14], std::filesystem::__cxx11::path> (__source=..., this=0xffffce7c) at /usr/include/c++/10/bits/fs_path.h:227
#2 plugin::config_validate (this=0x8f75700) at src/SampSharp/plugin.cpp:124
#3 0xee9b2216 in Load (ppData=0xf67a3fd8 <PLUGIN_FUNCTIONS>) at src/SampSharp/main.cpp:95
#4 0xf656b6bd in PawnPlugin::PawnPlugin (this=<optimized out>, path=..., core=<optimized out>) at /omp/open.mp/Server/Components/Pawn/Plugin/Plugin.cpp:377
#5 0xf656c21b in std::make_unique<PawnPlugin, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, ICore*&> (__args=@0x8f1d81c: 0xf76da010,
__args=@0x8f1d81c: 0xf76da010) at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/unique_ptr.h:835
#6 PawnPluginManager::Spawn (this=<optimized out>, name=...) at /omp/open.mp/Server/Components/Pawn/PluginManager/PluginManager.cpp:93
#7 0xf656bf8d in PawnPluginManager::Load (this=<optimized out>, name=...) at /omp/open.mp/Server/Components/Pawn/PluginManager/PluginManager.cpp:66
#8 0xf65d17bc in PawnComponent::onReady (this=0x8ec72c0) at /omp/open.mp/Server/Components/Pawn/main.cpp:154
#9 0x08109104 in ComponentList::ready()::{lambda(robin_hood::pair<unsigned long long, IComponent*> const&)#1}::operator()(robin_hood::pair<unsigned long long, IComponent*> const&) const (
pair=..., this=<optimized out>) at /omp/open.mp/Server/Source/core_impl.hpp:169
#10 std::for_each<robin_hood::detail::Table<true, 80u, unsigned long long, IComponent*, robin_hood::hash<unsigned long long, void>, std::equal_to<unsigned long long> >::Iter<false>, ComponentList::ready()::{lambda(robin_hood::pair<unsigned long long, IComponent*> const&)#1}>(robin_hood::detail::Table<true, 80u, unsigned long long, IComponent*, robin_hood::hash<unsigned long long, void>, std::equal_to<unsigned long long> >::Iter<false>, robin_hood::detail::Table<true, 80u, unsigned long long, IComponent*, robin_hood::hash<unsigned long long, void>, std::equal_to<unsigned long long> >::Iter<false>, ComponentList::ready()::{lambda(robin_hood::pair<unsigned long long, IComponent*> const&)#1}) (__first=..., __last=..., __f=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:3882
#11 ComponentList::ready (this=0xf78031d4) at /omp/open.mp/Server/Source/core_impl.hpp:167
#12 Core::Core (this=0xf76da010, cmd=...) at /omp/open.mp/Server/Source/core_impl.hpp:1041
#13 0x08105130 in main (argc=<optimized out>, argv=<optimized out>) at /omp/open.mp/Server/Source/server.cpp:127
Fixed with this flag:
-D_GLIBCXX_USE_CXX11_ABI=0