Hey, I have problem with clean map - global event script, it crashes my server!
core file
last line in logs
clean.lua
core file
Code:
#0 std::_Rb_tree<std::string, std::pair<std::string const, ItemAttribute>, std::_Select1st<std::pair<std::string const, ItemAttribute> >, std::less<std::string>, std::allocator<std::pair<std::string const, ItemAttribute> > >::find (
this=0x3, __k=@0x415e8b60) at /usr/include/c++/4.4/bits/stl_tree.h:1421
warning: (Internal error: pc 0x4e430f in read in psymtab, but not in symtab.)
No locals.
#1 0x00000000004e2582 in ItemAttributes::getBooleanAttribute (
this=0x7f26f009c770, key=@0x415e8b60)
at /usr/include/c++/4.4/bits/stl_map.h:659
No locals.
#2 0x0000000000497a63 in Game::cleanMap (this=<value optimized out>,
count=@0x415e8bec) at item.h:371
tiles = <value optimized out>
marked = 19895
tile = (Tile *) 0x7f272ac73e60
#3 0x00000000004ecc8b in LuaScriptInterface::luaDoCleanMap (L=0xa94dc0)
at luascript.cpp:9006
count = 1330
#4 0x00007f278b156291 in ?? () from /usr/lib/liblua5.1.so.0
No symbol table info available.
#5 0x00007f278b160423 in ?? () from /usr/lib/liblua5.1.so.0
No symbol table info available.
#6 0x00007f278b1566fe in ?? () from /usr/lib/liblua5.1.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#7 0x00007f278b155e37 in ?? () from /usr/lib/liblua5.1.so.0
No symbol table info available.
#8 0x00007f278b155eb5 in ?? () from /usr/lib/liblua5.1.so.0
No symbol table info available.
#9 0x00007f278b151f75 in lua_pcall () from /usr/lib/liblua5.1.so.0
No symbol table info available.
#10 0x0000000000512470 in LuaScriptInterface::callFunction (this=0xab63e0,
params=<value optimized out>) at luascript.cpp:931
size = 5
handler = 5
result = <value optimized out>
#11 0x00000000005126ec in LuaScriptInterface::executeTimer (this=0xab63e0,
eventIndex=1006) at luascript.cpp:885
No locals.
#12 0x0000000000516951 in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf1<void, LuaScriptInterface, unsigned int>, boost::_bi::list2<boost::_bi::value<LuaScriptInterface*>, boost::_bi::value<unsigned int> > >, void>::invoke (function_obj_ptr=<value optimized out>)
at /usr/include/boost/bind/mem_fn_template.hpp:162
f = (
boost::_bi::bind_t<void, boost::_mfi::mf1<void, LuaScriptInterface, unsigned int>, boost::_bi::list2<boost::_bi::value<LuaScriptInterface*>, boost::_bi::value<unsigned int> > > *) 0x0
warning: (Internal error: pc 0x5d0a86 in read in psymtab, but not in symtab.)
---Type <return> to continue, or q <return> to quit---
#13 0x00000000005d0a87 in Task::operator() (this=<value optimized out>)
at /usr/include/boost/function/function_template.hpp:1013
warning: (Internal error: pc 0x5d0a86 in read in psymtab, but not in symtab.)
No locals.
warning: (Internal error: pc 0x5d0a86 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0x5d08b0 in read in psymtab, but not in symtab.)
#14 0x00000000005cff8f in Dispatcher::dispatcherThread (
p=<value optimized out>) at tasks.cpp:73
task = (Task *) 0x7f26eccd2f20
dispatcher = (Dispatcher *) 0x880460
#15 0x00000000005a6e42 in boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(void*), boost::_bi::list1<boost::_bi::value<void*> > > >::run (
this=0x7f26f42414a8) at /usr/include/boost/bind/bind.hpp:246
No locals.
#16 0x00007f278a21d170 in thread_proxy ()
from /usr/lib/libboost_thread.so.1.41.0
No symbol table info available.
#17 0x00007f2788f65fc7 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#18 0x00007f278924a59d in clone () from /lib/libc.so.6
No symbol table info available.
#19 0x0000000000000000 in ?? ()
No symbol table info available.
last line in logs
Code:
> Broadcasted message: "Game map cleaning within 30 seconds, please pick up your items!".
clean.lua
Code:
function executeClean()
doCleanMap()
doBroadcastMessage("Game map cleaned, next clean in 2 hours.")
return true
end
function onThink(interval, lastExecution, thinkInterval)
doBroadcastMessage("Game map cleaning within 30 seconds, please pick up your items!")
addEvent(executeClean, 30000)
return true
end