Time Nick Message 00:19 est31 hmmmm, I guess fixpoint_invfactor has been added for performance? 00:19 est31 so that you don't have to do expensive divisions each time? 00:19 hmmmm i don't know, but it reduces accuracy 00:19 est31 but according to you, you lose "1 ULP". 00:20 est31 whatever ulp is. 00:20 hmmmm try it 00:20 hmmmm Unit in Last Place 00:21 hmmmm so if your floating point number is something like 0x539ff394, then f * FIXEDPOINT_FACTOR * FIXEDPOINT_INVFACTOR == 0x539ff395 00:21 hmmmm which based on whatever that number is might be a difference of 0.00004 or it might be a difference of .40 00:22 hmmmm int exp; frexpf(float_here, &exp); float ulp = FLT_EPSILON * (1 << exp); 00:24 est31 hrmmm this openal thingy is very bad 00:25 est31 I've tried alot of things but somehow it doesnt like hard floats 00:28 hmmmm est31: the performance benefit of a multiplication vs. a division is soo not worth it 00:29 hmmmm but anyway I looked it up 00:29 hmmmm for so-called "round divisors" (such as 1000.f), the latency is 7 cycles for fidiv vs. a constant 5 for fimul on sandy bridge 00:30 est31 what are round divisors 00:30 est31 1000 != 1024 00:30 est31 1024 division would be super fast 00:30 est31 why do we even have 1000 here, 00:32 est31 lets make a new protocol version which uses 1024 instead of 1000. 00:32 est31 but thats a larger project I guess 00:32 est31 perhaps its used at map serialisation too. 00:34 est31 1024 would be just a single cycle shifting job wouldnt it? 00:37 TBC_x what is the problem with serializing floats? 00:45 est31 we could depend that its using RFC floats 00:46 est31 or we can make it part of network 00:46 est31 you know, server asks if RFC floats are used, client says it, if both have RFC floats, we use them 00:46 est31 harder question though for map serialisation 00:53 hmmmm est31: probably not a good idea to screw with serialization at this point 00:54 est31 agreed 00:55 est31 well, my benchmarks say its all the same speed, but I did -O0 00:56 est31 is there a trick that gcc wont think its dead code? 00:56 hmmmm well 00:56 hmmmm you need to actually make it do something with the output like printf() it 00:56 TBC_x with all those fixes I get leaks only at two places 00:56 TBC_x which are inside libraries 00:57 hmmmm it would be a lot simpler to write the benchmark in assembly directly 00:57 TBC_x one of them is fluidsynth 00:57 hmmmm est31: use this http://gcc.godbolt.org/ to figure out what gcc will optimize and what it won't 00:58 hmmmm TBC_x: nice 00:59 est31 hmmmm, cool tool 00:59 est31 *bookmark 00:59 est31 seems it doesnt do anything with 1034 00:59 est31 1024** 01:00 paramat #2992 hmmmm please let me know your thoughts on this sometime 01:00 ShadowBot https://github.com/minetest/minetest/issues/2992 -- Biome API: Make fallback biome stone and water, disable filler by paramat 01:02 hmmmm est31: no, it's not optimized if the divisor is 1024, the actual processor performs the floating point division faster 01:02 est31 ok 01:03 est31 so it seems the website isn't enough 01:03 est31 I've found a way I guess 01:03 est31 seems I have to compile a shared libary 01:03 hmmmm your benchmark is probably not going to be correct anyway 01:03 est31 that has a function 01:03 est31 which takes a float, and discards it 01:03 est31 then I compile with only the header file 01:04 est31 gcc will have no way of knowing whether the number is needed or not 01:04 est31 voila 01:14 TBC_x well... it is recommended to use volatile if gcc tends to optimize it away 01:15 est31 gcc should optimite 01:15 est31 optimizeÜ 01:15 est31 ** 01:16 est31 but it shouldn't remove dead code, or "pre-cache" the value 01:17 est31 ok now I have some values that seem to match 01:17 est31 they are this: 176.657000 302.837000 174.527000 190.837000 01:17 est31 for this code: *pastebin coming* 01:18 est31 https://gist.github.com/est31/f364e26883439e8968a1 01:19 est31 ah sorry 01:19 est31 there's an error 01:19 est31 now its better 01:20 est31 output 178.186000 303.173000 180.868000 191.247000 01:30 est31 well, the performance loss is 50% 01:32 est31 TBC_x, do you want to test it on your arch? 01:32 est31 and hmmmm do you want to test it too? 01:33 est31 just download the gist (e.g. git clone https://gist.github.com/f364e26883439e8968a1.git) 01:33 est31 then chmod +x compile.sh 01:33 est31 then ./compile.sh 01:33 est31 then do what it says 01:47 hmmmm hum 01:47 hmmmm est31: interesting results, what compiler/processor are you using 01:47 hmmmm 0.016000 0.014000 0.005000 0.005000 01:47 est31 gcc with -O3. 01:48 hmmmm gcc version though 01:48 est31 4.9.2 01:48 hmmmm and processor?? 01:48 est31 Intel(R) Pentium(R) CPU N3520 @ 2.16GHz 01:49 hmmmm hm 01:50 est31 perhaps you compile it together with the library, and gcc optimizes it away? 01:51 est31 do you use compile.sh? 01:51 hmmmm yup 01:51 est31 whats your processor 01:52 hmmmm Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz (3292.59-MHz K8-class CPU) 01:56 hmmmm I added 100 times as many tests and corrected the factor to CLOCKS_PER_SEC 01:56 hmmmm 2.789062 3.906250 2.757812 2.734375 are my new results 01:56 hmmmm and then I modified the last test to remove the / 1024.0 part: 2.812500 3.828125 2.742188 2.453125 01:57 hmmmm in other words, the / 1024.f was only responsible for 12% of the runtime, and the loop 88% 01:58 est31 or the call 01:58 hmmmm so in other words 01:59 hmmmm multiplying by 1000.f, one billion times, takes 0.359 seconds 01:59 hmmmm dividing by 100.f takes 1.375 seconds 01:59 hmmmm so the latter is almost 4x as slow 01:59 hmmmm but again, that's one billion times 02:00 est31 ok, I guess your patch can be merged 02:00 hmmmm so we're talking about a floating point division taking 1.375 nanoseconds 02:00 est31 for you 02:00 hmmmm light can't even move 1 cm in that amount of time 02:00 est31 light is damn slow 02:01 hmmmm :p 02:01 est31 its so slow, we still have a CMB 02:01 est31 and the CMB is light from an early stage of the universe 02:01 est31 so there are regions of the universe we haven't gotten any light from 02:01 hmmmm so, est, is writeF1000 being called anywhere over a billion times (and nothing else is the bottleneck?) 02:02 est31 hehe 02:02 est31 ok merge it 02:05 hmmmm OTOH, it's surprising exactly how much an optimization that is 02:06 hmmmm i never expected the gap to be that wide 02:24 est31 hmmmm, can you get the newer version of the gist, and re-try? 02:25 est31 I get a 10x decrease 02:25 est31 "Not accounting for overhead: 0.161882\n 0.016288 0.149436 0.012416 0.020748" 02:25 hmmmm eh 02:25 hmmmm can you link me perhaps 02:25 est31 https://gist.github.com/est31/f364e26883439e8968a1 02:25 est31 git clone https://gist.github.com/f364e26883439e8968a1.git 02:46 VanessaE hmmmm: not to be contrary, but one light-nanosecond is actually about 29.98 cm. 02:46 hmmmm of course you'd figure that out 02:46 hmmmm hehe 02:46 VanessaE :D 02:46 est31 its still damn slow 02:46 est31 man, one nanosecond is really long 02:47 VanessaE actually I just happened to have remembered it. Some teachers give out 1-foot lengths of wire or rope in their physics classes, and call them nanoseconds. 03:10 VanessaE hmmmm: here's a new one: http://pastebin.com/bS1avJZ8 03:10 hmmmm did you get that while running the newest version? 03:11 VanessaE no 03:11 hmmmm well then 03:11 VanessaE I wanted to wait until you have sorted what you were working on first. 03:11 hmmmm update to current HEAD 03:11 est31 man this makes no sense 03:12 VanessaE this one happened a few hours ago, http://pastebin.com/ABK4dTUa 03:12 VanessaE ok, willdo. 03:12 est31 the internet claims there is a method to find out whether an elf file is compiled with hard float or no 03:12 est31 t 03:12 est31 but its not set, even for libminetest.so 03:12 hmmmm VanessaE: that's the one that zeno must have been talking about 03:14 est31 but the hard float change does affect **some** things 03:14 est31 because after it, sound doesnt work :) 03:14 VanessaE ok, the new build is staged. 03:15 VanessaE now at 42cf5e97 04:06 VanessaE est31: can you guys push that spawn_tree() IDs thing through before the freeze? 04:36 paramat 2 small but essential PRs game#604 game#605 04:36 ShadowBot https://github.com/minetest/minetest_game/issues/604 -- Stairs: Lengthen interval of replace abm by paramat 04:36 ShadowBot https://github.com/minetest/minetest_game/issues/605 -- Default/functions: Reduce lavacooling ABM/sound overload by paramat 04:36 VanessaE paramat: spread the lavacooling even more 04:37 VanessaE in dreambuilder I have the chance and interval set to 15 and 5, respectively. 04:38 VanessaE the result of course is much slower cooling, but it also has a tendency to create more natural-looking formations as well 04:38 paramat well chance 2 means half, then half of what's left etc, so even 2 spreads it out a lot 04:39 paramat 15 and 5 is too slow i feel, the interval could become 2 but that doesn't affect overload so much 04:41 VanessaE [off] think of lava/water fountains like griefers like to make 04:42 VanessaE [off] those need the interval/chance turned up a bit. interval 1 chance 2 is still too frequent. 04:42 VanessaE [off] otherwise they lag the shit out of a server. 04:44 est31 this can be optimized by an algorithm 04:44 est31 lavacooling and leafdecay 04:44 VanessaE howso? 04:44 VanessaE well wait, 04:44 est31 explained the idea some time ago 04:44 VanessaE hm. no.. how? 04:44 VanessaE oh ok. 04:45 VanessaE first thing that comes to mind for me is to set a low (but not 1/1) chance/interval and check dtime, skip executing the cooling code if it's too high or something 04:48 est31 Tesseract, you there? 04:49 paramat theoretically any chance other than 1 means a very time to cool an area. slow lavacooling just hugely extends the lifetime of the lava so is not really a solution 04:49 paramat (very long time) 04:49 est31 argh 04:49 est31 you do an abm for that? 04:49 est31 there needs to be better means than that 04:49 est31 minetest.register_on_mapload 04:49 est31 or so 04:50 VanessaE but the first thing that needs fixed is liquids spreading when they hit 'ignore'. 04:50 paramat yeah =) 04:50 VanessaE that would do a LOT to quell the problem. 04:52 paramat essential for floatlands and more vertical worlds, the spread looks so bad 04:52 hmmmm are NodeTimers used anywhere anymore? 04:52 VanessaE sure, autoclose doors mod uses them. 04:53 VanessaE problem is node timers don't automatically start/resume after server restart, afaik 04:54 VanessaE so you need some extra event to trigger them (in the autoclose door mod, that's the "open" action) 05:06 VanessaE est31: did you see my comment about the spawn_tree() IDs thing? 05:08 est31 yes 05:08 est31 I'll give a last try for fixing the hard abi thing 05:08 est31 and if it doesnt work, I'll just disable hard abi 05:08 est31 it isnt that bad according to this post: 05:09 est31 argh damn closed the tab 05:09 VanessaE get a "re-open last tab" extension. too useful to be without. 05:10 est31 there we go http://stackoverflow.com/a/28393545 05:10 VanessaE ("SimpleUndoClose" 1.3.4.1 is the one I use) 05:10 est31 ctrl alt t 05:10 est31 even works on dolphin 05:11 VanessaE hm, that shortcut does nothing in chrome. *shrug* 05:11 * VanessaE reads 05:44 VanessaE bbl 06:14 hmmmm hmm 06:14 hmmmm merging 2986, 2990, 2991 06:15 est31 look at this: https://github.com/vincentjames501/libvorbis-libogg-android/blob/master/jni/Application.mk 06:15 est31 the abi version hardcoded 06:22 hmmmm shrug. 06:22 hmmmm what do you think about red-001's PR? #2977 06:22 ShadowBot https://github.com/minetest/minetest/issues/2977 -- Stop liquids from flowing over ignore. by red-001 06:23 hmmmm he's right about the block loading 06:25 hmmmm we don't want to overload the liquid queue by adding a shitload of items on block load, and we don't want to continuously re-add ignored nodes 06:26 hmmmm as it exists right now the liquid transform queue is a FINO 06:26 hmmmm First-In, Never-Out 09:20 TBC_x wtf, I recompiled OpenAL/fluidsynth myself and mt just fired up instantly 09:30 est31 recompile your kernel, and minetest has FPS of (u64)-1 :D 09:32 TBC_x damn... fluidsynth has so beautiful code 09:32 TBC_x the deepest nesting of five is oneliner 09:46 est31 wow, the abms indeed loop over everything, thats bad. 09:46 kilbith still faster than the timers at least 09:47 est31 horrible implementation, from a first look 09:47 kilbith https://forum.minetest.net/viewtopic.php?p=178943#p178943 09:47 est31 for every possible abm, we rescan the entire map every time we do an abm step 09:47 est31 entire loaded map 09:48 est31 that should be and has to be improved 09:48 est31 we should cache the "active" count, per active mapblock 09:50 est31 and perhaps better or further optimisations too 10:05 TBC_x is all the growth done through abm? 10:22 est31 lotsof things 10:30 TenPlus1 Hi folks... 10:31 TenPlus1 Q. what would cause an entity to remain but not be recognised by game (/clearobjects or WE //clearobjects) 10:32 TBC_x tried relog? 10:33 TenPlus1 how you mean TBC / 10:33 TBC_x if you disconnect, the reconnect to the server 10:34 TBC_x *then 10:35 TenPlus1 oh, then it's the same... as soon as I enter that area containing the non-recognised entities it crashes over again... I canot remove them 10:35 TBC_x another memory leak down 10:37 TenPlus1 2 signs and 1 itemframe entity... the whole area had to be cordoned off on server so no-one can get near and crash server 10:37 TBC_x tried to remove their nodes? 10:37 est31 why do we crash near unknown nodes? 10:37 TenPlus1 no nodes there... are just floating in air... 10:37 est31 err entities 10:38 TenPlus1 and if I try to place a sign in same spot to re-write that node, it crashes also ?!?!?! 10:38 TenPlus1 it's maddening 10:38 TBC_x someone thought it will be a cool idea 10:39 TBC_x If I get it right, the sign entities try to access their blocks, but it fails and crashes the server 10:39 est31 what database is it? 10:39 TenPlus1 sqlite 10:39 TenPlus1 tried converting to leveldb a while back but too many glitches 10:40 est31 perhaps tried to start the server without signs lib mod? 10:41 est31 then the entity will register as unknown 10:41 est31 and dont cause a crash 10:41 est31 @ least if your theory is right 10:41 TBC_x there should be a way to crash entities, not the entire server 10:42 TenPlus1 thing is, if clearobejcts doesnt recognise it as an entity then why is it being saved with the map ?! 10:44 TenPlus1 tbc, what if I worldedit that whole area to be filled with signs then simply removed them...? like you said, maybe it's looking for a sign node 10:44 TBC_x make a backup first 10:44 TenPlus1 lol, wish I could... am no-where near server and map is 30gb 10:45 est31 TenPlus1, can you give us the serialized mapblock?? 10:45 est31 you'll have to do a custom lookuü 10:45 est31 lookup* 10:45 TenPlus1 how do I do that ? 10:45 est31 for the sqlite database 10:45 TBC_x I've got a leak in MediaDownloader 10:45 TBC_x but it is conditional 10:45 TBC_x it happened once so far 10:46 est31 TBC_x, the leak is thanks to singletons 10:46 est31 seen it already 10:46 TBC_x screw singletons 10:46 TenPlus1 lol 10:46 TBC_x do you know colobot? 10:46 TenPlus1 yeah media seems to crash players connecting to server 10:46 TenPlus1 but once it's loaded crashing stops 10:46 TBC_x that codebase is composed only of singletons 10:47 est31 TenPlus1, whats the position of the bad node? 10:47 TenPlus1 checking now... serverlist isnt updating 10:47 TBC_x have vanessae installed snow biomes on her server recently? 10:49 TenPlus1 damn, cant get close to find out, keep crashing server and throwing me out 10:49 TBC_x stacktraces would be useful on that 10:51 TenPlus1 nope, signs didnt work 10:55 TBC_x build the server in debug mode 10:55 TBC_x run it in gdb 10:55 TBC_x and send us backtraces 10:57 TBC_x that could solve the problem once for all 10:57 TBC_x probably 10:57 TenPlus1 1. I dont know how, 2. the server owner isnt tech savvy 10:58 TBC_x oh 10:58 TBC_x what does the server run on? linux or windows? 10:58 TenPlus1 linux 10:58 TenPlus1 Lubuntu 14.04 11:00 TBC_x hmm 11:00 TBC_x does anyone else have access to the server? 11:00 TenPlus1 only owner 11:01 TenPlus1 Xanadu was initially a hobby server and I do my best to keep mods from breaking... but map/entity glitches are another thing... 11:02 TenPlus1 is there a way to clear a whole section of map and blank it out completely from the database ? 11:02 TenPlus1 then have it regenrate normally 11:02 TBC_x I'm not sure abot that one 11:03 TBC_x hmm 11:04 TenPlus1 or would it be possible to add something to the engine that allows you to do so ? 11:04 TenPlus1 cause there seems to be no other way to fix these glitches areas 11:04 est31 TenPlus1, there is //delete_blocks I think 11:04 TBC_x I'd like to have that stack trace 11:04 TenPlus1 what exactly does //deleteblocks do 11:05 est31 it does exactly that 11:05 est31 blank out the blocks 11:05 TBC_x tell the owner to `ulimit -c unlimited` 11:05 TenPlus1 est: does it remove the whole chunk from map ? 11:06 TenPlus1 tbc: what is ulimit ? 11:06 TBC_x it will create a coredump file 11:06 TBC_x the coredump contains server's memory when it crashed 11:07 TBC_x that way we can see what happend and where 11:07 est31 TenPlus1, there are no chunks in minetest maps 11:07 est31 but yes, it removes the whole mapblock 11:07 TenPlus1 k, will try that est... 11:07 est31 but watch out 11:07 TenPlus1 ? 11:07 TenPlus1 buggy ? 11:07 est31 it can affect nodes with up to 128 distance 11:07 est31 and buggy yes 11:07 TenPlus1 does it only remove nodes ? 11:09 est31 ? 11:09 est31 it removes the whole mapblock from the database 11:09 est31 including all objects 11:09 TenPlus1 ah sweet, thanks... will do that now... 11:11 TBC_x when you do the ulimit -c thing, it will create a coredump file in current directory when the server crashes 11:11 TBC_x it is good to compress it with `bzip2 coredump.*` 11:11 TBC_x and send it to us 11:13 TenPlus1 will ask owner to do that next time 11:14 TenPlus1 deleteblocks isnt working... keeps coming up Incorrext area format. expcted (x1,y1,z1) (x2,y2,z2) 11:18 TenPlus1 k, /deleteblocks here 100 seems to work... 11:19 TenPlus1 that worked, thanks guys... no more crashing in that area and new landscape to playw ith 11:30 VanessaE TBC_x: as a matter of fact, yes, I enabled snow biomes last night - along with updating both minetest and minetest_game to HEAD 11:32 VanessaE this crash happened this morning, about 10 mins ago: http://pastebin.com/Uiy0B0pw 11:32 TBC_x I've noticed 11:33 est31 VanessaE, sorry but as its seems we'll have to freeze without my ids PR applied 11:33 VanessaE shall I make a new issue for that crash? 11:33 VanessaE est31: damn it. ok. 11:34 TBC_x probably another NULL deref 11:34 TBC_x haven't looked at the code yet 11:35 VanessaE https://github.com/minetest/minetest/issues/2994 11:36 TBC_x SharedBuffer, duhh.... 11:37 TBC_x WHAT? 11:37 VanessaE ? 11:37 TBC_x throw ProcessedSilentlyException("Got an ACK"); 11:37 VanessaE um, wut? 11:37 est31 that aint shared buffer 11:38 TBC_x ikr 11:38 TBC_x that doesn't explain the segfault though 11:39 TBC_x oh 11:39 VanessaE server was only up for a little over an hour before that crash, btw. 11:39 TBC_x it has exception handler 11:41 est31 anyone knows blockmen's mail address? celeron55? 11:41 est31 is it the one git says? 11:41 Calinou celeron55 AT gmail DOT com 11:41 Calinou this one is easy ;) 11:41 Calinou but blockmen's... 11:42 est31 it has the german word for "trash" in it, so I wonder whether its accurate 11:42 VanessaE [08-02 05:47] for every possible abm, we rescan the entire map every time we do an abm step 11:42 VanessaE [08-02 05:47] entire loaded map 11:42 VanessaE do what? seriously? 11:42 TBC_x on the second look 11:42 VanessaE Author: BlockMen 11:42 est31 yes, thats the one Im referring to 11:43 VanessaE (at least, that's what he's using in git) 11:43 TBC_x it looks like heap corruption 11:43 est31 VanessaE, sadly, yes. 11:43 est31 I'll file an issue, describing it. 11:44 VanessaE est31: you sure it isn't just scanning all blocks in the effect radius? 11:44 VanessaE (e.g. 3 mapblocks or whatever it was) 11:44 est31 ok, first, see that the apply() method scans the entire mapblock 11:44 est31 https://github.com/minetest/minetest/blob/master/src/environment.cpp#L671 11:44 est31 here we get a mapblock passed 11:45 est31 and then we do a 3-dimensional for-loop 11:45 VanessaE that looks like a stepper through just one block 11:45 est31 yes 11:45 est31 so, where is that method called? 11:46 est31 https://github.com/minetest/minetest/blob/master/src/environment.cpp#L1205 11:46 est31 here 11:46 VanessaE for(std::set::iterator 11:46 VanessaE i = m_active_blocks.m_list.begin(); 11:46 VanessaE ouch. 11:46 est31 this is inside a for loop over m_active_blocks 11:47 VanessaE and that list contains every block currently loaded 11:47 est31 at least I think 11:47 est31 thats horribly inefficient 11:47 VanessaE https://github.com/minetest/minetest/blob/master/src/environment.cpp#L1049 11:48 est31 we should rather get a list of abms that have matching nodes for every loaded mapblock 11:48 VanessaE that would be a yes, if I read this correctly. 11:48 TenPlus1 bye all 11:52 TBC_x which thread calls FacePositionCache::generateFacePosition? 11:53 VanessaE oh no. 11:53 VanessaE that sounds like code RBA did forever ago 11:55 TBC_x it looks like race condition 11:55 est31 I love these comments https://github.com/minetest/minetest/blob/master/src/environment.cpp#L1125 11:56 VanessaE est31: haha 12:00 TBC_x looks like the serverThread and lua are fighting over FacePositionCache 12:01 VanessaE er.. 12:01 VanessaE why would either of them have any interest in that? 12:01 VanessaE unless lighting code maybe? 12:05 est31 OK last call for PRs to be merged before feature freeze 12:06 TBC_x do bugfixes count as features? 12:06 est31 no 12:06 est31 feature freeze == everything banned except bugfixes and trivial and small cleanups 12:07 * VanessaE skims the PRs 12:08 est31 well problem is, even if some pr looks good, I dont have the authority to merge it as lone dev. 12:08 est31 kahrl, sfan5 you two aroundß 12:08 est31 ?? 12:09 VanessaE #2908 seems innocuous enough 12:09 ShadowBot https://github.com/minetest/minetest/issues/2908 -- Make map limit configurable by rubenwardy 12:09 VanessaE paramat will probably want to address #2992 before the freeze also 12:09 ShadowBot https://github.com/minetest/minetest/issues/2992 -- Biome API: Make fallback biome stone and water, disable filler by paramat 12:12 * TBC_x is thinking whether to do ugly & quick fix or to rewrite FacePositionCache 12:12 est31 ? 12:12 est31 whas the problem 12:12 est31 whats' 12:12 TBC_x it is static 12:12 VanessaE #2712 should be added I think. 12:12 ShadowBot https://github.com/minetest/minetest/issues/2712 -- Add settings for colors by Gael-de-Sailly 12:12 TBC_x and I have no clue how static mutexes work 12:13 VanessaE hmmmm wanted to get Tesseract's threading pull done also, #2613 I think. 12:13 est31 the setting names are ugly 12:13 ShadowBot https://github.com/minetest/minetest/issues/2613 -- Clean up threading by ShadowNinja 12:14 bluegreen is the feature freeze only for minetest engine or also for minetest game? 12:14 est31 they should be semantic 12:15 est31 bluegreen, I think both 12:15 VanessaE #2594 is not the engine's responsibility imho. this belongs strictly to the game or mods. 12:15 ShadowBot https://github.com/minetest/minetest/issues/2594 -- add a plantlike_leaves setting by HybridDog 12:15 bluegreen ok 12:15 TBC_x do even caches logically belong to utils/? 12:16 est31 ? 12:16 est31 we dont have an utils subdir 12:16 est31 only util 12:16 TBC_x oh cmon 12:16 TBC_x do even caches logically belong to util/? 12:17 est31 we only have an src/util/ directory :p 12:17 VanessaE if you mean cache in the usual sense, no. imho that belongs somewhere else like misc 12:17 est31 no srsly 12:17 est31 yes they do 12:17 TBC_x ok 12:18 VanessaE #2587 needs to be finished up and merged, too 12:18 ShadowBot https://github.com/minetest/minetest/issues/2587 -- wip irrlicht particles 2 by obneq 12:18 VanessaE and that one I expect will take a while to do. 12:18 VanessaE (particles have been bad for way too long now) 12:19 est31 well, yes, but not before the release 12:19 bluegreen game#602 12:19 ShadowBot https://github.com/minetest/minetest_game/issues/602 -- Allowed players with server priv to access any locked chest and open any steel door. by red-001 12:19 VanessaE ^^^ that one too. 12:19 VanessaE est31: I hate to be contrary but I disagree. 12:19 VanessaE Minecraft has us beat all to shit just in that simple department 12:20 VanessaE I think jin_xi has been working on particles rewriting for at least a year now. 12:21 est31 well yes, but nobody was around to answer them 12:21 est31 they asked "is it done properly" 12:21 est31 quite alot 12:21 VanessaE yeah 12:21 est31 it has a wip label on it 12:21 est31 sorry 12:21 VanessaE I know, hence the "finish up" part :) 12:21 VanessaE but ok. 12:22 est31 next release has to shine too :) 12:22 VanessaE but let's please move that into high-priority then and get it in before the next release. 12:22 est31 (the one after next) 12:22 VanessaE (the 0.4.14 release I mean) 12:22 kilbith of course irrlicht are highly wanted but it's kind of touchy code 12:22 kilbith irrlicht particles* 12:22 VanessaE kilbith: indeed so, especially collision handling,. 12:24 TBC_x it is alright to keep cache in util/ when it need a mutex? 12:25 est31 ok merging #2908 then 12:25 ShadowBot https://github.com/minetest/minetest/issues/2908 -- Make map limit configurable by rubenwardy 12:25 VanessaE what about #2224 ? I know this glitch bugs a lot of people. Only thing I don't know about is whether it'll affect using a glitch ladder ("sneak elevator") 12:25 ShadowBot https://github.com/minetest/minetest/issues/2224 -- Fix jumping at node edge by gregorycu 12:27 VanessaE #1908 might be okay to use, but imho view bobbing speed should be directly based on the player's actual velocity. 12:27 ShadowBot https://github.com/minetest/minetest/issues/1908 -- Make maximal view bobbing speed faster by Calinou 12:28 bluegreen what is the glitch? 12:28 bluegreen also isn't it a bugfix then? 12:28 bluegreen not a feature 12:28 VanessaE in 2224? walk up to a node, press up against it and jump. you'll land on top. try to jump again and it won't work. 12:29 TBC_x collisions apparently don't agree with each other 12:29 bluegreen do I have to hold shift? 12:30 VanessaE #1752 seems like a bad idea (it should be based on an actual collision detection) 12:30 ShadowBot https://github.com/minetest/minetest/issues/1752 -- line_of_sight: Allow sight through sunlight_propagates nodes by RiZom-91 12:30 VanessaE bluegreen: no. 12:30 bluegreen strange the bug doesn't happen 12:33 est31 ~topic 12:33 ShadowBot est31: Minetest core development and maintenance. 0.4.13 release scheduled for August 10 2015. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ 12:34 everamzah are there any examples how to use areastore? 12:34 bluegreen everamzah #minetest 12:40 est31 argh too loing 12:40 est31 long* 12:41 est31 better 12:41 bluegreen #602 is this a bugfix? 12:41 ShadowBot https://github.com/minetest/minetest/issues/602 -- map_meta.txt Overwritten 12:41 est31 well then, now its getting serious. 12:41 bluegreen ahhh 12:41 bluegreen game#602 12:41 ShadowBot https://github.com/minetest/minetest_game/issues/602 -- Allowed players with server priv to access any locked chest and open any steel door. by red-001 12:41 est31 no 12:42 bluegreen ok 12:42 est31 I like cheapie's PR better tbh 12:42 est31 because it adds an exta priv 12:42 TBC_x would be better to have skeleton-key priv 12:42 TBC_x and it also sounds cool 12:44 est31 I also wonder whether perhaps minetest_game could get some "protected doors" tenplus1 has written 12:44 est31 they allow all owners of an area to open them 12:44 est31 but only those 12:45 VanessaE est31: imho that should be a feature of the steel door. 12:45 est31 no more houses with 5 doors in a row 12:45 VanessaE keep it simple, etc. 12:45 est31 well, steel doors are "owned by ..." 12:45 VanessaE right 12:45 VanessaE so make them only use their ownership info if there's no protection info for that spot 12:48 est31 well the problem is the protection api doesnt support it 12:48 est31 minetest.is_protected needs a name 12:48 VanessaE hm 12:49 est31 even if we allowed e.g. a "nil name" 12:49 est31 i dont know whether we should do it 12:49 est31 perhaps it can result in conflict with exotic protection models 12:49 VanessaE well, Areas mod is kind of the standard for that isn't it? 12:50 kilbith KISS solution : fuck ownership, enforce communism 12:50 est31 also, what if sb removes protection of the area 12:50 VanessaE est31: then the code for the door should use the existing owner info? 12:51 TBC_x I get so much better FPS when playing singleplayer 12:51 VanessaE when you try to open a door, isn't there already a "clicker" field passed to the callback? 12:51 TBC_x that means that networking code is a real bottleneck 12:51 est31 VanessaE, so the can_open_door code should have two calls to is_protected? one for the player itself, one with the nil player? 12:52 est31 the one with the nil player will have to be asked every time 12:52 est31 because if its true, we'll have to look for the owner 12:52 est31 if its false, we can use the player themselves 12:53 VanessaE hm 12:53 VanessaE maybe the is-protected call needs to return more than just true or false then 12:54 VanessaE click-to-open --> call is_protected, get back a true or false AND a second var with the ownername in either case --> use that to decide to open the door or not 12:54 VanessaE if it returns false + nil, there's no protection data for that area. use the door's owner instead. 12:55 est31 either way, I gtg now 12:55 VanessaE ok 12:58 TBC_x I haven't noticed leaking media before 13:00 TBC_x and it is annoying as hell 13:00 TBC_x are you sure this isn't new? 13:04 Miner_59 Asking again if you can merge this PRs to fix two old bugs: #2241, #2886 13:04 ShadowBot https://github.com/minetest/minetest/issues/2241 -- Fix for disable_jump group doesn't work on nodeboxes by gregorycu 13:04 ShadowBot https://github.com/minetest/minetest/issues/2886 -- Fix "bouncy" blocks by Miner59 13:05 Miner_59 They would only need to be merged but no developer tested it correct so far. 13:11 TBC_x https://github.com/t0suj4/minetest/commit/98ac8d486a7b32cf0fb240480fb491edd0dddffb 13:11 TBC_x looks good? 13:23 TBC_x est31: ^^ 13:23 TBC_x oh 13:26 TBC_x #2995 13:26 ShadowBot https://github.com/minetest/minetest/issues/2995 -- src/util/numeric.{cpp,h}: Fix data race by t0suj4 13:34 VanessaE offtopic: wasn't there also supposed to be some kind of "dried out" biome added to mgv6? 13:34 TBC_x deserts? ;) 13:34 VanessaE no :P 13:35 VanessaE it had dry grasses, dry dirt-with-grass, and is where I was under the impression that acacias grow on-gen 13:36 TBC_x tmux rocks 13:40 TBC_x we should have something like area-defined tileset for mapgen 13:42 VanessaE ah, it was called "savanna" 13:42 VanessaE and it ain't mgv6 :( 13:42 TBC_x oh, haha 14:48 TBC_x do snow biome mod use masks in textures? 15:20 bluegreen couldn't steel be open-able by by the areas owners and the doors owner? 15:23 bluegreen est31 http://pastebin.com/z8krFNUq 15:24 bluegreen VanessaE wouldn't it be better if the areas owners and the placer of the door could interact with it? 15:32 VanessaE bluegreen: that's what I was proposing. 15:32 bluegreen ok then 15:54 CraigyDavi Does map_generation_limit keep mapblocks over the limit if they have been generated already? 15:55 bluegreen I have no idea 15:59 bluegreen It seems no 15:59 bluegreen at least it doesn't seem to sent them 16:03 CraigyDavi Ok 16:16 bluegreen you could try and disable that if you want 16:25 est31 pushing in 10 mins: https://github.com/est31/minetest/commit/e91e47b2a9db23c303c0e75520a3a5429a889848 16:25 hmmmm wtf does FacePositionCache actually do 16:26 est31 perhaps we can add in future that "nil" means "player is allowed because its 'common ground'" and "false" means "player is allowed because its their property, or their privs allow it" 16:26 est31 but perhaps we should make it more extended 16:26 est31 e.g. as VanessaE said with a second param, perhaps from a "lua enum" 16:27 TBC_x I was looking in logs, It is supposed to give 30% performance boost 16:27 hmmmm wtf 16:27 hmmmm oh a nerzhul thing... 16:27 est31 its like this key settings cache 16:27 hmmmm his performace optimizations have a poor track record 16:27 est31 totally unneccessary 16:27 est31 all people think the settings are slow due to conversions 16:27 hmmmm remember when he optimized instances of std::list to use std::vector? 16:27 est31 thats wrong 16:28 est31 the settings are slow because string map 16:29 TBC_x but oh hey! I have optimized code that is running one thousand times per month 16:29 hmmmm if you need to add a mutex to a cache you're doing it WRONG 16:29 est31 ^ 16:29 hmmmm that should be per-thread 16:29 hmmmm I guess adding a mutex to stop a race condition before a release is good enough though 16:30 TBC_x if cache needs a mutex to stop causing segfaults, that's also wrong 16:30 hmmmm you should add a // TODO: Make this cache thread-local to your PR 16:30 est31 lets make a FacePositionCacheManagerFactory singleton, where every thread gets one, then it generates a FacePositionCacheManager dynamically at thread start 16:30 kahrl how about using a lockfree algorithm? 16:30 est31 lol jk 16:31 est31 kahrl, good idea 16:31 hmmmm or just revert https://github.com/t0suj4/minetest/commit/7c8793cbea1ea83109b7d9d6974d3f6991efcec8 16:31 hmmmm it's not really that significant of an improvement 16:31 TBC_x another possibility is to use rwlock 16:31 bluegreen est31 16:31 bluegreen http://pastebin.com/z8krFNUq is this what you mean? 16:32 est31 bluegreen, your code is wrong 16:32 bluegreen how? 16:32 est31 the problem is the function is_protected does exactly the opposite than how you use it. 16:32 bluegreen oh 16:32 est31 is_protected returns true if the player must not edit the node 16:32 est31 so you should check for false 16:33 est31 but then: what if the door is placed in public place? 16:33 est31 then everybody may open it 16:33 bluegreen http://pastebin.com/EAsQf92P 16:33 est31 this can't be fixed without changing the is_protected API 16:33 bluegreen how 16:34 bluegreen nvm 16:35 est31 bluegreen, this will have to wait for after the release. 16:35 est31 ok hmmmm what exactly was the problem again with miner59's pr for the bouncy blocks? 16:35 est31 https://github.com/minetest/minetest/pull/2886 16:36 bluegreen when is minetest 0.4.13 going to be released anyway? 16:36 est31 because if there is a problem, it should be explained IMO 16:36 hmmmm the problem is that it completely removes the bouncy jump functionality 16:36 Miner_59 hi, I'm here too 16:36 hmmmm i tried it on the trampoline mod 16:36 est31 thats a closing reason perhaps. 16:37 TBC_x finally got that media leak 16:37 Miner_59 no, what I remove is code which adds speed when pressing jump key on bouncy nodes 16:37 hmmmm without that PR, jumping on a trampoline shoots you up 125 nodes for whatever reason 16:37 hmmmm with that PR, jumping on a trampoline doesn't work at all 16:37 hmmmm go check the mod, it adds "disable_jump" ... 16:37 hmmmm remove disable_jump, you can jump on it like normal, but, it's just like a normal node 16:37 hmmmm it's not a trampoline at all 16:38 Miner_59 can we try to test it on my server again please? 16:38 hmmmm alright 16:38 hmmmm maybe better luck this time 16:38 hmmmm IP/Port? 16:38 Miner_59 i have updated to new version it shouldn't give problems 16:39 hmmmm oh 16:39 Miner_59 IP: 80.128.140.186 16:39 Miner_59 port 30 000 16:39 hmmmm Miner_59: I see you updated the PR 16:39 hmmmm there is a block of code that wasn't there previously 16:39 Miner_59 yes 16:39 est31 yes, realized this too. 16:40 hmmmm wut 16:40 est31 right now 16:40 hmmmm so why didn't you tell us that you added something new 16:40 hmmmm it's quite plausible this patch works now 16:40 Miner_59 it didn't disable jumping but you jumped just as high as normal without my updates 16:40 hmmmm (works as in produces the expected results) 16:44 Miner_59 i think it should be fixed before new release because it depends on the clientif this bug is fixed or not 16:44 hmmmm where are the trampolines on your server 16:45 hmmmm ahh 16:45 hmmmm waiting for that part of map to load 16:45 TBC_x yup, the leak was conditional 16:46 hmmmm very nice 16:46 hmmmm 2886 approved for me 16:47 Miner_59 don't forget #2241 16:47 ShadowBot https://github.com/minetest/minetest/issues/2241 -- Fix for disable_jump group doesn't work on nodeboxes by gregorycu 16:47 hmmmm I thought that was fixed 16:47 hmmmm are people still reporting it? 16:47 est31 https://github.com/minetest/minetest/issues/1551 16:47 Miner_59 no with the PR it is fixed, but PR wasn't merged 16:47 hmmmm casmir's trampoline mod uses a nodebox for the trampoline, correct? 16:48 Miner_59 i think not 16:48 Calinou my trampoline mod uses a nodebox 16:48 Miner_59 but there is a cushion too 16:48 Miner_59 ok 16:48 hmmmm wait 16:48 hmmmm casmirs or calinous 16:48 hmmmm i forget at this point 16:49 hmmmm jeija's Jumping mod 16:49 hmmmm i used a trampoline_1 16:49 TBC_x https://github.com/t0suj4/minetest/commit/383d31d728b1029232c4197305f17df40e9e5523 16:49 TBC_x looks good? 16:49 hmmmm adding miner's original PR made me not able to jump on it AT ALL 16:51 hmmmm TBC_x: yes 16:51 est31 from me too 16:51 CraigyDavi rubenwardy, Does map_generation_limit keep mapblocks over the limit if they have been generated already? 16:52 rubenwardy I think so, it just doesn't show them 16:52 TBC_x #2996 16:52 ShadowBot https://github.com/minetest/minetest/issues/2996 -- src/client/tile.cpp: Fix reference counting by t0suj4 16:52 CraigyDavi Ok 16:52 rubenwardy technically it doesn't stop map generation, it stops block emerging 16:52 CraigyDavi Ah got it 16:52 est31 also if sb has time can they look at #2993 16:52 ShadowBot https://github.com/minetest/minetest/issues/2993 -- Android: fix sound issue, and gitignore by est31 16:53 hmmmm settings.h in a header??? 16:54 est31 ah 16:54 est31 he has asked whether thats bad 16:54 Miner_59 if you hold sneak key while you land on bouncy node you still don't bounce back, but I think this is ok? 16:54 est31 couldnt answer it 16:54 hmmmm i'd say so.. 16:54 hmmmm i wonder what this is doing to the emerge queue... 16:54 est31 well its an extra header, no? 16:54 hmmmm Miner_59: yeah I'd say so 16:55 est31 what does the emerge queue have to do with it 16:55 Miner_59 ok 16:55 est31 Miner_59, yes me too 16:55 hmmmm est31: unless I'm mistaken, rubenwardy's map limit option is fundamentally flawed 16:55 rubenwardy oh dear :( 16:56 hmmmm maybe it is, maybe it isn't, it all depends on whether or not things use blockpos_over_limit like they're supposed to 16:57 est31 so you basically say its a too complex change to be done so shortly before a release? 16:57 hmmmm i'm looking.. 16:59 TBC_x updated #2995 with // TODO 16:59 ShadowBot https://github.com/minetest/minetest/issues/2995 -- src/util/numeric.{cpp,h}: Fix data race by t0suj4 17:00 hmmmm tbc, est, what do you guys think? 17:00 hmmmm fix this or just revert it 17:00 hmmmm honestly i think FacePositionCache is quite worthless 17:00 TBC_x I don't care 17:01 est31 I'm ok with a revert too, but we should perhaps do benchmarks 17:01 est31 a revert is certainly better than a lock 17:01 hmmmm whatever performance gain you get with FacePositionCache you can get from making sure the vector doesn't perform any unnecessary allocations 17:02 hmmmm copying a couple of 8 byte data structures is not a bottleneck. 17:03 est31 damn, now i have forgotten how long it was since I've pushed a commit to master 17:03 est31 wondering whether i can do git commit --amend to it 17:03 est31 (whether its inside the 10 min timeframe) 17:03 hmmmm we'll just push 2995 as-is 17:03 est31 otherwise, its just stupid to make extra commit just for one or two words 17:04 est31 otoh* 17:05 TBC_x do you know of any heavily modded server? 17:07 Miner_59 maybe VanessaE's dreambuilder server or Xanadu server 17:09 rubenwardy 2015-08-02 13:08:43: ERROR[EmergeThread0]: Invalid block data in database (-2,-2,-8) (SerializationError): unsupported NameIdMapping version 17:18 est31 ok, #2993 17:18 ShadowBot https://github.com/minetest/minetest/issues/2993 -- Android: fix sound issue, and gitignore by est31 17:21 hmmmm looks good to me 17:21 hmmmm so est are you doing all the committing 17:22 hmmmm one person should do the committing so we don't constantly have to fetch and rebase our local repos 17:22 est31 pushing 2996, and 2993 then, and the bouncy blocks fix. 17:24 hmmmm what about 2995? 17:24 est31 dunno whether a revert is better than a lock 17:25 hmmmm i don't really think it matters that much 17:25 est31 well, the important thing is the bug got fixed 17:25 est31 performance is secondary here 17:25 est31 gonna add it too 17:26 est31 making small tab style corrections to 2996 17:27 TBC_x don't tell me it put spaces there 17:27 est31 ?? 17:27 est31 no, the problem was two tabs for changed code 17:29 est31 eg here https://github.com/minetest/minetest/pull/2996/files#diff-8b1361a90a460ea33ecf3db026997f8aR1220 17:30 hmmmm it was that way originally so i didn't say anything about that 17:33 est31 why is this line there https://github.com/minetest/minetest/pull/2995/files#diff-4d71faa635e82f76de3973b10d5770cfR31 17:33 est31 well, its no problem having it 17:33 TBC_x try to comment it out and see compiler complaining 17:34 est31 and it would be inconsistent. 17:35 TBC_x I did not like that line there neither 17:36 TBC_x then you can fix tabs at 1224,1225 too 17:36 TBC_x or when you're at it, all over the place 17:37 est31 erm, no? 17:37 est31 the strategy is to fix it bit by bit :) 17:37 TBC_x ;) 17:37 est31 and yes 1224 and 1225 are fixed too 17:38 TBC_x 1615? 17:39 est31 that would need a fix yes, but i wont fix it :) 17:39 TBC_x hehe 17:43 est31 ok pushed 17:44 TBC_x how can m_localdb(NULL) have any leaks at all? 17:44 TBC_x (in initializer list for Client) 17:45 TBC_x looks like address sanitizer is a bit insane 17:45 TBC_x leak sainitizer actuallly 17:46 hmmmm oh you're already using ASan? 17:46 TBC_x yes 17:46 hmmmm have you seen any heap overflows? 17:46 TBC_x testing only client 17:46 hmmmm please do server soon 17:46 TBC_x server gets stuck in an infinite loop or something 17:46 hmmmm agh 17:47 TBC_x hmm 17:47 TBC_x I can outsource it to another machine 17:47 est31 ok, what about #2992. 17:47 ShadowBot https://github.com/minetest/minetest/issues/2992 -- Biome API: Make fallback biome stone and water, disable filler by paramat 17:48 est31 paramat pushes their prs by themselves, but its more about approval 17:48 hmmmm sure why not 17:48 est31 -by 17:48 est31 ok, good 17:49 est31 ok, which blockers do remain... 17:49 TBC_x hehe, I sometimes wonder why my world is made only of stone 17:51 est31 security fixes for network going on well, hmmmm? 17:53 hmmmm yeah 17:53 Miner_59 Thanks for merging bouncy blocks fix. can you please merge #2241 too now? Kilbith already confirmed it worked 17:53 ShadowBot https://github.com/minetest/minetest/issues/2241 -- Fix for disable_jump group doesn't work on nodeboxes by gregorycu 17:53 hmmmm I was going to fix the issue by introducing an improved interface 17:53 est31 Miner_59, lemme see 17:54 hmmmm seeing as how this one is based on templates so it's not very smooth to fix the current one 17:54 Miner_59 ok 18:04 TBC_x wtf? since when Linux Mint upgrades to Ubuntu 14.04.2 LTS? 18:06 TBC_x I was trying to run minetest with thread sanitizer, but OpenGL doesn't work with that enabled 18:06 TBC_x and also it gives false positives on JThread spinlocks 18:21 TBC_x damn... it didn't boot up 18:32 TBC_x before I run the server with ASan, first I need to make the machine to boot up 20:13 hmmmm VanessaE: you there? how often do you see out of memory errors? 20:23 VanessaE randomly 20:24 VanessaE so far not enough times to give you a rate as such 20:25 hmmmm I have an idea of how to debug OOM errors 20:25 hmmmm (thanks #lua) 20:26 hmmmm but it's going to require some memory, like 1MB, always hanging around doing nothing until there is such an error 20:26 hmmmm maybe I can make this into an option 20:30 VanessaE I don't see a reason to fret over 1 MB. 21:10 kilbith minetest.net returns a 500 error actually 21:10 sfan5 you mean currently 21:11 sfan5 forum.minetest.net too 21:11 kilbith isn't 'actually' a synonym of 'currently' ? 21:12 kilbith ah, it's back now 21:57 TBC_x updating GRUB is a MISTAKE!!! 21:58 est31 man, these android bugs are like the hydra 21:58 est31 you fix one, two others pop up 21:59 est31 about #2998, I suspect its the softfp abi change 21:59 ShadowBot https://github.com/minetest/minetest/issues/2998 -- [Android] Looking around is jittery 21:59 est31 but without that change, sounds don't work 22:00 est31 and if we play back the "breaking commit" completely, we lose a great speed increase 22:00 est31 (we'd use fully software emulated floats, nothing you usually want) 22:05 hmmmm how are you testing this btw 22:05 hmmmm do you have an android device 22:05 est31 yes 22:16 paramat sfan5 comments/approval on game#604 game#605 ? 22:16 ShadowBot https://github.com/minetest/minetest_game/issues/604 -- Stairs: Lengthen interval of replace abm by paramat 22:16 ShadowBot https://github.com/minetest/minetest_game/issues/605 -- Default/functions: Reduce lavacooling ABM/sound overload by paramat 22:47 TBC_x I really shouldn't have kept so many unused /roots around 23:58 paramat will push #2992 soon 23:58 ShadowBot https://github.com/minetest/minetest/issues/2992 -- Biome API: Make fallback biome stone and water, disable filler by paramat