Minetest logo

IRC log for #minetest-dev, 2015-05-10

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

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:10 Warr1024 left #minetest-dev
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)
01:55 Wayward_Tab joined #minetest-dev
02:22 devmarth joined #minetest-dev
02:30 Miner_48er joined #minetest-dev
02:45 book` joined #minetest-dev
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
03:41 prozacgod joined #minetest-dev
03:46 FR^3 joined #minetest-dev
03:48 FR^3 joined #minetest-dev
03:58 FR^3 joined #minetest-dev
04:08 FR^3 joined #minetest-dev
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:30 Zeno` joined #minetest-dev
05:34 est31 ok it is compiling...
05:34 est31 hi Zeno` :)
05:35 Wayward_Tab joined #minetest-dev
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:37 Anchakor joined #minetest-dev
06:43 Krock joined #minetest-dev
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:05 kilbith joined #minetest-dev
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/oldnewthin​g/archive/2015/05/06/10612563.aspx
07:33 TheWild joined #minetest-dev
07:54 jin_xi joined #minetest-dev
08:00 Yepoleb_ joined #minetest-dev
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
08:19 Calinou joined #minetest-dev
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 ElectronLibre joined #minetest-dev
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:03 Hunterz joined #minetest-dev
09:04 Zeno` his link
09:04 est31 aah
09:04 est31 lol
09:05 est31 reminds me of that xkcd
09:23 cib0 joined #minetest-dev
09:36 selat joined #minetest-dev
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:07 AnotherBrick joined #minetest-dev
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 crazyR_ joined #minetest-dev
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
11:57 deezl joined #minetest-dev
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.
12:53 chchjesus_ joined #minetest-dev
12:54 crazyR_ joined #minetest-dev
12:59 TenPlus1 joined #minetest-dev
13:00 TenPlus1 Hi folks, any devs up and active today ?
13:07 AnotherBrick joined #minetest-dev
13:09 rubenwardy joined #minetest-dev
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:27 cib_ joined #minetest-dev
13:28 TenPlus1 will msg her and see if she's available for a minute or two
13:30 Zeno` joined #minetest-dev
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:42 Zeno` joined #minetest-dev
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 est31 joined #minetest-dev
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:30 hmmmm joined #minetest-dev
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, <est31> 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:09 Wayward_Tab joined #minetest-dev
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 cib0 joined #minetest-dev
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:42 kilbith joined #minetest-dev
15:43 Krock rubenwardy, a lizard would be happy about them
15:47 Anchakor joined #minetest-dev
15:51 Miner_48er joined #minetest-dev
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 joined #minetest-dev
16:56 TenPlus1 back...
17:05 younishd joined #minetest-dev
17:32 cib joined #minetest-dev
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
18:45 TheWild joined #minetest-dev
18:45 MinetestForFun joined #minetest-dev
19:05 ElectronLibre joined #minetest-dev
19:33 cib0 joined #minetest-dev
19:47 kaeza_ joined #minetest-dev
19:51 Miner_48er joined #minetest-dev
20:14 leat joined #minetest-dev
20:24 leat joined #minetest-dev
20:32 kaeza_ joined #minetest-dev
20:33 ElectronLibre left #minetest-dev
20:34 leat joined #minetest-dev
20:54 leat1 joined #minetest-dev
21:24 jin_xi joined #minetest-dev
21:26 leat1 joined #minetest-dev
21:33 cib0 joined #minetest-dev
22:54 Taoki_1 joined #minetest-dev
23:18 kaeza_ joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext