Splizard / minetest-mod-snow

Adds snow biomes to Minetest.
http://splizard.com/minetest/mods/snow-biomes/
Other
10 stars 9 forks source link

mt keeps crashing #15

Closed 00c closed 8 years ago

00c commented 8 years ago

Snow mod verison 3.2

`2016-04-21 22:41:16: ERROR[Main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-04-21 22:41:16: 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-21 22:41:16: ERROR[Main]: stack traceback: 2016-04-21 22:41:16: 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-21 22:41:16: ERROR[Main]: /home/mt/bin/../builtin/game/register.lua:355: in function </home/mt/bin/../builtin/game/register.lua:335>

In thread 7fc0a8a6d780: /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 7fc0937fe700:

0 virtual void* EmergeThread::run()

(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(175,-25,-95), createblank=0) (Leftover data: #2 MapBlock* ServerMap::loadBlock(v3s16)) (Leftover data: #3 void ServerMap::loadBlock(std::string, v3s16, MapSector_, bool)) DEBUG STACK FOR THREAD 7fc093fff700:

0 virtual void* EmergeThread::run()

(Leftover data: #1 virtual MapBlock* ServerMap::emergeBlock(v3s16, bool): p=(175,-25,-95), 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 7fc0a0b20700:

0 virtual void* CurlFetchThread::run()

DEBUG STACK FOR THREAD 7fc0a1321700:

0 virtual void* ServerThread::run()

1 void Server::Receive()

2 void Server::ProcessData(NetworkPacket*)

(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 7fc0a8a6d780:

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&))`

HybridDog commented 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.

00c commented 8 years ago

Hi,

my config

Size of chunks to be generated. chunksize = 5

i just update snow mod, select area with WE and used //deleteblocks

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)

When i connect or enter that area

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)

00c commented 8 years ago

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

HybridDog commented 8 years ago

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?

00c commented 8 years ago

i just used //deleteblocks all looks fine, no more crashes. Thank you for quick fix

00c commented 8 years ago

issue can be closed

00c commented 8 years ago

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

HybridDog commented 8 years ago

too much memory was used, l changed the mapgen code to use that: https://www.lua.org/pil/17.1.html

00c commented 8 years ago

Great Thank you