SampSharp icon indicating copy to clipboard operation
SampSharp copied to clipboard

Runtime error on Linux

Open LDami opened this issue 2 years ago • 2 comments

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

LDami avatar Jul 16 '22 14:07 LDami

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

LDami avatar Jul 17 '22 13:07 LDami

Fixed with this flag: -D_GLIBCXX_USE_CXX11_ABI=0

LDami avatar Aug 04 '22 21:08 LDami