Minetest logo

IRC log for #minetest-dev, 2017-02-04

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

All times shown according to UTC.

Time Nick Message
00:04 rubenwardy updated #5154
00:04 ShadowBot https://github.com/minetest/minetest/issues/5154 -- Add ItemStack key-value meta storage by rubenwardy
00:13 bkeys I compiled minetest from source and am trying out the portable option (and I built the server too). But I get this error
00:13 bkeys http://paste.fedoraproject.org/545156/48616718/
00:13 rubenwardy you need to download minetest game
00:14 thePalindrome The default game is minetest_game, not minetest
00:14 thePalindrome That too :P
00:14 rubenwardy http://github.com/minetest/minetest_game
00:14 rubenwardy thePalindrome, for some reason gameid = minetest
00:14 rubenwardy in world.mt
00:14 thePalindrome huh
00:14 rubenwardy not sure how it does that
00:16 red-001 I'm pretty sure changing it is out of the question to change that now
00:16 red-001 I'm pretty sure changing it is out of the question now*
00:17 rubenwardy ah
00:17 rubenwardy find_paths.push_back(GameFindPath(path + DIR_DELIM + id, false));
00:17 rubenwardy find_paths.push_back(GameFindPath(path + DIR_DELIM + id + "_game", false));
00:17 rubenwardy it looks for "minetest" then for "minetest_game"
00:18 rubenwardy that's subgame.cpp:84
00:19 rubenwardy then in getAvailableGameIds() it removes _game
00:25 octacian rubenwardy, red-001: why out of the question? Minetest is subject to change, I can't imagine it breaking too many things.
00:25 fling joined #minetest-dev
00:26 red-001 well it can be changed but that will mean more compatibly code
00:26 red-001 and mt-game was suppose to be separate from mt
00:31 Foz joined #minetest-dev
00:41 Robby joined #minetest-dev
01:03 STHGOM_ joined #minetest-dev
01:05 STHGOM joined #minetest-dev
01:07 baboon2 joined #minetest-dev
01:08 STHGOM_ joined #minetest-dev
01:09 baboon2 anyone knows where is the cpp code that handles the carts in 0.4.15?
01:09 Fixer carts are in lua
01:10 Fixer games\minetest_game\mods\carts\
01:10 baboon2 ah ok i thought they were integrated in the core engine as of 0.4.15
01:20 Zeno` not in the engine. added to the game
01:20 Zeno` which is in Lua
01:23 baboon2 ok thanks
01:26 STHGOM joined #minetest-dev
01:32 TheReaperKing joined #minetest-dev
01:36 DonBatman joined #minetest-dev
02:23 Miner_48er joined #minetest-dev
02:25 Tmanyo joined #minetest-dev
03:03 zorman2000 joined #minetest-dev
03:45 Zeno` joined #minetest-dev
03:48 DI3HARD139 joined #minetest-dev
03:49 DI3HARD139 joined #minetest-dev
03:51 Zeno` joined #minetest-dev
04:00 paramat #5157 needs review. simple, tested and fixes a crash
04:00 ShadowBot https://github.com/minetest/minetest/issues/5157 -- Objectpos over limit: Avoid error caused by sector over limit by paramat
04:14 paramat will merge #5167 later, fairly trivial mapgen stuff
04:14 ShadowBot https://github.com/minetest/minetest/issues/5167 -- MapgenBasic node resolver: Various fixes by paramat
04:35 paramat will also merge #5168 later, again fairly trivial mapgen stuff
04:35 ShadowBot https://github.com/minetest/minetest/issues/5168 -- Mgv6: Add stairs to desert stone dungeons by paramat
04:43 paramat bbl
04:49 lhofhansl joined #minetest-dev
05:40 paramat joined #minetest-dev
05:59 zorman2000 joined #minetest-dev
06:13 paramat added 2nd commit to #5168 also trivial
06:13 ShadowBot https://github.com/minetest/minetest/issues/5168 -- Mgv6: Add stairs to desert dungeons. Add fallback node for gravel by paramat
06:15 paramat will merge that with #5167 in 30mins
06:15 ShadowBot https://github.com/minetest/minetest/issues/5167 -- MapgenBasic node resolver: Various fixes by paramat
06:30 DonBatman joined #minetest-dev
07:14 lhofhansl left #minetest-dev
07:17 paramat will merge 5167 5168 in a moment
07:17 nrzkt joined #minetest-dev
07:23 paramat now merging to engine
07:29 paramat done
07:40 Zeno` k
08:32 Hunterz joined #minetest-dev
09:05 fwhcat joined #minetest-dev
10:14 Gael-de-Sailly joined #minetest-dev
10:15 DonBatman joined #minetest-dev
10:17 Krock joined #minetest-dev
11:21 Griff555 joined #minetest-dev
11:21 blaze joined #minetest-dev
11:27 fwhcat joined #minetest-dev
11:29 YuGiOhJCJ joined #minetest-dev
11:39 lisac joined #minetest-dev
11:47 VanessaE so, here's my weekly gripe about the entities-deletes-player, and flat-skin-or-green guy bug
11:47 VanessaE http://pastebin.ubuntu.com/23918690/  the former
11:47 VanessaE (no idea about how the latter looks)
11:50 VanessaE I'm at about 5 tries now to log into VE-C and not have one of the above happen
11:50 sfan5 i don't see a check for player objects in the code that does the deleting
11:50 sfan5 wasn't this already fixed supposedly?
11:50 VanessaE supposedly.
11:50 VanessaE but there are apparently at least two sources for the bug.
11:50 VanessaE because I've long since updated to a point after that fix.
11:55 thenoob joined #minetest-dev
11:55 sfan5 >if(!force_delete && !obj->isStaticAllowed()) should keep out the players though
12:02 sfan5 i guess adding a call to the function that prints the debug stacks to  PlayerSAO::removingFromEnvironment() might help
12:03 nrzkt sfan5, also we have a type check just after i added twoweeks ago
12:04 sfan5 where?
12:05 nrzkt just after the piece of code you mention
12:06 sfan5 i see no check for a playersao..?
12:07 nrzkt oh sfan5 where is the check...
12:08 nrzkt https://github.com/minetest/minetest/commit/2ea60156437962d7d29d20606bf5d9189059f76b
12:08 Zeno` I'm sorry but this is a mess
12:08 sfan5 oh there
12:08 nrzkt but
12:08 nrzkt where is it in master
12:08 sfan5 nrzkt: https://github.com/minetest/minetest/blob/master/src/serverenvironment.cpp#L2091
12:09 sfan5 however it has zero effects because it's inside the if(obj->isStaticAllowed())
12:09 nrzkt seems the fix has disappears
12:09 sfan5 and isStaticAllowed() is false for players anyway
12:09 nrzkt disappeared
12:09 nrzkt look at the diff
12:09 sfan5 yeah
12:09 nrzkt it's before verbosestream
12:09 sfan5 but a similar check is above
12:10 nrzkt oh maybe somebody changes this then
12:10 sfan5 nrzkt: https://github.com/minetest/minetest/commit/0eede97af2927dcda3545192403b0a44f30bcd1f
12:10 sfan5 you did
12:10 nrzkt oh right, i didn't remember
12:10 sfan5 and with your commit you made the check useless
12:10 sfan5 for reasons i explained above
12:11 nrzkt you are right
12:11 nrzkt we should restore the previous PR then, right ?
12:12 nrzkt i missed the static thing
12:12 sfan5 hm
12:12 troller joined #minetest-dev
12:12 sfan5 are players supposed to be deleted in the force_delete==true case=
12:12 sfan5 ?
12:12 sfan5 since it only happens at server shutdown
12:12 nrzkt when server shutdown the deletion is properly done
12:13 nrzkt the force_delete is not used
12:13 sfan5 it is https://github.com/minetest/minetest/blob/master/src/serverenvironment.cpp#L378
12:13 proller__ joined #minetest-dev
12:13 nrzkt hmmm exact
12:14 sfan5 it seems that it's actually intended that deactivateFarObjects deletes players in that case
12:14 nrzkt but in fact, the warning pointed at L2091 is shown when we are a player, it's very strange
12:15 sfan5 :/
12:16 nrzkt it's why i did the second pr, very very strange
12:16 sfan5 maybe the thing returned by getType() is wrong?
12:17 sfan5 sounds unlikely though
12:18 Zeno` nrzkt, did you get my email?
12:19 nrzkt Zeno`, i didn't read them, looking
12:19 Zeno` no rush. Just making sure you got it
12:20 nrzkt Zeno`, you like detached inventories right ? :p
12:20 Zeno` I'm not sure
12:20 nrzkt armor and bags use them heavily, and yes it's broadcast to all client and yes it's shit
12:20 Zeno` I am not even sure they're the problem anymore
12:20 Zeno` anyway, look at the look when you get the time
12:20 nrzkt i don't know, for the processAOmessage it's due to distance no ?
12:20 Zeno` look at the log*
12:21 Zeno` no idea now. I'm too tired after looking at it all day
12:21 nrzkt no problem
12:21 Zeno` and yes the mods are updated
12:22 Zeno` notice the timestamps between my annotations as well ;)
12:22 Zeno` bbiab
12:28 sfan5 nrzkt: having the "forcing delete" message for players is actually impossible
12:28 sfan5 it calls obj->getStaticData before
12:28 sfan5 but PlayerSAO::getStaticData has an unconditional FATAL_ERROR
12:30 fwhcat joined #minetest-dev
12:30 sfan5 nrzkt: anyway, what about this? http://sprunge.us/fCNV?diff
12:32 blaze joined #minetest-dev
12:35 nrzkt sfan5, lgtm
12:36 sfan5 pushed
12:42 sfan5 VanessaE: you might wanna recompile, the bug should not happen again ... in theory
12:46 proller__ joined #minetest-dev
13:06 proller__ joined #minetest-dev
13:10 Warr1024 joined #minetest-dev
13:11 VanessaE sfan5: ok
13:16 VanessaE done.
13:22 VanessaE seems to work, at least at the first connect anyway
13:28 sfan5 does it print a warning?
13:29 VanessaE yep
13:30 VanessaE http://pastebin.ubuntu.com/23925208/
13:30 VanessaE but I was still "in" so it worked.
13:32 sfan5 hm then that's just look for now i guess?
13:32 sfan5 s/look/luck/ wtf
13:32 VanessaE eh?
13:32 VanessaE oh maybe
13:33 VanessaE I won't know for a while yet
13:34 VanessaE the other question of course is those entities
13:34 VanessaE the block limit is 500, and after some extensive testing by tenplus1 and I, we ruled out things like signs_lib or digilines LCD as the cause
13:39 VanessaE notice how both counts increase over time.
13:40 VanessaE these are what I call "ghost" entities, because whatever they are, they're invisible and have no definite in-game source.
13:42 fwhcat joined #minetest-dev
13:47 juhdanad joined #minetest-dev
13:50 Fixer joined #minetest-dev
14:12 STHGOM joined #minetest-dev
14:19 sfan5 VanessaE: mind pasting me the raw data of the problematic mapblock as returned by this tool https://gist.github.com/sfan5/52917a0e1338bcda2176edbc416dae60#file-y_leveldb_read-cpp ?
14:19 VanessaE moment
14:22 VanessaE just need to figure out how to compile it :)
14:23 sfan5 g++ leveldb_read.cpp -o leveldb_read -lleveldb -O2
14:23 VanessaE had to add -std=c++11
14:23 sfan5 oh that's default on arch
14:24 VanessaE ok, now where did I put that paste...
14:24 VanessaE there it is.
14:25 VanessaE http://pastebin.ubuntu.com/23925553/
14:26 VanessaE that's about useless :)
14:26 sfan5 >need to sign in to download the plain text
14:26 sfan5 wtf ubuntu
14:27 VanessaE it's just a shitton of hex in one line
14:27 sfan5 yes that's correct
14:27 VanessaE moment
14:27 VanessaE I'll put the raw file up for download
14:27 sfan5 nah already got it
14:27 VanessaE oh ok
14:28 VanessaE inb4 "holy shit how does that block even load?" :)_
14:29 sfan5 didn't you say it wasn't digilines?
14:30 sfan5 VanessaE: https://0x0.st/WKh.txt
14:30 VanessaE that's what tests indicated with worledit.  there are some LCD panels and some signs in that block, but tenplus1 and I checked pretty thoroughly that each has precisely one entity
14:30 VanessaE ok then there are entities there that find_objects_in_radius() can't see
14:30 sfan5 i don't think this is what "precisely one" looks like :D
14:31 VanessaE maybe this is a bug in find_objects_in_radius() then?
14:31 sfan5 possibly
14:31 VanessaE because when I select a node with a single sign and run it on that node, I get exactly one entity for the sign and a few for the worldedit selection box stuff
14:33 sfan5 i guess it might be possible that the engine deduplicates the entities on loading them
14:33 sfan5 and thus never gets to removing all the duplicate ones(?)
14:33 VanessaE that sounds reasonable
14:34 troller joined #minetest-dev
14:40 VanessaE sfan5: so, that's something to chew on..  need some salt and ketchup for that? :)
14:43 sfan5 does also only one object appear when you use radius=2 in lua?
14:43 VanessaE good question.
14:43 VanessaE let me check
14:51 VanessaE damn it why can I never remember these commands...
14:52 VanessaE there we go
14:53 VanessaE http://pastebin.ubuntu.com/23925699/
14:53 VanessaE (with a single sign node selected)
14:53 VanessaE correction, that's with a single LCD node selected.
14:53 sfan5 :/
14:54 VanessaE (I chose one that had adequate clearance around it so that no other signs/LCDs would get included in the search)
14:54 VanessaE lemme try one at the coords from your paste
14:54 sfan5 what's your max_objects_per_block?
14:54 VanessaE 500.
14:55 VanessaE ok, the LCD indicated by your paste produces this:
14:55 VanessaE http://pastebin.ubuntu.com/23925715/
14:55 sfan5 looks correct
14:55 VanessaE (there is a sign within the "2" search radius)
14:56 sfan5 if your max_objects_per_block was 500 then all the objects in the block would have been deleted on load
14:56 sfan5 the question is why didn't that happen
14:57 VanessaE the bigger question is, why doesn't /clearobjects (quick or not) permanently delete them?
14:57 sfan5 wait it doesn't
14:57 sfan5 wut
14:57 VanessaE unless get_objects_with_radius() is broken
14:57 sfan5 clearobjects does not use the radius thingy
14:57 VanessaE yep I kn ow
14:57 VanessaE know*
14:57 sfan5 it pretty much unconditionally clears all active & static objects
14:58 VanessaE but if it's deleting the objects like it should, and signs/LCD are re-creating them because that ^^^ API call it broken, the effect is the same, yes?
14:58 sfan5 i guess
14:59 sfan5 well then /clearobjects might not be broken
15:00 VanessaE right.
15:00 VanessaE just kinda brainstorming
15:01 sfan5 the code prevents storing more than max_objects_per_block in a single MapBlock
15:01 sfan5 so the check on loading one is kinda redundant
15:03 VanessaE and yet, the number of stored objects is somehow exceeding the configured limit
15:03 VanessaE http://pastebin.ubuntu.com/23925763/  here, you can see where it managed to store one, or at least it incremented the count
15:04 VanessaE (I'm not sure why it's talking about another mapblock's coords, unless this other user who is online and actively building, is in that area)
15:04 VanessaE (actually, he isn't)
15:06 VanessaE http://pastebin.ubuntu.com/23925785/  here's a similar example from the mapblock we were talking about.
15:10 STHGOM joined #minetest-dev
15:11 STHGOM joined #minetest-dev
15:22 sfan5 i have no idea how this could happen
15:24 sfan5 VanessaE: s/verbosestream/warningstream/ here https://github.com/minetest/minetest/blob/master/src/serverenvironment.cpp#L1857 might help me debug this
15:25 VanessaE sure.
15:25 sfan5 wait actually lemme just prepare a patch with more debugging stuff
15:25 VanessaE ok.
15:25 * VanessaE closes the editor she didn't quite have time to open ;)
15:44 werwerwer joined #minetest-dev
15:47 Player_2 joined #minetest-dev
15:49 sfan5 VanessaE: http://sprunge.us/bBiV
15:49 sfan5 i think git apply can use that as input
15:49 VanessaE ok
15:50 VanessaE yep, it took it
15:50 * VanessaE compiles...
15:52 VanessaE ok, that's loaded up.
15:53 VanessaE http://pastebin.ubuntu.com/23926117/
15:54 sfan5 what
15:54 sfan5 how
15:54 VanessaE ?
15:54 sfan5 hm i guess it loaded the blocks but not activated them?
15:54 VanessaE oh the numbering :)
15:55 sfan5 can you place a player at the mapblock (-20,12,44)
15:55 VanessaE well, no one's signed onto the server yet so I can only assume something force-loaded the block
15:55 VanessaE sure, moment
15:55 sfan5 however force-loaded blocks should go through the "activation stage"... probably
15:56 VanessaE ok, I'm standing at those coords.
15:56 VanessaE http://pastebin.ubuntu.com/23926141/
15:57 VanessaE I joined near the target, then teleported there
15:57 sfan5 well it did what it is supposed to do and deleted all the objects
15:57 sfan5 however why didn't it do that before when you tested the get_objects_inside_radius thing?
15:58 VanessaE beats me
15:58 sfan5 try teleporting into the (-12,2,-146) block?
15:58 STHGOM joined #minetest-dev
15:58 STHGOM joined #minetest-dev
15:58 VanessaE doing that now
15:59 VanessaE ok, I'm there.
15:59 VanessaE a small building in the area with a few signs inside it.
15:59 VanessaE nothing else of note
15:59 sfan5 anything in the logs?
15:59 VanessaE just more of the same "forcing delete" messages
16:00 VanessaE lemme wait a minute to see if something else happens there
16:00 sfan5 are the digiline signs active inside forceloaded blocks perhaps?
16:00 VanessaE I'm not sure
16:00 VanessaE possibly, I think mesecons uses forceloading
16:00 VanessaE not sure if digilines does
16:01 sfan5 if the forceload code missed the "activation" step that would cause activeobjects not to be added to the global list and the digilines signs to think no entity is there thereby creating a new one
16:01 VanessaE ah
16:01 VanessaE that sounds reasonable, too
16:03 VanessaE this showed up shortly after I teleported away, http://pastebin.ubuntu.com/23926193/
16:03 VanessaE (a few more such messages in the log after that, with different ID numbers)
16:06 nrzkt joined #minetest-dev
16:07 YuGiOhJCJ joined #minetest-dev
16:12 sfan5 VanessaE: you can de-apply the patch, uncomment https://github.com/minetest/minetest/blob/de664b1c6d4b2bca47f918a6a865a920434bf664/src/serverenvironment.cpp#L1242 and s/infostream/actionstream/, then restart the server but DONT join with a player
16:14 VanessaE sure.
16:16 fwhcat joined #minetest-dev
16:17 STHGOM joined #minetest-dev
16:18 VanessaE ok, it's up
16:19 rubenwardy joined #minetest-dev
16:19 VanessaE http://pastebin.ubuntu.com/23926307/
16:19 sfan5 several questions arise
16:19 sfan5 also my theory from above is incorrect
16:20 sfan5 well not necessarily
16:21 sfan5 why is it trying to store stuff in block (-20,12,44) when it's not even active and miles away from the others?
16:21 VanessaE :)
16:24 sfan5 the only possibility i see is objects with incorrect coords being stored in some blocks
16:34 VanessaE if you have the storage and bandwidth to spare, you can download the raw map for local experiments
16:35 sfan5 hm
16:35 VanessaE http://daconcepts.com/vanessa/hobbies/minetest/worlds/Creative_World.tar.gz (3GB download, expands to around 3x that size)
16:35 VanessaE meanwhile, gotta run.  back later.
16:38 rubenwardy updated #5154
16:38 ShadowBot https://github.com/minetest/minetest/issues/5154 -- Add ItemStack key-value meta storage by rubenwardy
16:57 sfan5 VanessaE: your backup doesn't work
16:58 sfan5 2017-02-04 17:57:23: ERROR[Main]: src/main.cpp:ef: int main(int, char **): A fatal error occured: LevelDB error: IO error: Creative_World/map.db/MANIFEST-3489868: No such file or directory
17:38 DonBatman joined #minetest-dev
17:45 xerox123 joined #minetest-dev
17:58 VanessaE sfan5: shit.
17:58 VanessaE could I just send you the missing manifest file?
17:58 sfan5 dunno
17:59 sfan5 you could test my code on your db though
17:59 VanessaE hm, nope.  the filename is already different
17:59 VanessaE sure
17:59 sapier joined #minetest-dev
18:00 sfan5 https://kitsunemimi.pw/i/d918c5bb66f54d8f.txt
18:00 sfan5 oh my ssl cert
18:00 sfan5 well just use a http link for now
18:01 VanessaE ok and what am I applying this on top of?
18:01 sfan5 master
18:02 VanessaE ok
18:04 VanessaE hm.  that's odd, in my compress-worlds script, the whole map.db is grabbed in one go.  that file shouldn't be missing.
18:05 VanessaE ok that patch is in place.
18:07 VanessaE so far, I just see a bunch of "trying to store", starting at id=1 with 664 objects in the block
18:07 sfan5 that would mean this isn't the problem
18:07 sfan5 then i'm out of ideas
18:08 sfan5 tho keep the patch applied, maybe it comes up with something sometime
18:08 sapier #5068 any comments? this allows updating animation framerate without resetting animation to start
18:08 ShadowBot https://github.com/minetest/minetest/issues/5068 -- Fix animation frame_speed and blend loosing precision due to incorrec… by sapier
18:09 VanessaE :(
18:09 sapier and fixes some loss of precision due to incorrect datatypes
18:10 VanessaE sfan5: what precipitates the name of that manifest file?  I looked at the backup that was generated on Monday (which is where the downloadable file comes from), and it has a manifest, with a different ID number
18:10 sfan5 dunno
18:11 VanessaE and the server instance is always offline when the backup is made
18:11 sapier and #5073 please too it's a major improvement for 3d modes ... yes I know those aren't used by a lot of ppl atm
18:11 ShadowBot https://github.com/minetest/minetest/issues/5073 -- Stereo: replace toe-in by off-axis method (rebased #3620) by sapier
18:24 * VanessaE rebuilds the downloadable backups with --hard-dereference added.
18:28 VanessaE sfan5: re-download the backup and try again. it compresses and uncompresses cleanly now.
18:28 VanessaE (idk if the backup "works" but there were no errors)
18:30 Miner_48er joined #minetest-dev
18:30 VanessaE meanwhile, that patch has not produced any result yet.
18:31 DFeniks joined #minetest-dev
18:35 sapier hmmm vanessae seems to be more carefull then the gitlab guys :-) good
18:36 VanessaE heh
18:36 VanessaE wisenheimer :)
18:36 sapier those guys did have multiple levels of backups but when they needed it last weekend none did work flawless
18:39 sapier talking about "hmmm" ... well not exactly, but using the name ;-) did anyone see him lately?
18:39 VanessaE I heard he left.
18:39 sapier sad to hear
18:40 sapier but better leave then ...
18:49 VanessaE I'm not entirely sure why he left
18:50 rubenwardy probably burnout, tbh
18:50 Taoki joined #minetest-dev
18:51 sapier that's not good hope he get's better soon
18:51 VanessaE :-/
19:12 juhdanad joined #minetest-dev
19:16 sapier hmm does anyone know where github stores it's data? maybe we should have look for european solutions ... unless we wanna pay taxes :-/
19:17 juhdanad What is the problem with Github?
19:17 Krock lolwhat? is trumpy going to stand on the internet cables?
19:18 sapier welll problem ain't github but americans going crazy ;-)
19:18 sapier ok in fact only some americans, sadly the most powerfull one too
19:23 sapier crazy world the bad-country of 20th century seems to become the good-country of begining 21st ...
19:25 sapier but back to minetest what about #5068? ;-)
19:25 ShadowBot https://github.com/minetest/minetest/issues/5068 -- Fix animation frame_speed and blend loosing precision due to incorrec… by sapier
19:28 Calinou sapier: I don't think GitLab is hosted in the EU either
19:28 Calinou and switching away from GitHub would result in an obvious loss of popularity
19:28 sapier that's the bad thing about it almost everything is from us
19:29 sapier well Calinou I was more talking about preparing a plan "b" just in case
19:38 nerzhul sapier, github is geolocalized but it's an american company like gitlab
19:39 sapier well the gitlab guys have some backup issues ;-) yet that'd be irrelevant anyway if they're a american company too
19:39 nerzhul sapier, is there any news on crazy trump is missed, triggering some fear from you ?
19:40 nerzhul sapier, yeah, it affect only the database, and i think now they know they should do better? I'm very surprised they only have 2 db
19:40 sapier not exactly trump more the court decision claiming any american company having to provide any data stored anywhere in world
19:40 nerzhul but it was already the case before trump
19:40 sapier which is exactly different to court decision of last week where microsoft didn't have to doo that
19:41 sapier well I didn't limit my concerns to the primary bad guy ;-)
19:42 sapier but yes there's no reason for immediate actions by now as I said ... just thinking about options in case we need it
19:43 rubenwardy may be worth saving all the PRs and issues
19:43 est31 gitlab is fucking slow
19:43 est31 but i dont really care
19:44 sapier est31 if they have only one db we now now why too ;-)
19:44 sapier now know
19:44 nerzhul rubenwardy, gitlab can import all github pr and issues :p
19:44 rubenwardy they also like deleting them randomly :D
19:44 nerzhul gitlab CI is very very nice, we can publish easily snapshot builds :p and use docker for builing our apps
19:44 est31 either way, I think github will move countries before trump will hurt them
19:44 est31 also, they are a company,trump never hurts companies
19:45 nerzhul est31, i don't think it's possible, they are using AWS, and what about Amazon itself, Azure and Google Cloud ? They are american, they own the server who contains everybody on public cloud datas
19:45 sapier est31 depends on court decisions if the new style of deciding from fbi vs google will become official way of interpretation that wouldn't help
19:45 est31 what is the actual threat you want to protect from?
19:46 sapier I don't believe github will switch their company heat out of america
19:46 sapier company head ... grr
19:46 est31 trump finding out that you develop a block game`
19:46 est31 ?
19:46 est31 nothing scary about that
19:46 nerzhul it's not simple to change your company head location, having many fake societies is easy
19:47 sapier est31 well to be honest I don't believe there's any way to really protect yourself from american agencys you just can make it a little bit difficult
19:48 est31 *shrug*
19:49 est31 you will probably lose many contributors
19:49 sapier est31 as mentioned for the time beeing just a plan "b"
19:49 est31 yeah
19:49 est31 you know whats american too?
19:49 est31 biggest nuke arsenal in the world
19:49 est31 trump has direct access to it
19:50 juhdanad I don't understand... Why is Github bad suddenly?
19:50 sapier true ... and most powerfull military forces
19:50 est31 and he has the temper of a little child. single judge makes him go crazy
19:50 nerzhul i don't know juhdanad , but github is and was always bad, because one enterprise has all major repositories, like sourceforge at a moment
19:50 sapier juhdanad: it's not about github
19:51 est31 well idk, I think trump is powerful, but he doesnt seem to want to interfere with github
19:53 sapier est31 for sure he will interfere directly but transforming most powerfull democracy in world to some sort of tyranny most likely will have sideeffects to any american company
19:54 nerzhul sapier, yeah, i think he is a purely nationalist, like Marine Le Pen in france, but there are some rules if he doesn't want to trigger WW3
19:54 est31 idk, if usa becomes a tyranny I feel we have bigger problems than the repo for some open source game
19:55 sofar ya thunk?
19:55 est31 also, what nerzhul says
19:55 DI3HARD139 joined #minetest-dev
19:55 sapier nerzhul: I don't think he does care about triggering ww3 or not that's why I believe him to be dangerous
19:55 sofar hmm #politics
19:55 est31 maybe move to #minetest-project ?
19:55 sapier yes sofar is right :-) not correct channel
19:56 sofar =)
19:56 Fixer remember google code? :trollface:
19:56 nerzhul in France there are elections this year, and... big political parties are just dangerous, because they are against people
19:56 Fixer now imagine this to github
19:56 est31 elections this year in germany too
19:56 Fixer or imgur
19:56 sapier :-) what about #5068 (every good thing is three)
19:56 ShadowBot https://github.com/minetest/minetest/issues/5068 -- Fix animation frame_speed and blend loosing precision due to incorrec… by sapier
19:56 Fixer i need to stop using imgur for sure
19:56 nerzhul Fixer, google code was down because of GH. GH doesn't have a challenger atm
19:56 sofar let's discuss the flowerpot and frame mods I made - should I submit them to minetest_game?
19:56 sofar anyone?
19:56 sofar :)
19:56 red-001 why would you have to pay tax??
19:57 sapier est31 true but for the moment risk germany falls to any radical party is minor (yet bigger then anytime before since ww2)
19:57 sapier flowerpot and frame?
19:58 sofar https://forum.minetest.net/viewtopic.php?f=9&t=16574 https://forum.minetest.net/viewtopic.php?f=9&t=16585
20:01 Fixer juhdanad: github is not bad in itself, it is just huge size of it, lots of project rely on it, now imagine closing of it... that will be a lot of headache for everybody
20:02 sapier sofar: not sure about the frame mod but flowerpot seems nice to me
20:03 rubenwardy agreed - it's pretty
20:07 sofar why not the frame? awww!
20:08 red-001 what is the general option on security for client-sided scripting?
20:09 nerzhul which option ?
20:09 red-001 it seems that lua hasn't had any major bugs that would allow a sandbox escape as long as there is no bytecode loading, but it's still possible for it to take up all the system memory
20:09 red-001 ehh I meant opinion
20:10 red-001 not sure how I managed to misspell it so badly
20:12 rubenwardy It should be very high priority, imo
20:19 red-001 are most people ok with a malicious server being able to crash or lag the client as long as it can't destroy the system/install malware
20:19 rubenwardy that's fine
20:19 rubenwardy well
20:19 rubenwardy using too many system resources isn't
20:19 red-001 or is a separate process with limitations on memory usage/cpu ussage needed
20:20 sfan5 that's way too much work
20:20 sfan5 as you need to somehow pass messages between then
20:20 sfan5 them*
20:20 red-001 I agree
20:21 red-001 well it might be possible to make attacks like that harder
20:21 red-001 by limiting the input to certain apis
20:21 rubenwardy having a separate process would also allow you to benefit from not having client scripting block rendering
20:21 rubenwardy but it is a lot of work
20:22 sfan5 that sounds like it would go into the "stupid limitations" territory way too fast
20:22 rubenwardy true
20:24 red-001 true
20:25 nerzhul make it working with good security, sufficient security for first released, and improve it after if needed
20:25 rubenwardy ideally we'd also start a bounty scheme for this. But - money
20:27 nerzhul before talking about making money, just finish the dev on the branch and merge it.
20:30 thatgraemeguy joined #minetest-dev
20:33 xunto joined #minetest-dev
20:47 est31 limiting CPU or memory is very very hard
20:48 est31 better not attempt it
20:48 est31 everything else should be limited
20:48 sapier let os do cpu and memory things that's what it's purpose is
20:49 est31 yeah
20:50 sfan5 est31: it's not hard, use the apis provided by the os
20:51 est31 you can do cpu limiting using cgroups I think
20:51 est31 but these things would best benefit from a separate process ...
20:51 sfan5 you don't need cgroups
20:51 est31 also, would be hard to port it to all OSs minetest supports
20:52 est31 sfan5: ?
20:52 sfan5 https://linux.die.net/man/2/setrlimit
20:52 sfan5 RLIMIT_CPU / RLIMIT_RSS
20:52 sfan5 s/_RSS/_DATA/
20:53 est31 interesting
20:53 est31 didn't know
20:53 est31 good catch
20:53 est31 still, it would benefit from a separate process
20:53 est31 bc then only the script process crashes
20:53 sfan5 it only really works in a seperate process
20:53 sapier est31 nope using os specifics will just cause trouble
20:54 sfan5 sapier: you're forced to use os specifics for things like this
20:54 est31 ^ i guess there is no way around this
20:54 sapier I wouln't do things like that for a game
20:54 red-001 ^
20:54 red-001 I think the game crashing if the scripting crashes is a good thing anyway
20:54 sapier any reasonable os will provide ways to kill a programm running havoc
20:55 est31 it still gets played
20:55 est31 and most times on the same endpoints the people use for online banking
20:55 red-001 lets the mod authors know the messed up badly
20:55 est31 I want to be safe to play minetest on my computer
20:55 est31 and not fear that someone gets hold of my github account and can push shit to minetest repo
20:55 red-001 lua is quite safe as it has an internal vm
20:55 sapier est31 then don't hide the problems but make program abort
20:56 sfan5 red-001: no
20:56 sfan5 lua's vm contributes nothing to security
20:56 sapier usually adding workarounds just takes pressure from ppl to do things right
20:56 sfan5 it's just there because they use bytecode
20:56 sapier and cpu/memory limits are a workaround
20:56 sfan5 it takes pressure from people? wut
20:57 sfan5 if your client side mod gets killed because of cpu usage
20:57 est31 sapier: what would be the way to do it right
20:57 red-001 sfan5, so you would prefer to execute untrusted assembly?
20:57 sfan5 you can't just say "i dont care"
20:57 sfan5 red-001: that's not what i'm saying, i'm saying that luas vm is not designed as a security measure
20:57 sapier e.g. if game still runs but runns slow someone will have a fast cpu and tell "works for me" .
20:57 est31 I dont think luajit has ever been audited security wise
20:57 est31 I bet its full of holes
20:57 sfan5 that problem is impossible to eliminate
20:58 sapier sfan5: it's gonna get killed anyway
20:58 sapier if you limit cpu usage to 50% you'll just make it more difficult to decide what's reason
20:58 sapier 100% cpu usage is obvious
20:58 sfan5 i agree that cpu / memory limiting are not perfect solutions
20:59 sfan5 and it would be best if we are not forced to add them
20:59 est31 I too think they are not important
20:59 est31 what is important that nobody can execute code as the user who plays the game
20:59 sapier I'm completely against adding it because it's stuff a game is NOT supposed to do that's cpu stuff
20:59 sapier os stuff
20:59 est31 either way, gotta go
20:59 est31 bye
21:00 red-001 I don't think a major bug in lua jit is more likely the a similar one in minetest
21:00 sfan5 a buffer overflow in luajit would be way easier to exploit than on in minetest
21:00 sapier I agree to est31 stop malicious code is most important
21:01 red-001 so maybe use normal Lua?
21:01 sapier and malicious code usually tries to hide and not cause 100% cpu or memory usage
21:02 sfan5 cpu or mem limits are not supposed to stop malicious code
21:02 red-001 lua should have a lot more testing done on it
21:02 sfan5 they are supposed to stop code that uses way too many resources
21:02 sfan5 which player won't want
21:02 sfan5 (for something as unimportant as clientside mods)
21:02 sapier sfan5: yes but player already has wayst to prevent this ... better ways then everything we can do in minetest
21:03 sfan5 and those are?
21:03 red-001 limit the amount of memory minetest can use?
21:03 sapier so while I agree this is a interesting task and I understand why you're curious to try it ... I believe it's nothing for minetest
21:04 sfan5 i don't want to try it, it's hard and adds lots of additional complexity
21:04 sapier sfan5: 1) taskmanager/ shell (kill) 2) remove the broken mod
21:04 sapier simple and easy
21:04 sfan5 client-side scripting uses mods sent by the server
21:04 sapier then even more easy
21:05 sapier kill and don't connect to server once again
21:05 sapier server admin will realize noone connecting
21:05 sfan5 you expect the kids to understand that?
21:06 red-001 yeah
21:06 sapier sfan5: I expect ppl to understand "if I connect to that server minetest will hang" yes
21:06 red-001 if they are running a server then yes
21:06 sfan5 we're talking client-side here
21:06 sapier if they don't understand this they probably will have issues understand why moving that device next to the keyboard will cause cursor to move too
21:07 sfan5 I wouldn't be so sure of that
21:07 red-001 really servers can already make the game unplayable
21:07 sapier sfan5: maybe but we can't solve all worlds issues
21:07 sapier and reliably limiting cpu usage for all os in all versions is a task we just can't handle
21:07 red-001 e.g by sending so many textures it takes about 10 hours to connect to spawning particles or entities all over the place
21:08 sfan5 sapier: that's correct, but in theory it can be done for linux -> android which is a major platform
21:08 sapier especially as most os require root/admin privileges to set cpu limits which reduce security instead of increase it
21:09 sfan5 linux doesn't
21:10 sapier sfan5 maybe but linux does require root privileges to change to roundrobin scheduler thus you'd still be in same thread after cpu limit hit
21:10 sapier so you'll never have a chance to detect the cpu limit hit from within this proces ---> still hanging
21:10 sfan5 why do you need to change the scheduler to use setrlimit() ?
21:11 sapier you don't but the limit wont help if you intend to preserve minetests responsiveness
21:11 sfan5 well if you don't put the lua stuff into a seperate process you won't be able to limit it appropriately
21:12 sapier yes then you need ipc ... adding all that stuff just to prevent lua mods from doing same as textures?
21:12 sapier I don't see the actual benefit
21:12 sapier especially as you're talking about linux users which usually will understand reason <-> cause relationship
21:13 sfan5 you are correct it's way to much work to have a benefit
21:13 sfan5 however android is also linux
21:14 sapier true but there android already does way more limiting stuff
21:20 red-001 ^
21:21 red-001 it takes quite a bit of work to downright crash android itself
21:21 red-001 and not just make the app close
21:22 red-001 plus I doubt android give enough access to apps to do something like that
21:53 YuGiOhJCJ joined #minetest-dev
22:02 diemartin joined #minetest-dev
22:03 Miner_48er joined #minetest-dev
22:09 rubenwardy merging #5154 in 20 minutes
22:09 ShadowBot https://github.com/minetest/minetest/issues/5154 -- Add ItemStack key-value meta storage and per-stack descriptions by rubenwardy
22:10 juhdanad You can see a bug report on #minetest.
22:10 juhdanad By Spidergirl321
22:10 rubenwardy debug_log_level? Yeah, that should crash more gracefully
22:10 rubenwardy well, it shouldn't crash at all
22:21 shamoanjac joined #minetest-dev
22:25 Ritchie joined #minetest-dev
22:30 rubenwardy merging #5154...
22:30 ShadowBot https://github.com/minetest/minetest/issues/5154 -- Add ItemStack key-value meta storage and per-stack descriptions by rubenwardy
22:39 ShadowNinja rubenwardy: I really don't like that serialization method something standard like JSON would be much better.
22:40 rubenwardy agreed
22:40 rubenwardy preparing PR...
22:44 ShadowNinja rubenwardy: Great :-)  It would be great if you got proper typing to work too so you're not just storing everything as strings.
22:45 rubenwardy yeah
22:45 rubenwardy separate issue though - node meta has always been untyped
22:45 rubenwardy *atyped
22:46 Fixer /clearobjects uses only one core?
23:03 sapier1 joined #minetest-dev
23:04 DI3HARD139 joined #minetest-dev
23:06 rubenwardy what should I use as a value to indicate the meta is of the new format?
23:07 rubenwardy the problem with always attempting to JSON parse and doing backwards compatibility on fail is that strings in the old format may already be in JSON
23:15 Ellitrix joined #minetest-dev
23:19 rubenwardy ShadowNinja: #5176
23:19 ShadowBot https://github.com/minetest/minetest/issues/5176 -- Use JSON serialize to store ItemStack Metadata by rubenwardy
23:19 diemartin joined #minetest-dev
23:21 DonBatman joined #minetest-dev
23:21 sofar Fixer: yes, that's entirely single threaded anyway
23:23 ShadowNinja rubenwardy: I'd remove the start character completely and just unconditionally set the "" field to the original string.
23:25 ShadowNinja Just try the serialization and skip it if it fails (and maybe print something to warningstream or infostream).
23:25 rubenwardy if there's no "" in the table though
23:25 ShadowNinja Yeah, you can check that first.
23:25 sfan5 using an empty key sounds like a bad idea
23:25 sofar rubenwardy: "How to properly detect old serialization (rather than #)"
23:26 sofar rubenwardy: did you mean "before this PR" or using get_metadata() ?
23:26 sfan5 (for a modder not for this compat scheme)
23:26 rubenwardy metadata()
23:26 sofar come to think of it, I'd ignore it either way
23:26 sofar mods can safely convert
23:27 sofar if you convert the data you will actually break mods, too
23:28 sofar if you leave it as is, nothing breaks (just uses the old method)
23:28 Void7 joined #minetest-dev
23:30 ShadowNinja rubenwardy: also, there's a space missing after the error message you added.
23:30 ShadowNinja (before the JSON root)
23:31 rubenwardy thanks
23:31 sfan5 "Malformed ItemMeta!" is a quite bad error msg
23:31 rubenwardy it's temporary
23:31 sfan5 and i agree with the  just unconditionally set the "" field to the original string. thing
23:31 sfan5 the error msg should be "ItemStackMetadata::deSerialize(): Data looked like a JSON string but failed to decode, ignoring!"
23:33 rubenwardy what if a mod isn't updated, and still uses get_metadata()? Eg: set_metadata("foobar")   get_meta():set_string("foo", "bar") gives you {"":"foobar","foo":"bar"} which will be the output of get_metadata after load
23:35 ShadowNinja rubenwardy: Don't write that field when serializing.
23:35 rubenwardy so set_metadata() will be lost then?
23:36 ShadowNinja Or rather, if that field exists, write it out, and if it doesn't then serialization an object.
23:37 ShadowNinja Using both APIs can be left as undefined behavior or something, as long as there's a defined way to update to a JSON system.
23:48 rubenwardy updated: #5176
23:48 ShadowBot https://github.com/minetest/minetest/issues/5176 -- Use JSON serialize to store ItemStack Metadata by rubenwardy
23:57 jomatv6 joined #minetest-dev

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