TrinityCore/TrinityCore — Issue #3662: [Core] Crash when compiled on Solaris 11
Author: gatekeep
Created: 2011-10-24 21:01:09+00:00
State: open

After compiling TrinityCore on Oracle Solaris 11, we are greeted with a crash when the worldserver tries to execute the WorldRunnable thread.

GDB Backtrace:

WORLD: World initialized in 1 minutes 6 seconds

/usr/src/mangos/TrinityCore.Vanilla/src/server/shared/Threading/Threading.cpp:112 in Thread ASSERTION FAILED:
_start
/usr/share/src/mangos/TrinityCore.Vanilla/debug/sfw_stage/bin/worldserver:_ZN9ACE_Based6ThreadC1EPNS_8RunnableE+0x5d
/usr/share/src/mangos/TrinityCore.Vanilla/debug/sfw_stage/bin/worldserver:_ZN6Master3RunEv+0x33a
/usr/share/src/mangos/TrinityCore.Vanilla/debug/sfw_stage/bin/worldserver:main+0xfe
/usr/share/src/mangos/TrinityCore.Vanilla/debug/sfw_stage/bin/worldserver:_start+0x83

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) info program
Using the running image of child LWP 1 via /proc.
Program stopped at 0x0.
It stopped with signal SIGSEGV, Segmentation fault.
(gdb) bt full
#0 0x00000000 in ?? ()
No symbol table info available.
#1 0x087f93e8 in Thread (this=0x0, instance=0x0) at /usr/src/mangos/TrinityCore.Vanilla/src/server/shared/Threading/Threading.cpp:112
st = {static SYMBUFSIZ = 4096,
buf_ = "/usr/share/src/mangos/TrinityCore.Vanilla/debug/sfw_stage/bin/worldserver:_ZN9ACE_Based6ThreadC1EPNS_8RunnableE+0x5d\n/usr/share/src/mangos/TrinityCore.Vanilla/debug/sfw_stage/bin/worldserver:_ZN6Maste"..., buflen_ = 0, static UNSUPPORTED = 0xfee97460 "", static UNABLE_TO_GET_TRACE = 0xfee97440 ""}
#2 0x0823c87e in Master::Run (this=0x8ba7f3c) at /usr/src/mangos/TrinityCore.Vanilla/src/server/worldserver/Master.cpp:185
seed1 = {_bn = 0x8ba6fc8, _array = 0x0}
SignalINT = { = { = {_vptr.ACE_Event_Handler = 0x8927aa8, reference_count_ = {value_ = 1,
static increment_fn_ = 0xfedee33c <(anonymous namespace)::multi_cpu_increment(long volatile*)>, static decrement_fn_ = 0xfedee34c <(anonymous namespace)::multi_cpu_decrement(long volatile*)>,
static exchange_fn_ = 0xfedee35c <(anonymous namespace)::multi_cpu_exchange(long volatile*, long)>,
static exchange_add_fn_ = 0xfedee368 <(anonymous namespace)::multi_cpu_exchange_add(long volatile*, long)>}, priority_ = 0, reactor_ = 0x0,
reference_counting_policy_ = { = {_vptr.Policy = 0xfef07448}, value_ = ACE_Event_Handler::Reference_Counting_Policy::DISABLED}}, }, }
SignalTERM = { = { = {_vptr.ACE_Event_Handler = 0x8927aa8, reference_count_ = {value_ = 1,
static increment_fn_ = 0xfedee33c <(anonymous namespace)::multi_cpu_increment(long volatile*)>, static decrement_fn_ = 0xfedee34c <(anonymous namespace)::multi_cpu_decrement(long volatile*)>,
static exchange_fn_ = 0xfedee35c <(anonymous namespace)::multi_cpu_exchange(long volatile*, long)>,
static exchange_add_fn_ = 0xfedee368 <(anonymous namespace)::multi_cpu_exchange_add(long volatile*, long)>}, priority_ = 0, reactor_ = 0x0,
reference_counting_policy_ = { = {_vptr.Policy = 0xfef07448}, value_ = ACE_Event_Handler::Reference_Counting_Policy::DISABLED}}, }, }
Handler = {_vptr.ACE_Sig_Handler = 0x8ba6248, static sig_pending_ = 0, static signal_handlers_ = {0x0, 0x0, 0x8047bd0, 0x0 , 0x8047bb0, 0x0 }}
world_thread = {m_iThreadId = 0, m_hThreadHandle = 0, m_task = 0x14e358f0, static m_ThreadStorage = { = {}, _vptr.ACE_TSS = 0x894ce80, keylock_ = {lock_ = {
__pthread_mutex_flags = {__pthread_mutex_flag1 = 4, __pthread_mutex_flag2 = 0 '\0', __pthread_mutex_ceiling = 0 '\0', __pthread_mutex_type = 0, __pthread_mutex_magic = 19800},
__pthread_mutex_lock = {__pthread_mutex_lock64 = {__pthread_mutex_pad = "\000\000\000\000\000\000\000"}, __pthread_mutex_lock32 = {__pthread_ownerpid = 0, __pthread_lockword = 0},
__pthread_mutex_owner64 = 0}, __pthread_mutex_data = 0}, removed_ = false}, once_ = false, key_ = 0}, static m_TpEnum = {m_priority = {0, 33, 48, 63, 79, 95, 127}}}
rar_thread = {m_iThreadId = 4276808984, m_hThreadHandle = 146439200, m_task = 0x8047c18, static m_ThreadStorage = { = {}, _vptr.ACE_TSS = 0x894ce80,
keylock_ = {lock_ = {__pthread_mutex_flags = {__pthread_mutex_flag1 = 4, __pthread_mutex_flag2 = 0 '\0', __pthread_mutex_ceiling = 0 '\0', __pthread_mutex_type = 0, __pthread_mutex_magic = 19800},
__pthread_mutex_lock = {__pthread_mutex_lock64 = {__pthread_mutex_pad = "\000\000\000\000\000\000\000"}, __pthread_mutex_lock32 = {__pthread_ownerpid = 0, __pthread_lockword = 0},
__pthread_mutex_owner64 = 0}, __pthread_mutex_data = 0}, removed_ = false}, once_ = false, key_ = 0}, static m_TpEnum = {m_priority = {0, 33, 48, 63, 79, 95, 127}}}
cliThread = (ACE_Based::Thread *) 0x8ba7c38
soap_thread = (ACE_Based::Thread *) 0x0
bind_ip = {static npos = 4294967295, _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x8ba7c20 "\004"}}
pidfile = {static npos = 4294967295, _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {}, },
_M_p = 0x8bc656c "/var/run/worldserver.pid"}}
wsport = 2052
#3 0x082386c6 in main (argc=3, argv=0x8047cc8) at /usr/src/mangos/TrinityCore.Vanilla/src/server/worldserver/Main.cpp:145
cfg_file = 0x8047dd9 "/root/worldserver.conf"
c = 3
(gdb)