Time Nick Message 01:31 VanessaE sfan5: still awake? 07:05 sfan5 VanessaE: >awake >03:31 -> no, but I'm awake now 08:23 Zeno` Is CONTENT_IGNORE available via Lua? 08:23 Zeno` for example: assert(minetest.get_content_id("blah") ~= minetest.CONTENT_IGNORE) ?? 08:24 Zeno` basically I want to check that the item string exists 08:26 nore Zeno`, did you try minetest.get_content_id("ignore")? 08:26 nore (you can also do assert(minetest.registered_items["blah"] ~= nil) 08:27 Zeno` I'll try both 08:27 Zeno` thanks 08:31 Zeno` I'll go with the 2nd method 08:47 Megaf you broke my server again 08:47 Megaf congratualations 08:47 Megaf https://github.com/minetest/minetest/issues/1556#issuecomment-53146903 08:53 Zeno` I didn't do that 08:54 Megaf someone did 08:55 Megaf lucky me that I know the terrible quality of code and now a days I do a full backup before every git pull 08:56 Zeno` does this happen with no mods installed? 09:03 Megaf I restored my backup and it still crashing, now Im totally lost 09:08 Zeno` That code in httpfetch.cpp is a @$&*@2 mess 09:16 Megaf server was running for several hours, then it crashed, then I backed it up and updated it, then it began to crash on start up 09:16 Megaf http://paste.debian.net/117058/ 09:16 Zeno` Megaf, what happens if you add curl_parallel_limit = 8 to the .conf? 09:16 Megaf and now even restoring from the backup it will keep crashing 09:16 Zeno` or even set it to 1 09:17 Megaf Zeno`: its a server, that thing shouldnt matter anyway 09:17 Zeno` well, it's being called somehow 09:17 Zeno` I think 09:17 Zeno` just add it to the .conf to rule it out ;) 09:18 Zeno` if adding that doesn't fix the crash then at least people know to look elsewhere 09:21 sapier sorry but the stack doesn't help if you want us to track this down we need more information 09:22 Zeno` well, I'd like to rule it out anyway 09:23 Megaf sapier: so make a decent code that tells something when it crashes 09:23 Megaf insttead of useless crash info 09:24 Zeno` why g_httpfetch_thread is global is beyond me 09:24 Zeno` Megaf, you can do a backtrace using gdb 09:24 sapier gdb ./minetestserver 09:26 Megaf im installing minetest 09:26 Megaf I mean, gdb 09:28 Megaf gdb doesnt help much, does it? 09:28 Megaf http://paste.debian.net/117060/ 09:28 sapier you need to do a debug build 09:29 * Megaf wishes it could shoot someone 09:29 sapier Calm down, you're using development branch things like that happen 09:30 Megaf because if I use the stable and have any problem you would say that it is old and its already fixed on the FUCLING development! 09:31 Megaf Zeno`: curl_parallel_limit = 8 doesnt help 09:31 Megaf I will try to compile without curl support 09:32 sapier dev is unstable and regressions are supposed to happen every now and then ... especially if you use a version where lots of things have been added the past 24 hours ;-) 09:40 Megaf sapier: compiled it without curl and in debug mode 09:40 Megaf terminate called after throwing an instance of 'ServerError' 09:40 Megaf what(): C++ exception 09:40 Megaf no useful info again 09:40 sapier did you run in gdb? 09:40 Megaf Program received signal SIGABRT, Aborted. 09:40 Megaf 0xb6cbff96 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 09:41 Megaf yes man, I did 09:41 sapier hmm disable luajit too 09:41 Megaf can you please tell me the cmake flag for that? 09:43 sapier -DDISABLE_LUAJIT=1 -DCMAKE_BUILD_TYPE="Debug" -DUSE_CURL=0 -DENABLE_CURL=0 .... just to be sure ;-) 09:43 sapier but I don't think curl is really involved 09:43 sapier what do you do to cause the bug? 09:44 Megaf thats the bug I reported 09:44 Megaf it just happens 09:45 sapier ugly :-( 09:46 Megaf yes it is 09:46 Megaf and theres another bug caused by the cirular saw 09:47 Megaf Im sure mods should be able to put the server down 09:47 Megaf shouldnt* 09:47 sapier how are we supposed to prevent this? mods are part of core 09:48 sapier that's the difference between mods and plugins ;-) 09:48 Megaf sapier: anyway, tried to run on my x86 machine just to run out ARCH issues, same thing 09:48 Megaf soon afeter another try with the flags you told me I will try a fresh build 09:48 sapier can you enter break __raise_exception on gdb prompt? 09:49 Megaf yes I can, after or before the run? 09:49 sapier before crash ;-) 09:50 sapier I'd buess this is a mod error, yet we need to improve this as the exception is quite useless 09:51 Megaf terminate called after throwing an instance of 'InvalidPositionException' 09:51 Megaf thats the error 09:51 sapier can you do bt and give full info? 09:52 Megaf sapier: that looks like corruped map... 09:53 Megaf I think my map got corruped on the last crash 09:56 sapier hmm very bad error message 09:56 sapier can you still post the backtrace for me to see where to add a better one? 09:58 Megaf http://paste.debian.net/117067/ 10:01 Megaf celeron55: congrats, you got the worst piece of shit in the planet, thats the third map I get corruped by a fucking bug 10:01 Megaf how am I supposed to explain that to all players? 10:02 iqualfragile Megaf: do backups? 10:03 sapier calm down and help us finding what's causing it ... and stop complaining about bugs in a development version ;-) 10:05 Megaf I will try a fresh build and fres game with no mods 10:09 Megaf sapier: good news, map is not corruped 10:09 Megaf fresh git clone of minetest core and game works 10:10 sapier still you should do a regular backup and one prior updating to a new experimental version ;-) 10:12 twoelk Megaf: just out of interest, how large is your map by now? 10:12 PenguinDad Megaf: which backend do you use? 10:12 Megaf twoelk: 1.6G ../worlds/world/map.sqlite 10:13 Megaf ^ PenguinDad 10:13 Megaf the last map I lost was more than 4 GB big 10:13 Megaf but I lost it more due to a backup software error 10:13 * Krock 's map is 700 MB and zero corruptions happened since he configured dis antivirus program well 10:16 kahrl Zeno`: uh, Megaf's crash had nothing to do with httpfetch 10:18 twoelk maybe you should burn a backup to dvd once in a while so you have a save version when the backup process corrupts a valid backup. (happened at my office, destroyed 2 years worth of backups) 10:20 Zeno` kahrl, I realised that about 5 minutes ago heh 10:21 Zeno` but I still maintain that ruling it out was a good idea 10:21 Zeno` *shrug* 10:22 Megaf twoelk: indeed, my last server was lost on the backup process and I noticed that only when rstoring a backup 10:31 sapier megaf for your bug I'd guess some mod tried to do things outside of map boundries 10:31 Megaf sapier: we suspect of travelnet 10:31 Megaf Im recompiling it in relese mode again and will run it without travelnet 10:32 iqualfragile how the f do you destroy your backups? 10:32 sapier still we need to find a way ShadowsNinjas lua exception handler not hiding all the relevant information ;) 10:32 iqualfragile just copy that shit on a btrf-formated partition on another hdd and take a snapshot afterwards 10:46 twoelk iqualfragile: destroying backups is really easy if you let it happen by an automated process and it becomes more fun if you are stupid enough to have all backups on the same physicall machine. Shit just tends to happen 10:51 Megaf sapier: now I have dozens of mods and ai need to try one by one to see whats causing the crash because minetest will just hide all info 10:52 nore Megaf, you make a dichotomy search for that :) 10:54 sapier Megaf: I'm bugging Shadowninja for months to fix this so don't tell me ;-P 10:54 Megaf ShadowNinja: common 10:56 sapier to be honest it's not easy to fix, yet we need a solution 11:01 Megaf well, it wanst like that before 11:01 Megaf someone changed something 11:01 Megaf so, just revert 11:03 sapier lol 11:03 sapier those changes aren't a single commit and have a lot of things on top of it 11:04 sapier btw without them it's not guaranteed you'd have seen an error too because error handling is broken for a long time 11:14 Megaf sapier: Zeno` kahrl twoelk VanessaE pipeworks is the mod whos causing the crash 11:15 Zeno` good find 11:16 Zeno` Megaf, also plantlife is being actively updated 11:16 Zeno` in the last few days I mean 11:19 nore Megaf: did you try updating it? 11:19 nore pipeworks had a bugfix recently 11:19 RealBadAngel Megaf, and you hanged c55 for that... 11:19 Megaf yep 11:19 Megaf someone must do something 11:20 Megaf minetest used to show more reveling error messages not long ago 11:20 Megaf if you didnt notice, its being a while since I last bothered you here 11:23 Megaf nore: yep, there when all this begun to happen 11:24 twoelk as this is software in development maybe we should have some more backup and recovery tools especially for server admins 11:25 sapier https://github.com/minetest/minetest/pull/1579 ShadowNinja this might help you finding and fixing the issue 11:26 sapier It's always a good thing to have a api fct to cause an error :-) 11:29 Megaf nore: I did a fresh git clone from pipeworks, same issue 11:30 Megaf I just find the following quite funny 11:30 Megaf DEBUG STACK FOR THREAD b28ff440: 11:30 Megaf #0 virtual void* CurlFetchThread::Thread() 11:30 Megaf what does curl have to do with pipeworks? 11:34 sapier nothing that's just a list of threads 11:40 RealBadAngel https://github.com/minetest/minetest/pull/1519/ 11:40 RealBadAngel ive updated it with new version for serialize and make it compatible with older servers 11:41 RealBadAngel so its good to go imho 11:41 sapier what happens if a old client connects to this setver? 11:42 kahrl Megaf: "minetest used to show more reveling error messages not long ago" <-- I suppose before you installed luajit 11:43 Megaf I always used LuaJIT 11:43 Megaf on this server at least 11:44 RealBadAngel throw SerializationError("unsupported CF_SPECIAL_COUNT"); 11:44 RealBadAngel this happens 11:44 RealBadAngel and go back to main menu 11:45 sapier on old client? really? 11:45 RealBadAngel yes 11:45 RealBadAngel this code been there before 11:46 sapier ok .. do you always send the long count or only when it's used? 11:46 RealBadAngel empty tile is also "used" 11:46 RealBadAngel so always max defined is being send 11:47 RealBadAngel currently its 2, with change it will be 6 11:47 sapier then I suggest increasing min protocol version, no need to make a client download things if it's gonna bail out immediatly 11:48 sapier or, the better way of doing it, check client protocol version prior sending and send only two 11:48 sapier this might cause some broken faces yes but most things will most likely work 11:49 kahrl Megaf: btw, did you apply the patch that I suggested? 11:49 kahrl https://gist.github.com/kahrl/c81254227e11f09fd31f 11:51 Megaf im actually afraid of things like that 11:51 Zeno` ok, https://github.com/VanessaE/plantlife_modpack/pull/21 11:51 Megaf afraid of messing my git thing up again 11:51 Zeno` ugh, sorry wrong @&$*@ window 11:52 Zeno` I think I need to sleep 11:52 kahrl you can always remove the patch before you do a git pull 11:52 kahrl just do git checkout src/script/common/c_internal.cpp 11:53 RealBadAngel sapier, how to check client version? an example somwhere? 11:55 Zeno` RBA, does ClientInterface::getProtocolVersion() do what you want? 11:56 Zeno` that's not really the client version though, so I guess not 11:57 GhostDoge Megaf: If minetest would use svn it would be even easier to mess up your local copy ;) 11:57 Megaf heh, I dont like SVN 11:57 RealBadAngel if i add compability for older clients i wonder if protocol version bump is needed at all 11:57 RealBadAngel version of serialization yes, its bumped but protocol? 11:58 Zeno` RemoteClient: 11:58 Zeno` u8 getMajor() { return m_version_major; } 11:58 Zeno` u8 getMinor() { return m_version_minor; } 11:58 Zeno` u8 getPatch() { return m_version_patch; } 11:58 Zeno` std::string getVersion() { return m_full_version; } 11:59 RealBadAngel isnt that engine version? 11:59 Zeno` don't hink so (from a glance) 12:00 Zeno` it's part of the RemoteClient class so if it is engine version I think it'd be in the wrong place 12:00 Zeno` better check though 12:02 RealBadAngel anyway such thing wasnt used before 12:03 RealBadAngel server doesnt care bout client's version at all 12:09 RealBadAngel no, i was wrong it does care 12:10 RealBadAngel u16 protocol_version = m_clients.getProtocolVersion(peer_id); 12:10 RealBadAngel and that is passed to serialize 12:13 sapier net_proto_version or serialization_version are public you have direct access ... you have to at least bump serialization version, not sure about nev version too 12:14 sapier net version 12:15 RealBadAngel i think now it is ok 12:15 RealBadAngel when i get client's one i can send just 2 tiles then 12:17 Zeno` wonder what you said 12:23 RealBadAngel if (protocol_version < 24) 12:23 RealBadAngel special_count = 2; 12:23 RealBadAngel else special_count = CF_SPECIAL_COUNT; 12:24 RealBadAngel this way older client can still connect to new servers 12:33 RealBadAngel ok, its updated with compability for older clients 13:53 RealBadAngel so, any more comments on https://github.com/minetest/minetest/pull/1519 ? 14:11 Krock RealBadAngel, tested? 14:34 RealBadAngel yup, i can connect with new client to old servers 14:36 RealBadAngel hmmmm, https://github.com/minetest/minetest/pull/1519 14:46 VanessaE RealBadAngel: did you try it with e.g. Redcrab's old server? 14:46 VanessaE and try it multiple times 14:46 VanessaE (that server is sort of the acid test of old-new connecting ability ;) ) 14:47 exio4 how is it still running? 14:47 VanessaE idk but somehow, it still is 15:37 sapier for redcrabs server clear your media cache prior connecting ;-) 15:42 Calinou and after 15:42 sapier well if you care about those few kb yes 15:59 VanessaE seems like a "connect to redcrab" script would be easy to make :) 15:59 VanessaE mv cache cache.tmp ; minetest --go (redcrab's server address) ; rm -rf cache ; mv cache.tmp cache 15:59 VanessaE :) 16:00 VanessaE or something similar but idk if you can pass a username/pw on the command line 16:12 hmmmm RealBadAngel: lgtm but I'd rather wait for celeron to comment on the update 16:27 RealBadAngel hmmmm, i did basically what he wanted me to do 16:31 sapier RealBadAngel: Actually you did what you understood what he wanted you to do ... ;-) ... yes I'm picky now ... and I'd have understood same thing you did understand 16:33 Calinou https://github.com/celeron55/minetest/issues/373 → why does this 404? 16:33 Calinou it was about copy-paste 16:33 Calinou oh, old link 16:33 Calinou to celeron55/minetest 17:15 RealBadAngel celeron55, moving ver 6 to serialize/deserialize old would mean copying whole current code to "old" like version 5 is done, yes? 17:16 celeron55 maybe 17:17 celeron55 you don't have to do it, but try to be careful not to make serialization any less maintainable 17:18 RealBadAngel i made it that way so 6 and 7 can connect both ways 17:20 RealBadAngel but we already have one thing that was waiting to move oustide try catch 17:21 RealBadAngel waving property it is 17:22 RealBadAngel also i would like to add another one, light_source_alternative 17:22 RealBadAngel so maybe moving 6 to old would be the best solution 18:02 Megaf Hi all 18:02 Megaf I got a new bug for you 18:02 Megaf or at least a crash 18:02 kahrl yay :D 18:02 Megaf http://paste.debian.net/117138/ 18:03 sapier hmm I'd say you can keep it but I don't think that's gonna help ;-) 18:03 kahrl "Killed"? That means something sent a SIGKILL to the minetest server 18:03 sapier why do you kill it? 18:03 Megaf not me 18:03 sapier oom? 18:03 Zefram_Fysh oom killer? 18:03 Megaf my theory is, there was a memory leak 18:04 sapier do you have valgrind? 18:04 VanessaE tried to access -- from too far means the server doesn's know where the player really is 18:04 Zefram_Fysh dmesg will tell you if it was an oom 18:04 VanessaE the server and client disagree on where the player's coords are 18:04 sapier server is right. 18:04 Megaf [3079307.408879] Out of memory: Kill process 29019 (minetestserver) score 949 or sacrifice child 18:05 sapier yes looks like a leak 18:05 Megaf see? It had to kill minetestserver, to save its child 18:05 zat Megaf: that is super dramatic 18:06 sapier oom has some heuristics what to kill usually some high memory process is killed ... but it's more complex 18:06 Megaf http://paste.debian.net/117139/ 18:06 Megaf dmesg 18:08 sapier hmm if I read correct it's "only" about 510 mb 18:11 Megaf after a fresh boot of minetest server sapier 18:11 Megaf http://paste.debian.net/117140/ 18:12 Megaf sapier: I got plenty of mem to handle something using “only” 510 MB 18:12 Megaf anyway, 510 MB it’s already a lot for something like minetest server 18:12 sapier true ... running valgrind to have a look wont harm 18:13 celeron55 are those numbers pages? 18:13 celeron55 509662 4kB pages would be 2GB 18:14 sapier hmm 4k? ok then I didn't read correct 18:15 celeron55 it would make sense if Megaf has 2GB of RAM 18:15 celeron55 otherwise that doesn't make much sense 18:15 Megaf yep, almost 2 GB of RAM there 18:15 VanessaE maybe he's still trying to use that arduino or bananapi or whatever it was :) 18:16 Megaf and that server runs only minetest server and lighttpd+php gci, and ssh-server 18:17 VanessaE did you update some mod(s) recently? 18:17 celeron55 it 18:18 celeron55 *it's probably a mod because the MT server has very hard time reaching 2GB in any kind of light use 18:19 celeron55 hmm wait, it's saying "1048064 pages of RAM" in there 18:19 celeron55 that means they are 2kB pages 18:19 Megaf VanessaE: all mods 18:20 Megaf VanessaE: and pipeworks will not allow my server to start 18:20 VanessaE wfm. 18:20 Megaf I called you a couple of hours ago I think 18:21 VanessaE called me? 18:21 Megaf nevermind 18:21 VanessaE O_o 18:22 sapier VanessaE: looks like somehow generation of a out of bounds block is triggered by a mod. Seems like pipeworks causes it 18:22 VanessaE sapier: how is that even possible? 18:22 VanessaE pipeworks has no lvm's or any other such code 18:22 VanessaE techic can do that though 18:22 sapier getnode? 18:22 VanessaE get_node() doesn't cause generation events. 18:23 Megaf VanessaE: I get this when I try to start my server with pipeworks enabled, http://paste.debian.net/117060/ 18:23 VanessaE it'll return nil or ignore (depending on which call you use) if the block is not loaded. 18:23 VanessaE Megaf: no clue why that is without a backtrace from the engine. 18:24 Megaf the backtrace doesnt help at all 18:24 Megaf I compiled the server with debug flag and backtraced it 18:24 VanessaE Megaf: I don't mean a gdp backtrace, I mean a Lua crash backtrace 18:24 Megaf minetest will hide all info 18:24 VanessaE gdb* 18:25 sapier VanessaE: you won't get a backtrace as an exception is thrown within c++ code resulting in ShadowNinja's lua exceptionhandler catching it effectively resulting in "C++ exception occured" ;-) 18:25 VanessaE minetest does not "hide" the crashdump, it's just failing to show it due to a bug in whatever routine is handling the actual crash. there's a difference. 18:25 VanessaE sapier: "In addition, we got a 404 while trying to show you the custom 404 page." 18:25 VanessaE :) 18:25 PenguinDad Megaf: did you try https://github.com/minetest/minetest/pull/1580 18:26 Megaf PenguinDad: I will as soon as it goes to the master branch 18:26 VanessaE Megaf: it won't go to master unless someone tests it. 18:27 kahrl Megaf: please don't complain about minetest's error message if you refuse to apply patches that fix said messages 18:27 kahrl messages* 18:27 sapier kahrl nice teamwork ;-) 18:27 Megaf ok sir, can you please help me to apply that patch? 18:28 VanessaE sapier: be that as it may, until he can provide a Lua bt, I and nore can't help him fix the crash :) 18:28 kahrl Megaf: wget https://github.com/minetest/minetest/pull/1580.patch 18:28 kahrl Megaf: git apply 1580.patch 18:28 VanessaE he can blame pipeworks all he wants but for all I know it could be mesecons (the two mods intermesh together nicely) 18:28 sapier VanessaE: I was talking about 1580, based uppon 1579 ;-) 18:28 VanessaE sapier: as was I 18:29 sapier I just fixed that dummy commit message, no idea why I failed to squash it prior pushing 18:32 sapier kahrl are you sure there never will be thrown a LuaError exception? 18:32 kahrl LuaError is derived from std::exception, so it will be caught as well 18:33 sapier ahh ... ok guess that will do too 18:35 kahrl anyway, good work on 1579 :) 18:35 Megaf kahrl: ok, patch applied and server recompiled, so now I just have to wait for it to crash, right? 18:35 kahrl Megaf: yep 18:35 Megaf so, should I try to enable pipeworks and make it crash on start up? 18:36 kahrl yeah, you could try that 18:37 sapier kahrl: I've been annoyed about those missing lua backtraces. Everytime I wanted to reproduce I stopped because of "nahh .. to much work" ;-) 18:37 Megaf Off Topic: BTW, VanessaE, homedecor is fantastic now a days, fantastic aditions to it. Thanks a million! 18:37 Megaf whoa!, it works! we got our old error messages! 18:37 kahrl yay :D 18:38 sapier case we merge this noone can tell "I don't know how to reproduce" ;-) 18:38 PenguinDad Megaf: throw it at us ;) 18:38 Megaf http://paste.debian.net/117142/ 18:39 sapier kahrl as it is confirmed to work can you merge 1580? 18:39 kahrl sapier: sure 18:39 Megaf VanessaE: ^ 18:39 sapier I don't wanna loose it like the chat overlay fix you did years ago ;-) 18:41 kahrl yeah, would be a shame :) 18:42 kahrl ok, it's in 18:43 sapier comments about 1579? 18:43 kahrl Megaf: before you do the next git pull, do a "git checkout src/script/common/c_internal.cpp" first 18:43 kahrl Megaf: in order to avoid any conflicts 18:44 Megaf Ok, doing that right now kahrl. Thanks 18:44 kahrl sapier: I would make the chat command require the "server" privilege 18:44 zat http://uppix.com/f-screenshot_6971953f8e0dd001756f3.jpg 18:44 zat http://uppix.com/f-screenshot_6982853f8e0e3001756f5.jpg 18:44 sapier hmm do you suggest anyone sane running debug build in production env AND having that mod installed? 18:45 sapier well it won't harm too I'm gonna add it 18:45 kahrl well, the mod will be running if you run the minimal game, even in release builds 18:45 kahrl of course you shouldn't use minimal but I'm not sure everyone knows that 18:45 sapier yes ... there a crash will happen 18:46 zat one more: http://uppix.com/f-screenshot_7000253f8e15f001756f8.jpg 18:46 sapier guess I should catch this 18:47 VanessaE Megaf: looking....don't leave. 18:47 Megaf VanessaE: I’m all yours for the next 60 minutes 18:49 sapier the only lost blocks valgrind tells me about are shaders 18:49 VanessaE ok, this is the result of nore's rewrite of the item transport logic in pipeworks. 18:50 * Megaf looks at nore 18:50 sapier kahrl: better that way? 18:50 Megaf VanessaE: we better talk on the other channel now, right? 18:51 VanessaE yes 18:51 kahrl sapier: yes 18:51 kahrl I think it can be merged now 18:52 kahrl typo in line 22: modile 18:52 kahrl er, line 28 now 18:53 sapier fixed 18:54 sapier hopefully we'll never need it again ;-) 19:01 Megaf just for notes sake, thats my git pull by the way 19:01 Megaf http://paste.debian.net/117143/ 19:14 kahrl Megaf: can you paste the output of git status 19:15 kahrl (I'm confused why it would do a recursive merge and no fast forward) 19:15 Megaf kahrl: # Your branch is ahead of 'origin/master' by 24 commits. 19:15 kahrl hmm 19:16 kahrl did you apply other patches or merge other branches before? 19:16 Megaf well, there are two files that I added myself to that folder 19:16 Megaf kahrl: it says it is merging very often 19:16 Megaf when I git pull 19:20 kahrl I'm a bit surprised you haven't run into more trouble due to the same changes appearing in both minetest master and your master 19:20 kahrl but as long as it's working 19:21 kahrl I could tell you how to revert to minetest master, but then you'd lose those other changes 20:11 kahrl so, about weblate again 20:11 kahrl what should we do? 20:12 kahrl it appears we have the following options right now: 20:12 kahrl 1. figure out how to install it (seems somewhat involved); sfan5 said he would do the hosting 20:12 kahrl 2. request hosting from weblate 20:13 kahrl also the question is if we need to migrate some data from the old weblate server 20:14 cg72 treegen.cpp is full of crap!!!! to many for loops! is anyone aginst me cleaning it up?? 20:14 sapier cleaning is fine breaking it not ;-) 20:15 cg72 sapier i wont break it on accident lol 20:17 cg72 im testing it now, i removed 7 for loops , it only needs 4 20:23 PenguinDad cg72: I do see ~27 for loops in treegen.cpp 20:23 cg72 lol well for each tree i can do only 4 so 8 total lol 20:24 cg72 im not touching the l-system stuff 20:25 cg72 well 9 as i forgot the roots of the jungle tree lol 20:32 pitriss Hi, please is possible to limit chat messages lenght in engine to some reasonable value? 20:33 VanessaE they already are. 20:33 VanessaE 512 chars or some such 20:33 pitriss Liberly land server was spammed by 9k+ message 20:33 VanessaE update your server then? 20:34 sapier amount of messages isn't limited 20:34 pitriss when it was introduced? 20:34 VanessaE sapier: you sure? I could swear such a filter was added ages ago 20:34 pitriss wait i will bring here server owner 20:34 sapier no not sure but I think only length of message is limited 20:35 sapier but a mod kicking abusive users wouldn't be a big deal 20:35 sapier so I don't see this to be something to be fixed in core 20:36 pitriss VanessaE: sol_invictus is liberty land owner,.. he have more informations 20:37 VanessaE pitriss: ok. 20:39 VanessaE ShadowNinja: ^^^^^^ ? 20:39 VanessaE sol_invictus reports the server to be only a few days old. 20:40 VanessaE so either that cutoff was not added or it's broken 20:43 sapier well I can't remember about limiting number of messages 20:47 sapier and there ain't a limitation in code 20:48 sapier yet a mod doing this would be quite simple 20:50 pitriss http://pastebin.com/7ZWehiHZ 20:50 VanessaE there was such a proposal at one time (hence my pinging SN. he was working on such) 20:51 sapier working? even a full featured mod doing this was hardly more then an hour of work 20:52 exio4 limit in the engine, iirc 20:52 VanessaE well it went along with some other patches he had in mind 20:52 sapier so if he did start he most likely would've completet it by now 20:52 sapier well we don't need this to be "in core" 20:53 VanessaE it belongs in core. 20:53 sapier why? 20:53 VanessaE every last server owner will need it. 20:53 VanessaE that's why. 20:53 sapier oh so a server owner running a private server for his two friends and himself will need it? 20:53 VanessaE yep ;0 20:53 VanessaE :) 20:53 sapier for sure ;-P 20:53 VanessaE but you know what I meant :P 20:54 sapier well if he does implement it fine but it's quite ugly to do this in core while it's almost no code to be done in lua 20:55 VanessaE http://ix.io/atr 20:55 VanessaE there it is. 20:55 VanessaE and some of the discussion that surrounded it: http://irc.minetest.ru/minetest-dev/2014-02-20 20:55 sapier that doesn't limit the amount of messages vanessae 20:56 VanessaE sapier: it's not the amount that needed limited. 20:56 VanessaE it's the length. 20:56 VanessaE one message, 9K in length. 20:56 sapier he didn't write that 20:56 VanessaE [08-23 16:36] Hi, please is possible to limit chat messages lenght in engine to some reasonable value? 20:57 VanessaE "chat messages length" 20:57 VanessaE I read that as "length of a chat message" 20:57 VanessaE not the count of messages 20:57 VanessaE pitriss: clarify please? 20:58 sapier wasn't therere already some limitation? ... ok u16 ... 65k 20:58 VanessaE yeah 20:58 VanessaE 65k.... is ridiculous. 20:58 VanessaE no one's screen can hold that much 20:59 pitriss I really think there should be some limit in lenght.. and it should be handled by engine itself.. this is basic even in webcoding to limit user inputs to some reasonable value. 20:59 VanessaE even my big screens could only hold about 4k or so I guess (at a readable font size) 20:59 VanessaE pitriss: so limit the length of a single chat message? 20:59 sapier ok you guys discuss about a reasonable length first ;-) don't make it to short 20:59 pitriss yep thats good because burst of messages is not so easy to do.. 21:00 sapier and don't forget clients can still send oversized messages so this will reduce load but not fix all issues 21:00 sapier burst messages are quite easy to do 21:01 sapier if someone can send a 9k message he can send 90 100byte messsages too 21:02 sapier but as I said fixing both of this issues in lua is possible by now too 21:04 pitriss eh this guy did that by typing IMO.. there are two typos in that... 21:04 sapier typing? 21:04 VanessaE well anyways, that ix.io link is the patch I was referring to. dunno if it's still any good. 21:06 sapier discard huge messages without any action? strange behaviour who's supposed to ever find the bug why messages above 1024 don't work? 21:06 VanessaE sapier: see the chat log. that's the same argument that was made at the time. Why didn't anyone just take the code, make it right, and push it? 21:06 VanessaE doing this in a mod is stupid and hacky. 21:07 sapier because sometime ppl refuse to clean up the mess others do ;-) .. well shadowninja does usually complete at least those parts of his work he's interested in 21:07 sapier but looking at current pull list he's got a lot of 90% compelte things there 21:08 pitriss ok i will tell sol to try that patch.. i hope it will be still valid 21:08 VanessaE cg72: still wanna rework the tree code? :P 21:08 VanessaE pitriss: I already suggested via /msg that he throw together a mod to do the job for now 21:09 pitriss ok thank you:) 21:09 cg72 VanessaE yup its in progress why? 21:10 VanessaE cg72: see above. you may run into .... friction.... when you are ready to get it merged :P 21:10 sapier pitriss: that patch will solve the one 9k message thing but if someone really wants to spam your server it wont really help 21:11 pitriss sapier: yeah i see.. 21:11 pitriss but atleast something than such spam.. 21:12 pitriss thanks for discussing it, I hope it will be fixed soon in some more system way:) 21:13 VanessaE so have the code auto-kick the user on receipt of a string that's super long? 21:13 cg72 VanessaE please clarify for me im stupid lol i dont understand what your trying to get across 21:13 VanessaE cut off and warn if it's like 256 or 512 bytes, kick the user off cold if it's say 2K or more. 21:13 pitriss yep sounds good for me 21:13 VanessaE cg72: getting patches merged into mainline is sometimes a difficult thing to do. 21:14 sapier give me about an hour and you'll have your mod 21:15 cg72 VanessaE if i can do it better it should be a no brainer for the devs, the tree code is all first commit ans shit!! ( minus the l-sys trees) its slow and inefficient 21:15 cg72 shame on someone for wirting that code :) 21:29 Sokomine vanessae: isn't that implemented yet? clients tended to crash a lot when sending long messages in chat. which is sometimes annoying. of course not as often as it used to happen...but from time to time, i still encounter that bug 21:30 Sokomine cg72: perhaps it was coded as a temporal soulution at the time 21:31 cg72 :) Sokomine it probly was a cheap n quick code but its time to im prove it, as it seems noone ever looked at it before, hell it declares the same thing like 3 times in a row lol 21:31 Sokomine cg72: good luck improving it! 21:32 cg72 Sokomine im all dont with the same code in lua for the game so i just need to write it in c now 21:49 sapier https://gist.github.com/anonymous/e8d42545c4772ba9486f anyone to test ChatGuard? 22:12 cg72 https://github.com/minetest/minetest_game/pull/308 22:12 cg72 all tested and works great 22:12 cg72 now for the c version of that lol 22:13 VanessaE don't bother. 22:13 VanessaE the C version is deprecated 22:13 VanessaE tree gen is supposed to be out-of-engine anyways, either done by Lua, or by a schematic, or by L-Systems 22:14 cg72 supose to be but when will it really go away? 22:14 VanessaE idk 22:14 VanessaE now is as good a time as any 22:14 cg72 lol so its still in need of a goor rewrite rotf 22:15 cg72 well look at my cade VanessaE and see if you like it better 22:15 cg72 https://github.com/minetest/minetest_game/pull/308 << BTW 22:17 VanessaE the code looks okay to me from a quick skim; did you by chance benchmark it? 22:19 cg72 like i know how to do that with pc stuf, if its not embedded i m lost for a benchmark 22:19 VanessaE oh I just mean like run the code for a thousand passes or something, generating trees, and do the same with the old code 22:19 VanessaE time it with os.time() or some such 22:19 * cg72 is lost again 22:20 VanessaE or excuse me, os.clock() 22:20 VanessaE not os.time 22:21 * cg72 has no bloody idea what your telling her to do 22:21 VanessaE you do something like local t1 = os.clock() ; run your tree gen a thousand times ; print(os.clock() - t1) 22:21 VanessaE do that with your new code and do it again with the old code 22:21 cg72 ok i think 22:22 VanessaE I use the same basic idea when I benchmark a routine in e.g. plants_lib 22:23 VanessaE record the current clock value, run the code for some heavy amount guaranteed to take forever, subtract the now-current clock value from the recording to get the elapsed time 22:23 VanessaE as long as you do the exact same "heavy amount guaranteed to take forever", e.g. generate 1000 trees, you will get a reasonably consistent report that you can say yes, my new code is faster, etc. 22:23 sapier use core.get_us_time() to do benchmarking 22:23 VanessaE sapier: ok, or use that 22:24 sapier it's way more precise 22:24 VanessaE but anything that can show that the new code is faster than the old code is good enough for this 22:24 sapier did anyone check the chatguard mod by now? 22:24 VanessaE (e.g. even if it's only precise to a tenth of a second) 22:24 sapier well I've seen time run backwards with os.clock() ;-) 22:30 VanessaE haha 22:31 VanessaE sapier: the other devs were right (whoever it was who said it, I forget). it DOES look like it specifies time in the US. :) 22:31 VanessaE that should be renamed before it becomes too entrenched. 22:32 VanessaE core.get_clock_microseconds() or something 22:35 celeron55 get_µs_time of course! we can use unicode in 2014, right?! 22:36 cg72 celeron55 nope whats unicode? 22:37 cg72 lol 22:38 celeron55 "i just upgraded from baudot to ascii, what is this futuristic shit" 22:40 PenguinDad lol 22:41 Kray >unicode identifiers 22:41 cg72 sorry i cant get that upgrade to fit on my 5.25 floppy 22:44 cg72 sapier >>> attempt to call field 'get_us_time' (a nil value) 22:45 VanessaE what? your build is more than 5 minutes old?! dinosaur! :D 22:46 cg72 its 6 days old 22:46 VanessaE that's about 4 days too old for that particular call 22:46 cg72 now you tell me 23:05 Sokomine rapid progress :-) 23:06 Sokomine celeron55: any further ideas how to solve that inventory-switch-problem? 23:14 Sokomine celeron55: people continue to loose items through that bug. there just isn't any reliable way for my mod to catch it. perhaps all these...switches...where items are attached to the mouse pointer (and hidden in the slot something was taken out) could be _disallowed_ only if there's a allow_metadata_inventory_put function - and allowed elsewhere 23:14 Sokomine though that might still cause trouble with locked chests 23:16 sapier Sokomine imho we schouldn't add a workaround we have to be compatible later instead of doing a real fix. Problem is a real fix will be some work 23:16 VanessaE sapier: #minetest--> 23:16 VanessaE a question for you there. 23:26 cg72 vanessa you dont want to know the speed i get now lol 23:26 Sokomine hm. i really hope there'll be a fix 23:28 PenguinDad cg72: but I want to know that ;P 23:30 cg72 10,000 times old tree 3-3.5 sec, mine .18-.21 sec jungletrees old 7.5, mine .30-.36 23:31 sapier nice 23:32 cg72 anyone remember how to sqush in terminal lol 23:32 cg72 squash** 23:33 PenguinDad you got calibre times now :D 23:33 sapier git rebase -i HEAD~ 23:33 cg72 i keep forgetting the -i lol 23:40 cg72 ok so now on th the c++ side of it 23:46 cg72 there now test and merge my code guys as its the best