Time Nick Message 00:24 est31 oooohhh 00:29 hmmmm I'm going to add an optional buffer parameter to PerlinNoiseMap to avoid allocating new ones 00:29 hmmmm this should speed things up a little since new items don't need to be allocated, also it should stabilize the memory consumption 00:30 hmmmm oh dear, the leaky abstractions of lua memory management are crumbling around us 01:23 hmmmm indeed, having the user pass a preallocated buffer results in a 9.6% performance improvement 01:24 hmmmm also it reduces the variance of time variations 01:24 hmmmm err... variance of time taken 01:34 hmmmm i found a very reliable way of tracking memory usage of lua: lua_gc(L, LUA_GCOUNT/GCOUNTB) 01:35 hmmmm an 80x82x80 noise buffer is precisely 8388616 bytes 01:41 est31 hmmmm, do we really need setting groups? Nothing except noise params uses it. 01:43 est31 I guess it won't be that hard to support them in the new version too. 01:43 hmmmm I had bigger plans but never got the time 01:44 est31 just you know 01:44 est31 what when setting has itself as group for example? 01:45 est31 (or any other, larger circle) 02:50 hmmmm all MapgenParams is going to be a settings group 02:51 hmmmm then we start breaking it up into categories 02:51 hmmmm like clouds - enabled, radius, is_3d, speed 02:51 est31 minetest's next language 02:51 est31 lua formspecs and now settings 02:51 est31 but I'm neutral in this debate 02:53 est31 man I'd really love function pointers now 02:53 est31 but instead I have to write my own iterator class 02:54 est31 s/function pointers/closures/ 02:57 hmmmm don't do anything too fancy... 02:57 est31 ok found some other way 05:07 est31 btw the current implementation for groups is leaky 05:09 est31 because, when we allocate some setting a with a group g on a settings object o, then call o.update(p) for a settings object p where a is allocated with something else, then g is leaked 05:10 est31 are we using that method at all 05:10 hmmmm update?? 05:11 est31 void Settings::update(const Settings &other) 05:11 hmmmm not to my knowledge 05:11 * est31 removes and tries to build 05:12 est31 really great that c++ is so strong 05:12 est31 in js you'd have to try 05:12 est31 but will take some time until I get it building 05:12 est31 bc other stuff 05:34 est31 ok it is compiling... 05:34 est31 hi Zeno` :) 05:38 Zeno` how's things? 05:42 est31 well 05:43 est31 btw what does happen when you do a straightforward c++ implementation of this: http://stackoverflow.com/a/4928805 05:47 Zeno` hmm 05:48 Zeno` not really sure. Haven't I added that? 05:49 Zeno` Can't remember what I have tried and not tried now :) 05:49 * Zeno` looks 05:54 est31 oh noes 05:54 est31 the callbacks are organized in a map too 05:54 Zeno` lmao 05:55 Zeno` in Settings? 05:55 est31 looks like I have to make SettingsEntryContainer generic in terms of the second type 05:55 est31 yes 05:55 Zeno` heh 06:55 est31 small question. 06:55 est31 I have the [] operator 06:55 est31 which returns a reference 06:56 hmmmm is it really necessary to add operator overloading?? 06:56 est31 its not shown to the outside 06:56 est31 only for MTSettingsContainer 06:58 hmmmm if it's an internal thing, then it's really questionable :) 06:58 hmmmm but anyway you never asked your question 07:03 est31 I want to change two values when that reference gets updated 07:03 est31 I guess I should've used pointers 07:03 est31 now I'm using a set() method 07:11 est31 and now I see how ugly templates are in c++ 07:12 est31 I did an approach with templates (for the callbacks) 07:12 est31 but then saw how ugly they were 07:12 est31 then I abandoned it 07:13 hmmmm est, you really don't need to use as many C++ features as possible 07:13 hmmmm trust me, most of them suck 07:15 Zeno` blow 'em up! 07:15 hmmmm anyway 07:15 hmmmm i'm done with my investigation 07:15 Zeno` what was being investigated? 07:15 hmmmm high perlin noise memory usage 07:15 Zeno` any results? 07:16 hmmmm i'm definitely going to add a buffer parameter instead of creating a new table each and every call 07:16 Zeno` good idea 07:16 hmmmm that helps a lot with memory consumption and improves execution time by 9.6% 07:16 hmmmm generating the noise result and then grabbing slices of the result with separate lua calls does not work out 07:17 hmmmm it does minimize the amount of memory usage, but at a cost that's too high 07:17 Zeno` cre... yeah, I was just about to say that when I was looking at that table (ages ago) something like 30% of the mapgen call was stuffing the data into the table (well, probably creating it) 07:17 hmmmm it's about 7x slower to get the noise result in 80-value chunks rather than the whole 80x80x80 at once 07:18 hmmmm >>> get3dMapSlice 81: 5106ns 07:18 hmmmm >>> get3dMapSlice 524801: 5626590ns 07:18 Zeno` slight difference 07:18 hmmmm 5626590/6560 = 858 07:19 hmmmm so, setting 80 values in bulk takes approximately 858 nanoseconds 07:19 hmmmm whereas setting 80 values in its own lua call takes 5106ns 07:19 hmmmm so that's actually 6x slower, not 7 07:20 hmmmm an 80x82x80 noise table takes up 8388616 bytes for 524800 values, which comes out to 15.98 bytes per value 07:21 hmmmm so in 80 value chunks, you can bring down the memory consumption for lua noise result buffers to 1280 bytes 07:21 hmmmm but at the cost of being 6x slower 07:22 Zeno` :( 07:23 hmmmm well, it's actually slower than 6x because this is already inside the C++ function 07:23 hmmmm if you account for the lua to c++ overhead it's even worse. i can't calculate that because the lua os.timer() has a resolution of about 8ms 07:24 Zeno` well... use the irrlicht timer :P 07:24 hmmmm really the problem with that guy's PR is that the lua garbage collector wasn't turning on often enough 07:24 hmmmm and the version of the mod he was using has extremely bad practices 07:25 hmmmm i.e. creating 10 new noise object which is are a couple MB each every single call 07:25 Zeno` How is the GC scheduled anyway? 07:25 hmmmm err... s/is// 07:25 Zeno` err wait... The VM must do that, nvm 07:26 hmmmm it's not generational 07:26 hmmmm i forget what but you can control this using lua_gc() 07:26 hmmmm maybe it's a luajit thing only, but you can choose generational 07:27 Zeno` hmm ok 07:27 Zeno` I don't use luajit on my dev machine so I wouldn't know wtf it might or might not do 07:28 hmmmm ahh okay no it's a lua 5.2-only thing 07:28 Zeno` hahaha, that's funny. Websites that give screenshots of a console only program 07:28 hmmmm incremental GC is the default, generational is an option 07:28 hmmmm http://www.lua.org/manual/5.2/manual.html#2.5 07:28 Zeno` http://proguard.sourceforge.net/screenshot_console.gif <- impressive! 07:29 hmmmm incremental mark-and-sweep 07:30 kahrl Zeno`: the other way around is more impressive, IMHO ;) http://blogs.msdn.com/b/oldnewthing/archive/2015/05/06/10612563.aspx 08:10 est31 honestly, all this *NoEx stuff should probably just be a param to the function 08:13 est31 aaaand 08:13 est31 they are horribly stupid 08:14 est31 I mean what they do is enclosing it in try-catch 08:14 est31 and thats not the way exceptions should be used 08:14 est31 of course this is horribly slow 09:01 Zeno` lol 09:01 Zeno` yes I looked at the same things est31 09:01 Zeno` many times 09:01 est31 I will change that, but in a later commit 09:01 Zeno` lol kahrl 09:02 est31 this PR is only for the vector 09:02 Zeno` hehe I removed a bunch of exceptions that were used for normal flow control (instead of if/else) :/ 09:03 est31 what bout kahrl ? 09:04 Zeno` his link 09:04 est31 aah 09:04 est31 lol 09:05 est31 reminds me of that xkcd 09:43 est31 wooow 09:44 est31 there are two other settings that are accessed repeatedly 09:44 est31 its nice to debug settings this way 09:44 est31 fps_max and gui_scaling_filter 10:16 chchjesus Hey, where is the code for each minetest item kept? 10:16 chchjesus i.e. a pickaxe, for instance 10:18 est31 chchjesus, please be more specific 10:19 est31 minetest_game has mods/default/tools.lua 10:19 chchjesus I have the source for minetest. There must be somewhere in the source tree that items are configured (for example, a pickaxe). Where in the source tree are these items configured? 10:19 chchjesus Oh, hang on 10:19 est31 the lua code is the right spot then I guess 10:19 chchjesus I forgot that there are two separate repos. 10:35 est31 what do people say about https://github.com/est31/minetest/commit/4ed23438d5474112f9d34bac25125f3961d1ea6d 10:35 est31 is it ready for merge? 10:35 est31 the improvement isnt perfect, I plan further commits on that 10:39 est31 Zeno`, ^ 10:40 Zeno` Last time I tried to do something similar I got yelled at 10:41 est31 bad, what did you wanted to do 10:41 est31 ? 10:41 est31 want* 10:41 est31 or have 10:42 Zeno` basically what you've written :) 10:42 est31 dunno (english tenses ... ) 10:42 est31 and why did they yell at you 10:42 Zeno` celeron55 thinks it's a maintenance nightmare because people would have to add a setting (or enum in your case) in more than one place 10:42 Zeno` so "nobody would ever add a setting again" 10:43 est31 ah 10:43 Zeno` settingdef.h needs a newline at end of file :) 10:43 est31 this patch manages settings at a single place 10:43 est31 settingdef.h 10:43 est31 the rest is the preprocessor's job 10:44 Zeno` Mine did it in a single place as well buy anyway 10:44 Zeno` back to the question 10:44 Zeno` from a cursory glance I think it looks great 10:45 Zeno` nice preprocessor tricks 10:48 Zeno` tested properly? 10:48 celeron55 i've always given +1 for a preprocessor but hmmmm has stated he would absolutely hate one 10:49 Zeno` hmm 10:49 Zeno` est31, well without testing the code it "looks" good 10:50 est31 I have done some arcane testing 10:50 Zeno` voodoo 10:50 est31 as in: the game still stars 10:50 est31 starts* 10:50 Zeno` lol 10:50 Zeno` good enough! 10:50 est31 (it didnt at the start because my awk script didnt copy the font paths) 10:50 Zeno` have you output the source files after the preprocessor has been applied 10:51 est31 then I see that it loads minetest.conf 10:51 est31 and I can set settings 10:51 Zeno` celeron55, est31: hmmmm is aware of this work already isn't he? 10:51 est31 good idea 10:51 Zeno` Pretty sure this patch is what we were talking about yesterday 10:52 est31 I've shared it back then yes 10:52 Zeno` Yeah, I thought so. I think he was more concerned about operator overloading than anything else but I might be wrong 10:52 celeron55 wait what does this thing even do 10:53 celeron55 this kind of a preprocessor thing could be used for generating a struct that directly contains all the settings with correct types, right? 10:53 celeron55 this only adds numeric names? 10:54 est31 yes 10:54 est31 its also used to populate a map for quickly checking whether a name can be converted into an enum 10:54 est31 value 10:55 est31 the types would be harder I guess 10:55 celeron55 this seems fine to me as-is as long as it has actually been tested to considerably improve performance 10:56 celeron55 not theoretically 10:57 Zeno` It won't at the moment because nearly everything caches the values. But it should be easy to test by making a test class (unit test kinda thing) 10:57 est31 on it 10:58 celeron55 there are two heavy operations in the settings thing; only one of which is the name lookup 10:58 est31 the other the type conversion? 10:58 celeron55 yes 10:59 est31 I want to do that too 10:59 est31 this commit focuses on the preprocessor changes and the container class 10:59 celeron55 also note that Settings actually still used for disk and network data formats 10:59 celeron55 +is 11:00 celeron55 it should probably be separated pretty much right now 11:00 est31 how do you mean that? 11:00 est31 settings get converted into binary form then sent to the client? 11:00 est31 Only thing I saw was command line params 11:02 celeron55 map generator parameters at least 11:02 celeron55 they use none of this extra functionality and it can only hurt them 11:03 est31 yea 11:03 celeron55 also player serialization on disk uses Settings 11:03 est31 interesting 11:03 celeron55 and game.conf uses Settings 11:04 celeron55 they should have a simpler version without any of this global settings specific stuff 11:04 est31 the base structure -- a map -- stays the same. 11:05 est31 when we set a setting, we check whether it corresponds to a global setting 11:05 est31 if yes, we add an entry in the vector 11:05 est31 if no, the vector stays empty 11:06 celeron55 i think maybe the global settings class could use inheritance to base itself on the generic settings class 11:06 celeron55 and add all the extra stuff on it 11:07 est31 it would involve duplication everywhere the map is accessed 11:07 celeron55 duplication? 11:07 est31 basically every method copied 11:07 est31 or I abstract it away 11:07 celeron55 you can inherit as public so that every method is visible through the derived class 11:07 est31 (every meaning every method that accesses the map in its own code) 11:08 celeron55 there can be an issue with it but usually there isn't 11:25 est31 damn 11:25 est31 the issue is 11:25 est31 there is no speed increase 11:26 est31 or almost none 11:27 est31 I always note ~0.25 usec for a getS16() call 11:29 est31 so it seems the lock is why settings are so slow 11:29 est31 or they aren't slow 11:30 est31 ok, there is ~10% performance increase 11:30 est31 when you have 300 settings 11:31 est31 (which is in the range for minetest.conf) 11:32 est31 oh sorry 11:32 est31 the 10% are when you have 3000 settings 11:34 est31 ah dammit 11:34 est31 of course 11:34 est31 my test was wrong 11:34 est31 lol 10% increase out of nothing :) 11:43 est31 oook 11:43 est31 new numbers 11:43 est31 its a 10x increase 11:46 est31 this is the testing code --> http://pastie.org/10181015 11:51 est31 so I have looked at compiler output, and it does what advertised 11:51 est31 however actually comparing code with diff like utilities is hard 11:51 est31 because the settings are in uppercase 11:51 est31 and are converted in runtime to lowercase 12:23 est31 celeron55, can I do that separation between global and local settings in another commit? 12:39 est31 I guess I'll do it in separate commits, and push them the same time. 13:00 TenPlus1 Hi folks, any devs up and active today ? 13:10 TenPlus1 Q. Is there any reason being at a particular spot on the map would cause the server to crash ? 13:11 deezl TenPlus, some kind of corruption maybe 13:11 TenPlus1 is there any way to fix it without losing the whole map ? 13:12 deezl you could try setting the ignore map errors thing in minetest.conf 13:13 TenPlus1 I already have ignore_world_load_error set to true 13:13 deezl :( 13:14 TenPlus1 std::bad_alloc error is getting me down 13:21 deezl TenPlus1, is that the only error you get in debug? 13:22 TenPlus1 yeah, it crashes server at random intervals and returns an std::bad_alloc error which I have no idea how to trace... have been logging terminal output since this morning so will go through that later when it's sent to me 13:22 deezl ouch 13:23 TenPlus1 plenty of memory, all mods working fine, server running smooth apart from that 1 problem on 0.4.12 stable and above 13:25 deezl and it just happens when a player walks into a certain area on the map? 13:25 TenPlus1 it's random but of late one area seems to set of instant crashes... 13:26 TenPlus1 the same abm's are in effect all over the map, but this one area just makes it all weird... and I cannot narrow it down to any 1 thing 13:27 deezl VanessaE was experiencing something similar a while back on one of the dreambuilder servers (creative I think), but I don't remember the exact cause. Perhaps she can shed some light if you can catch up to her 13:28 TenPlus1 will msg her and see if she's available for a minute or two 13:31 deezl there's a sight for sore eyes 13:32 TenPlus1 lol 13:35 Zeno` yikes 13:35 deezl hiya Zeno` 13:36 Zeno` are you in #minetest? 13:36 deezl no...should I be? 13:36 deezl lol 13:36 Zeno` yes... no chit chat here! It's forbidden by the dungeon master! 13:36 Zeno` a grue will eat you 13:37 deezl o.O 13:37 deezl wasn't really chit-chatting 13:37 deezl TenPlus1 is having an odd crash problem on his server 13:37 Zeno` chitty chitty bang bang I saw you 13:37 Zeno` the memory issue? 13:38 Zeno` I suppose I should run massif in the latest build to see if anything is possibly leaking 13:38 deezl std::bad_allocation when entering a certain area of the map 13:38 TenPlus1 the only difference I see to VanessaE's server and Xanadu is the addition of "enable_mesh_cache = false" 13:38 Zeno` TenPlus1, always the same area? 13:39 TenPlus1 the crashes were random to start but this one area always sets it off... yes 13:39 TenPlus1 everything in mods is working, it doesnt report any error apart from std::bad_alloc so no clue what's causing it 13:39 Zeno` that's interesting 13:40 Zeno` brb, rebooting into Linux (I've been playing games heh). I'll join your server 13:40 TenPlus1 kk 13:40 Zeno` don't ban me because I am zeno2 :P 13:40 TenPlus1 lol 13:43 Zeno` ok, I've enabled local map saving.. I'll chat when I join? 13:43 TenPlus1 okie 13:45 TenPlus1 ... and it crashed 13:45 Zeno` oh it did? 13:45 Zeno` cool 13:45 Zeno` thank you! :) 13:46 TenPlus1 did you get a snapshot ? 13:46 Zeno` looking... 13:46 Zeno` yep! 13:46 Zeno` thank you 13:46 TenPlus1 anything odd ? 13:47 Zeno` well I'll have to do some tests first 13:47 TenPlus1 no probs... thanks for doing this... 13:47 Zeno` very weird... it's not at map limits so can rule that out at least 13:48 TenPlus1 if player crosses 30,000 boundary lines they get teleported back to spawn (needed for tp listening error) 13:51 Zeno` one more time (sorry to have you crashing your server :( ) 13:52 TenPlus1 and it's down... 13:52 Zeno` maybe I have to chat when I'm there 13:52 Zeno` that's odd 13:52 TenPlus1 I may need to add an alert mod to let players know when it crashes 13:53 Zeno` both times it didn't crash until I said something. Maybe a red herring though 13:53 TenPlus1 I tp'd to that 1 location, waited for a sec and it went down... no chat, no placed blocks... 13:54 TenPlus1 seems once it loads something specific it glitches and crashes 13:54 Zeno` I did see a strange mesh but that was after it crashed 13:55 Zeno` Setting up world with snapshot db now 13:55 TenPlus1 any idea what the mesh was related to ? (mob, node, world) 13:57 Zeno` nope... it was just a big purple highlighted area 13:58 TenPlus1 oh, ignore that... someone punched a protector node to see the area it protects... 13:58 Zeno` ok 13:58 TenPlus1 it has a timer that removes it after 10 seconds 13:58 Zeno` how big does is the area when it occurs? I.e. if I was 100 nodes above would it crash? 13:59 TenPlus1 I can give u fly privs and spawn you 150 in the air... you can float down and I'll let you know when you hit the spot 13:59 Zeno` ok 13:59 Zeno` apologise to your players for me :( 14:00 Zeno` one sec... deleting current snapshot 14:00 TenPlus1 they know were testing for now 14:05 TenPlus1 crashed 14:06 TenPlus1 as soon as you went -4 14:06 Zeno` cool 14:06 Zeno` looking at what I got... 14:08 Zeno` ok I have the bigger area now, thanks :) I'll do some testing 14:08 TenPlus1 Titanius is on so we'll update linix kernel to 4.01 and minetest to latest dev... 14:08 Zeno` what git version are you currently using? 14:09 Zeno` (git rev-parse HEAD) 14:09 TenPlus1 yesterday's git... 14:09 TenPlus1 3778 14:10 TenPlus1 build 3778 for ubuntu 14.04 64-bit 14:11 est31 do you have a stacktrace? 14:12 TenPlus1 I enabled --trace on standalone and it wouldnt crash... typical 14:12 TenPlus1 now Titanius is online I can try and do one now 14:12 Zeno` yep 14:13 est31 --trace doesnt do stacktraces 14:13 TenPlus1 what does ? 14:13 est31 its a loglevel 14:13 TenPlus1 debug_log_level = 1 ? 14:13 Zeno` can I have your mapmeta.txt? (PM if you want to keep it private) 14:14 est31 for stacktraces you will need a debugger 14:14 TenPlus1 sadly that's over my head to do... 14:14 Zeno` also, what database backend are you using locally? 14:14 TenPlus1 default sql3 14:14 Zeno` ok 14:15 TenPlus1 we tried mariadb at one point but it was too buggy 14:17 TenPlus1 http://pastebin.com/k80ELwVC map_meta.txt 14:17 Zeno` cheers 14:25 TenPlus1 if I use worldedit and mark the whole area to be replaced by air, would that fix it ?? 14:26 Zeno` not sure yet 14:26 Zeno` what are the coords? 14:26 deezl a possiblity, you could also try using the worldedit clearobjects function 14:26 Zeno` (why don't I write stuff down? lol) 14:27 TenPlus1 clearobjects will take more than 2-3 hours on a >50gb map 14:28 est31 there is //clearobjects for worldedit 14:29 TenPlus1 doh! forgot about that one completely... lemmie mark area 14:31 TenPlus1 0 objects cleared in a 100 block radius of that point 14:32 * Zeno` needs coords 14:32 TenPlus1 crashed... 14:32 Zeno` I have a cunning plan 14:33 Zeno` I will join the server lol 14:33 TenPlus1 do tell baldrick 14:33 Zeno` :) 14:33 TenPlus1 it doesnt involve cabbages does it ? 14:35 hmmmm est31, futexes aren't slow on their own, they're slow if they're contended 14:35 est31 ? 14:35 est31 ok good to know 14:36 hmmmm i originally called for settings to be atomic but also okay is a read-preferring rwlock 14:36 Zeno` that'd be right... doesn't crash 14:36 Zeno` no, there are no cabbages but I have a turnip shaped like a... nvm 14:36 hmmmm yeah so it seems like there's some kind of aggressive memory leak going on 14:37 hmmmm we've had how many complaints about "random std::bad_alloc errors" 14:37 Zeno` hmmmm, did you see that it happens in a single area consistently on xanadu? 14:37 hmmmm did not 14:37 hmmmm ugh i hate to suggest this but 14:37 hmmmm do you think it could be network related 14:37 Zeno` I've got a snapshot of the area (thanks TenPlus1!) but I can't reproduce locally 14:38 Zeno` probably is 14:38 Zeno` heh 14:38 hmmmm does that area of the xandau server have a lot of active objects or something? 14:38 Zeno` but if it was I should be able to reproduce locally as well... unless I didn't get enough of the map I guess 14:38 hmmmm maybe it's that active object message code 14:38 Zeno` running valgrind with the snapshot 14:39 TenPlus1 not at all, only objects are mobs spawning on occasion and those are limited to 1 per area 14:39 Zeno` could be, yeah (I have none of his mods installed obviously... just the db) 14:39 TenPlus1 I ran the standalone server for an hour this morning with the new build and I couldnt get it to crash with all xanadu mods enabled 14:40 TenPlus1 but this 1 area on server causes crash juyst being there 14:41 est31 do you know how to build minetest? 14:41 TenPlus1 have always downloaded from launchpad... my computer isnt the fastest am afraid 14:41 Zeno` the other thing is that (if it's db-related) I probably don't have the naughty block in my snapshot now that I think of it 14:41 Zeno` because the server would have crashed before it sent it (if it's db related) 14:42 est31 yup 14:42 est31 perhaps you download the mapfile? 14:42 hmmmm maybe it's more beneficial to bisect to find the problem 14:42 TenPlus1 so IF i use worldedit to mark the entire area and remove everything, will that remove bad block before it loads ? 14:43 hmmmm the great this about this bug is that it's consistent 14:43 TenPlus1 indeed 14:45 Zeno` yeah 14:45 Zeno` do you know how to build and bisect, TenPlus1? :) 14:45 est31 its a regression? 14:45 Zeno` est31, who knows 14:46 Zeno` gdb trace would be nice... if that's not possible a bisect is the next best thing 14:46 est31 can it be reproduced with 0.4.12 or 0.4.11? 14:47 TenPlus1 est, 0.4.12 and upwards... that's when the server trouble started 14:47 TenPlus1 0.4.11 was ok, even dev versions... but I cant move back now all mods are ported over to new versio 14:49 Zeno` TenPlus1, do you know how to build minetest? 14:49 hmmmm 0.4.12 stable has problems?? 14:49 TenPlus1 I could build minetest but as stated my computer is a simple net-top and quite slow... 14:50 hmmmm TenPlus1, is it the server that crashes, or is it your game when you log into it 14:50 hmmmm or both?? 14:50 TenPlus1 the whole server crashes and everyone has to log back in once the script brings it back up 14:51 TenPlus1 the only error is std::bad_alloc and nothing else to go on 14:51 Zeno` 16225, -4.5, 15531 is the location btw 14:51 Zeno` well... close to that anyway 14:51 est31 how large is the map file? can you share it? 14:52 TenPlus1 yeah, you worled your way down from 150 high and as soon as you reached below 0 it crashed 14:52 TenPlus1 it's over 50gb 14:52 TenPlus1 xanadu is huge 14:52 est31 oh 14:53 hmmmm it's probably the combination of the map and the mods 14:53 hmmmm if it helps solve this, i'd argue downloading 50gb is worth it 14:53 TenPlus1 I've been through every mod it runs to look for anything that could be linked and found nothing... no errors... no glitches... 14:53 Zeno` downloading 50g would take me about... 4 years 14:54 hmmmm what we really need is somebody who's able to reproduce this and can use valgrind 14:54 Zeno` mtz-basic is only 20G and I've only downloaded it once 14:54 est31 what are your pc specs? compiling doesnt take ages... 14:54 hmmmm he has a nettop 14:54 TenPlus1 the server is in wisconsin so it would have to be archived and loaded beforehand by the owner 14:54 TenPlus1 1.8 celeron with 2gb and ion mobile gfx 14:54 Zeno` maybe I could scp to my server 14:55 Zeno` that might only take 20 minutes 14:55 Zeno` I'd have to check my quota though 14:55 TenPlus1 no way to save a map chunk and send that ? 14:55 Zeno` assuming I had ssh access lol 14:55 TenPlus1 lol, that wont happen... Titanius is paranoid enough :) 14:56 est31 I guess compiling is worth a try then 14:56 est31 are somewhere debug builds of minetest available for download? 14:56 TenPlus1 <-- is on a different machine to server...compiling here wouldnt make a difference, would it ? 14:57 est31 you say you can reproduce it inside your local copy? 14:57 TenPlus1 not anymore. 14:58 TenPlus1 my standalone server runs all of the same mods that are on server, but I routinely wipe map and start fresh 14:58 TenPlus1 so it hasnt happened yet 14:59 est31 scp isn't slower than wget btw 14:59 est31 in fact its faster 14:59 est31 because no encryption 15:00 sfan5 est31: scp is faster? 15:01 est31 Zeno` suggested using scp, but wasn't granted shell access 15:01 * VanessaE wanders in 15:01 * sfan5 waves at VanessaE 15:01 TenPlus1 hi VanessaE 15:01 VanessaE hi 15:03 VanessaE so regarding the server crash you're getting... I did have a problem like that once, but it was a corrupted block (or so the engine though) that I was able to clear off by ignoring load errors and filling the region with air using worldedit 15:03 Zeno` I don't have 50GB free on my VPN anyway :) 15:03 VanessaE other crashes that I've gotten are inconsistent and were usually brought about by the ghost entities bug that deezl alluded to 15:03 Zeno` TenPlus1, what is you world seed? I'll try once more with my saved map so I can rule out mapgen 15:03 VanessaE (usually those don't result in a crash though) 15:04 Zeno` hi VanessaE 15:04 VanessaE hey 15:04 TenPlus1 fixed_map_seed = Morning_Glory_seed 15:04 rubenwardy s/VPN/VPS? 15:04 Zeno` sfan5, scp between two servers is faster 15:04 VanessaE but I don't recall seeing a crash from my servers that cites bad::alloc -- that said, there is a smaller memory leak on my servers, zeno knows about that one. 15:04 Zeno` rubenwardy, VPS (sorry) 15:05 TenPlus1 I have the ignore map errors set to true but if all else fails I'll clear the area with air... but... having to do that on ever map error would be a shame 15:05 sfan5 Zeno`: i thought est meant that scp was faster than wget 15:05 rubenwardy Ok, cool. Easy mistype. I was just wondering if it was some usage of a VPN I wasn't aware of 15:05 Zeno` sfan5, nah. I meant if TenPlus1's VPS connect was fast and mine was (it is) then I could scp 50GB pretty quickly 15:06 TenPlus1 map is on server which isnt on my pc... and the guy who owns it has a limited connection 15:07 est31 can you compile via ssh on the server? 15:07 est31 I guess its faster than your box 15:09 TenPlus1 server has no ssh connection... owner is paranoid of anyone getting in 15:10 est31 ok, out of ideas 15:10 est31 without the owner being present 15:10 est31 or doing what VanessaE suggested 15:11 TenPlus1 ghost entities ? 15:14 TenPlus1 like glitched out mobs ? 15:15 Zeno` well it can't be a leak, surely 15:15 Zeno` if it was a leak issue then teleporting to that location would not cause the bad alloc immediately after the server has started :/ 15:17 Zeno` what's the issue number again? 15:18 TenPlus1 https://github.com/minetest/minetest/issues/2661 15:18 VanessaE TenPlus1: the ghost entities bug refers to issue where entities are created out of nothingness, and are invisible, and are rapidly duplicated out of control even in the face of the engine trying to delete them (i.e. if there are too many in a block) 15:19 TenPlus1 ah, gotcha... I do try and clean up entities in signs, frames and builtin_items from getting out of hand 15:19 TenPlus1 I have to go for a while, back soon 15:20 Zeno` out of ideas 15:23 Zeno` ran valgrind on the server I "recreated" and nothing (as expected) 15:26 est31 also out of ideas for the android shutdown bug 15:26 est31 tried a "straigtforward implementation" 15:26 est31 of what I proposed 15:26 est31 didnt work 15:29 VanessaE switching tracks.... 15:29 Zeno` I'm beginning to think it's a 5.0.x bug 15:29 VanessaE est31: #2612 has a new manifestation :) 15:29 ShadowBot https://github.com/minetest/minetest/issues/2612 -- Over-one-meter collision box glitches 15:29 Zeno` the fact that 5.1.x works kinda suggests it was well :) 15:30 VanessaE load current Homedecor and place a spiral staircase. walk up to the top. you'll fall through the top two steps. :) 15:30 est31 I'm running 4. something 15:30 Zeno` est31, so am I but I run 5.x on VMs 15:30 Zeno` 5.0.1... no go... 5.1.x works again 15:31 est31 again? 15:31 Zeno` I'm going to remove the PR and just make the changes that should be there anyway 15:31 Zeno` yeah, which is why I'm suggesting it might be an Android bug 15:31 est31 yea do them 15:31 deezl homedecor has more new goodies? 15:32 VanessaE deezl: indeed so 15:32 deezl sheesh...hard to keep up 15:32 est31 bye ppl 15:35 VanessaE can someone please work on that bug so I can finish that node? 15:37 Zeno` err 15:37 Zeno` I've updated it 15:37 Zeno` I give it High Priority! That'll get it fixed! 15:40 VanessaE heh 15:42 rubenwardy 113 bugs O_o 15:43 Krock rubenwardy, a lizard would be happy about them 15:59 TheWild is that said sofa one big node, or it consists of 2/3 regular nodes? 16:00 TheWild * 2 or 3 16:01 VanessaE in current homedecor, it's a single, big node (mesh) 16:01 VanessaE in older versions it was three separate nodes stacked end to end 16:56 TenPlus1 back... 18:04 hmmmm alrighty 18:05 hmmmm I'm pretty sure the exact number depends heavily upon cache size and other variables but, using 2-node thick plane slices of noise seems to be the closest in terms of performance to the entire 3d buffer 18:06 hmmmm and it takes up exactly 100 kB versus ~8 MB per buffer 18:07 hmmmm i have a 'solution' for high lua memory usage, but unfortunately, it's gonna require mods to adopt it 18:07 hmmmm and it's not nearly as user friendly