Closed 00c closed 8 years ago
thanks for reporting the bug, obviously not enough values of the weierstraß function were calculated. https://github.com/Splizard/minetest-mod-snow/blob/master/src/mapgen_v6.lua#L488 l tested it and it didn't crash, it should be fixed now, can you test it, please? Just type /snow, increase the mapgen rarity for testing, press enter and rejoin. And please tell me if you use a custom chunksize, just press /set chunksize.
Hi,
Size of chunks to be generated. chunksize = 5
2016-04-25 08:36:40: ACTION[Server]: Evil joins game. List of players: Evil 2016-04-25 08:36:40: INFO[Server]: Players: 2016-04-25 08:36:40: INFO[Server]: * Evil RemoteClient 3: m_blocks_sent.size()=0, m_blocks_sending.size()=0, m_nearest_unsent_d=0, m_excess_gotblocks=0 2016-04-25 08:36:41: INFO[Server]: Server creating detached inventory "Evilrefill" 2016-04-25 08:36:41: INFO[Server]: Server creating detached inventory "Evil_bags" 2016-04-25 08:36:41: INFO[Server]: Server creating detached inventory "Evil_armor" 2016-04-25 08:36:41: INFO[Emerge-0]: EmergeThread: p=(272,1,-67) allow_generate=1 2016-04-25 08:36:41: INFO[Emerge-1]: EmergeThread: p=(271,1,-67) allow_generate=1 2016-04-25 08:36:41: INFO[Emerge-0]: EmergeThread: not in memory, attempting to load from disk 2016-04-25 08:36:41: INFO[Emerge-0]: EmergeThread: generating 2016-04-25 08:36:41: INFO[Emerge-0]: EmergeThread: initBlockMake(): (272,1,-67) - (272,1,-67) 2016-04-25 08:36:42: INFO[Emerge-0]: initialEmerge: area: (4224,-96,-1216)(4415,95,-1025)=192x192x192=7077888 (28MB) 2016-04-25 08:36:42: INFO[Emerge-1]: EmergeThread: p=(273,1,-67) allow_generate=1 2016-04-25 08:36:42: INFO[Emerge-1]: EmergeThread: not in memory, attempting to load from disk 2016-04-25 08:36:42: INFO[Emerge-1]: EmergeThread: generating 2016-04-25 08:36:42: INFO[Emerge-1]: EmergeThread: initBlockMake(): (273,1,-67) - (273,1,-67) 2016-04-25 08:36:42: INFO[Emerge-1]: initialEmerge: area: (4224,-96,-1216)(4415,95,-1025)=192x192x192=7077888 (28MB) 2016-04-25 08:36:42: INFO[Server]: Server: Maximum lag peaked to 1 s 2016-04-25 08:36:42: INFO[Server]: Server: MapEditEvents: 2016-04-25 08:36:42: INFO[Server]: MEET_ADDNODE: - - - - - - - - - - - - - - 8 2016-04-25 08:36:42: INFO[Emerge-0]: mapgen::make_block() took 542ms 2016-04-25 08:36:42: INFO[Emerge-1]: mapgen::make_block() took 511ms 2016-04-25 08:36:42: INFO[Emerge-0]: EmergeThread: finishBlockMake: changed_blocks.size()=1728 2016-04-25 08:36:43: INFO[Emerge-0]: EmergeThread: ended up with: (272, 1,-67), WRITE_NEEDED, is_gen [X], is_ug [ ], lighting_exp [ ], content {AIR} 2016-04-25 08:36:43: INFO[Emerge-0]: EmergeThread: p=(272,2,-67) allow_generate=1 2016-04-25 08:36:43: ERROR[Main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-04-25 08:36:43: ERROR[Main]: Lua: Runtime error from mod 'snow' in callback environment_OnGenerated(): /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: attempt to perform arithmetic on a nil value 2016-04-25 08:36:43: ERROR[Main]: stack traceback: 2016-04-25 08:36:43: ERROR[Main]: /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: in function </home/mt/bin/../mods/snow/src/mapgen_v6.lua:171> 2016-04-25 08:36:43: ERROR[Main]: /home/mt/bin/../builtin/game/register.lua:355: in function </home/mt/bin/../builtin/game/register.lua:335>
In
thread 7f20d8f9c780: /home/mt/src/server.cpp:505: void Server::step(float): A fatal error occurred: Lua: Runtime error from mod 'snow' in callback environment_OnGenerated(): /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: attempt to perform arithmetic on a nil value stack traceback: /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: in function </home/mt/bin/../mods/snow/src/mapgen_v6.lua:171> /home/mt/bin/../builtin/game/register.lua:355: in function </home/mt/bin/../builtin/game/register.lua:335> Debug stacks: DEBUG STACK FOR THREAD 7f20bbfff700:
0 virtual void* EmergeThread::run()
(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(275,5,-65), createblank=0) (Leftover data: #2 void ServerMap::loadBlock(std::string, v3s16, MapSector, bool)) (Leftover data: #3 void ItemStack::deSerialize(std::istream&, IItemDefManager)) DEBUG STACK FOR THREAD 7f20d084e700:
0 virtual void_ EmergeThread::run()
(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(275,5,-65), createblank=0) (Leftover data: #2 MapBlock* ServerMap::loadBlock(v3s16)) (Leftover data: #3 void ServerMap::loadBlock(std::string, v3s16, MapSector_, bool)) DEBUG STACK FOR THREAD 7f20d104f700:
0 virtual void* CurlFetchThread::run()
DEBUG STACK FOR THREAD 7f20d1850700:
0 virtual void* ServerThread::run()
1 void Server::AsyncRunStep(bool)
2 void Server::SendBlocks(float)
(Leftover data: #3 void RemoteClient::GetNextBlocks(ServerEnvironment, EmergeManager, float, std::vector
&)) (Leftover data: #4 void ItemStack::serialize(std::ostream&) const) (Leftover data: #5 bool getCraftingResult(Inventory, ItemStack&, std::vector &, bool, IGameDef )) DEBUG STACK FOR THREAD 7f20d8f9c780:0 int main(int, char**)
1 Dedicated server branch
2 void dedicated_server_loop(Server&, bool&)
3 void Server::step(float)
2016-04-25 08:39:59: INFO[Server]: * Evil RemoteClient 3: m_blocks_sent.size()=0, m_blocks_sending.size()=0, m_nearest_unsent_d=0, m_excess_gotblocks=0 2016-04-25 08:39:59: INFO[Server]: Server creating detached inventory "Evilrefill" 2016-04-25 08:39:59: INFO[Server]: Server creating detached inventory "Evil_bags" 2016-04-25 08:39:59: INFO[Server]: Server creating detached inventory "Evil_armor" 2016-04-25 08:39:59: INFO[Emerge-1]: EmergeThread: p=(EmergeThread: p=(272272,1,2,-67) all) allow_generate=11 2016-04-25 08:39:59: INFO[Emerge-0]: 2016-04-25 08:39:59: INFO[Emerge-1]: EmergeThread: not in memory, attempting to load from disk 2016-04-25 08:39:59: INFO[Emerge-0]: EmergeThread: p=(EmergeThread: not in memory, attempting to load from disk273,1,-67) allow_generate=1 2016-04-25 08:39:59: INFO[Emerge-1]: 2016-04-25 08:39:59: INFO[Emerge-0]: EmergeThread: generating 2016-04-25 08:39:59: INFO[Emerge-0]: EmergeThread: initBlockMake(): (272,1,-67) - (272,1,-67) 2016-04-25 08:40:00: INFO[Emerge-0]: initialEmerge: area: (4224,-96,-1216)(4415,95,-1025)=192x192x192=7077888 (28MB) 2016-04-25 08:40:00: INFO[Emerge-1]: EmergeThread: not in memory, attempting to load from disk 2016-04-25 08:40:00: INFO[Emerge-1]: EmergeThread: generating 2016-04-25 08:40:00: INFO[Emerge-1]: EmergeThread: initBlockMake(): (273,1,-67) - (273,1,-67) 2016-04-25 08:40:00: INFO[Emerge-1]: initialEmerge: area: (4224,-96,-1216)(4415,95,-1025)=192x192x192=7077888 (28MB) 2016-04-25 08:40:00: INFO[Server]: Server: Maximum lag peaked to 1.1 s 2016-04-25 08:40:00: INFO[Server]: LuaEntitySAO::create(name="mobs:dirt_monster" state="return {["lifetimer"] = 300, ["tamed"] = false}") 2016-04-25 08:40:01: INFO[Emerge-0]: mapgen::make_block() took 567ms 2016-04-25 08:40:01: INFO[Emerge-0]: EmergeThread: finishBlockMake: changed_blocks.size()=1728 2016-04-25 08:40:01: INFO[Emerge-1]: mapgen::make_block() took 660ms 2016-04-25 08:40:01: INFO[Emerge-0]: EmergeThread: ended up with: (272, 1,-67), WRITE_NEEDED, is_gen [X], is_ug [ ], lighting_exp [ ], content {AIR} 2016-04-25 08:40:01: INFO[Emerge-0]: EmergeThread: p=(271,1,-67) allow_generate=1 2016-04-25 08:40:01: ERROR[Main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-04-25 08:40:01: ERROR[Main]: Lua: Runtime error from mod 'snow' in callback environment_OnGenerated(): /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: attempt to perform arithmetic on a nil value 2016-04-25 08:40:01: ERROR[Main]: stack traceback: 2016-04-25 08:40:01: ERROR[Main]: /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: in function </home/mt/bin/../mods/snow/src/mapgen_v6.lua:171> 2016-04-25 08:40:01: ERROR[Main]: /home/mt/bin/../builtin/game/register.lua:355: in function </home/mt/bin/../builtin/game/register.lua:335>
In thread 7f21b67f1780: /home/mt/src/server.cpp:505: void Server::step(float): A fatal error occurred: Lua: Runtime error from mod 'snow' in callback environment_OnGenerated(): /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: attempt to perform arithmetic on a nil value stack traceback: /home/mt/bin/../mods/snow/src/mapgen_v6.lua:488: in function </home/mt/bin/../mods/snow/src/mapgen_v6.lua:171> /home/mt/bin/../builtin/game/register.lua:355: in function </home/mt/bin/../builtin/game/register.lua:335> Debug stacks: DEBUG STACK FOR THREAD 7f21a92ad700:
0 virtual void* EmergeThread::run()
(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(275,5,-65), createblank=0) (Leftover data: #2 void ServerMap::loadBlock(std::string, v3s16, MapSector, bool)) (Leftover data: #3 void ItemStack::deSerialize(std::istream&, IItemDefManager)) DEBUG STACK FOR THREAD 7f21a9aae700:
0 virtual void_ EmergeThread::run()
(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(275,5,-65), createblank=0) (Leftover data: #2 MapBlock* ServerMap::loadBlock(v3s16)) (Leftover data: #3 void ServerMap::loadBlock(std::string, v3s16, MapSector_, bool)) DEBUG STACK FOR THREAD 7f21aa2af700:
0 virtual void* CurlFetchThread::run()
DEBUG STACK FOR THREAD 7f21aad64700:
0 virtual void* ServerThread::run()
1 void Server::AsyncRunStep(bool)
2 void Server::SendBlocks(float)
(Leftover data: #3 void Server::SendBlockNoLock(irr::u16, MapBlock, irr::u8, irr::u16)) (Leftover data: #4 void ItemStack::serialize(std::ostream&) const) (Leftover data: #5 bool getCraftingResult(Inventory, ItemStack&, std::vector
&, bool, IGameDef_)) DEBUG STACK FOR THREAD 7f21b67f1780: 0 int main(int, char_*)
1 Dedicated server branch
2 void dedicated_server_loop(Server&, bool&)
3 void Server::step(float)
There is ugly fix , disable snow mod, walk around on that area, server does not crash, then restart with enabled snow mod and all works fine. This happens only when mapgen kicks in
l assume the chunk size is not always the chunksize setting or 5, e.g. after deleting a chunk. I changed the mapgen code now, it caches single values of the function instead of caching sets of them, so the problem should be fixed in the newest version. Can you please update your snow mod and test if it still crashes?
i just used //deleteblocks all looks fine, no more crashes. Thank you for quick fix
issue can be closed
There was a crash
2016-04-29 17:09:12: ACTION[Server]: matzan digs default:stone at (1465,-20559,-264) 2016-04-29 17:09:14: ACTION[Server]: matzan digs default:stone at (1464,-20559,-266) 2016-04-29 17:09:14: ACTION[Server]: AHA digs 3d_torch:torch_wall at (3241,8,-268) 2016-04-29 17:09:14: ACTION[Server]: matzan uses fake_fire:flint_and_steel, pointing at [node under=1464,-20559,-265 above=1464,-20559,-266] 2016-04-29 17:09:14: ERROR[Main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-04-29 17:09:14: ERROR[Main]: Lua: OOM error from mod 'snow' in callback environment_OnGenerated(): not enough memory 2016-04-29 17:09:14: ERROR[Main]: Current Lua memory usage: 702 MB
In thread 7ff405bdd780: /home/mt/src/server.cpp:505: void Server::step(float): A fatal error occurred: Lua: OOM error from mod 'snow' in callback environment_OnGenerated(): not enough memory Current Lua memory usage: 702 MB Debug stacks: DEBUG STACK FOR THREAD 7ff3fcc8e700:
0 virtual void* EmergeThread::run()
(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(95,-1275,-5), createblank=0) (Leftover data: #2 ServerMapSector* ServerMap::createSector(v2s16): p2d=(95,-5)) (Leftover data: #3 void ServerMap::loadBlock(std::string, v3s16, MapSector_, bool)) DEBUG STACK FOR THREAD 7ff3fd48f700:
0 virtual void* EmergeThread::run()
(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(95,-1275,-5), createblank=0) (Leftover data: #2 void ServerMap::loadBlock(std::string, v3s16, MapSector, bool)) (Leftover data: #3 void ItemStack::deSerialize(std::istream&, IItemDefManager)) DEBUG STACK FOR THREAD 7ff3fdc90700:
0 virtual void_ CurlFetchThread::run()
DEBUG STACK FOR THREAD 7ff3fe491700:
0 virtual void* ServerThread::run()
1 void Server::Receive()
(Leftover data: #2 void Server::SendBlocks(float)) (Leftover data: #3 void RemoteClient::GetNextBlocks(ServerEnvironment, EmergeManager, float, std::vector
&)) (Leftover data: #4 void ItemStack::serialize(std::ostream&) const) (Leftover data: #5 bool getCraftingResult(Inventory, ItemStack&, std::vector &, bool, IGameDef )) (Leftover data: #6 void ItemStack::deSerialize(std::istream&, IItemDefManager_)) DEBUG STACK FOR THREAD 7ff405bdd780:0 int main(int, char_*)
1 Dedicated server branch
2 void dedicated_server_loop(Server&, bool&)
3 void Server::step(float)
(Leftover data: #4 void Server::SendAccessDenied_Legacy(irr::u16, const wstring&))
I guess its related to mapgen
too much memory was used, l changed the mapgen code to use that: https://www.lua.org/pil/17.1.html
Great Thank you
Snow mod verison 3.2