- Joined
- Dec 30, 2007
- Messages
- 529
- Solutions
- 5
- Reaction score
- 191
Hello,
I would like to implement Cast System to TFS 1.0 . I've got that system from some TFS 0.4 sources.
I successfully get the cast working but the problem is that it crashes server in some situations.
1. When player turn on the cast, 3+ players join his cast, then he turn off the cast and then he logout - server crash
2. When player turn on cast, 3+ players join, he just logout - no crash
The crash log is always different, but came from the same issue I think.
If someone can help, I would be glad,
Thank you.
I would like to implement Cast System to TFS 1.0 . I've got that system from some TFS 0.4 sources.
I successfully get the cast working but the problem is that it crashes server in some situations.
1. When player turn on the cast, 3+ players join his cast, then he turn off the cast and then he logout - server crash
2. When player turn on cast, 3+ players join, he just logout - no crash
The crash log is always different, but came from the same issue I think.
Code:
#0 0x0000000000000000 in ?? ()
#1 0x000000000091570e in Npc::onCreatureDisappear (this=0x3f46560, creature=0x7cbdb90, stackpos=1, isLogout=true) at /home/gunz/sources/29FEB_cast/forgottenserver/src/npc.cpp:279
#2 0x00000000007f7f8d in Game::removeCreature (this=0xd4cc60, creature=0x7cbdb90, isLogout=true) at /home/gunz/sources/29FEB_cast/forgottenserver/src/game.cpp:803
#3 0x000000000095387b in ProtocolGame::logout (this=0x7ffff011b6e0, displayEffect=true, forced=false) at /home/gunz/sources/29FEB_cast/forgottenserver/src/protocolgame.cpp:362
#4 0x000000000098a832 in std::_Mem_fn<void (ProtocolGame::*)(bool, bool)>::operator() (this=0x7ffff01935e0, __object=0x7ffff011b6e0, __args#0=true, __args#1=false)
at /usr/include/c++/4.7/functional:554
#5 0x0000000000986a04 in std::_Bind<std::_Mem_fn<void (ProtocolGame::*)(bool, bool)> (ProtocolGame*, bool, bool)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (
this=0x7ffff01935e0, __args=...) at /usr/include/c++/4.7/functional:1156
#6 0x0000000000981cfe in std::_Bind<std::_Mem_fn<void (ProtocolGame::*)(bool, bool)> (ProtocolGame*, bool, bool)>::operator()<, void>() (this=0x7ffff01935e0) at /usr/include/c++/4.7/functional:1215
#7 0x00000000009719f1 in std::_Function_handler<void (), std::_Bind<std::_Mem_fn<void (ProtocolGame::*)(bool, bool)> (ProtocolGame*, bool, bool)> >::_M_invoke(std::_Any_data const&) (__functor=...)
at /usr/include/c++/4.7/functional:1926
#8 0x00000000009c2d54 in std::function<void ()>::operator()() const (this=0x7ffff01ed8f8) at /usr/include/c++/4.7/functional:2311
#9 0x00000000009c2c28 in Task::operator() (this=0x7ffff01ed8f0) at /home/gunz/sources/29FEB_cast/forgottenserver/src/tasks.h:41
#10 0x00000000009c27b8 in Dispatcher::dispatcherThread (this=0xd4cb00) at /home/gunz/sources/29FEB_cast/forgottenserver/src/tasks.cpp:69
#11 0x00000000009c43cb in std::_Mem_fn<void (Dispatcher::*)()>::operator() (this=0xd76ec8, __object=0xd4cb00) at /usr/include/c++/4.7/functional:554
#12 0x00000000009c431b in std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0xd76ec0) at /usr/include/c++/4.7/functional:1598
#13 0x00000000009c4219 in std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)>::operator()() (this=0xd76ec0) at /usr/include/c++/4.7/functional:1586
#14 0x00000000009c41b2 in std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)> >::_M_run() (this=0xd76ea8) at /usr/include/c++/4.7/thread:115
#15 0x00007ffff7124400 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007ffff6635b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#17 0x00007ffff69270ed in clone () from /lib/x86_64-linux-gnu/libc.so.6
#18 0x0000000000000000 in ?? ()
If someone can help, I would be glad,
Thank you.