Minetest logo

IRC log for #minetest-dev, 2015-09-15

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

All times shown according to UTC.

Time Nick Message
00:00 Ardonel joined #minetest-dev
00:47 OldCoder hmmmm, thank you. That answers something I was wondering about; //deleteblocks did not seem to affect entities that I could see.
00:48 OldCoder
00:48 OldCoder Say, I'll mention something funny I've noticed. VE says she may have seen it too. Probably nobody can comment yet...
00:49 OldCoder But VE's remarks about creatures falling to the bottom of the universe reminds me, I often see mobs skyrocketing straight up without explanation
00:49 OldCoder Santa, animals, whoose, they shoot straight up and out of site
00:49 OldCoder whoosh! *
00:49 OldCoder Perhaps traveling to the stars. If Rocket Mobs is not an intentional feature, perhaps this should be noted.
00:49 OldCoder
01:47 everamzah joined #minetest-dev
02:18 AnotherBrick joined #minetest-dev
03:50 Fritigern joined #minetest-dev
03:56 asl97 joined #minetest-dev
05:43 Hunterz joined #minetest-dev
06:07 nrzkt joined #minetest-dev
06:35 asl97 joined #minetest-dev
07:13 cvtsx joined #minetest-dev
07:26 nrzkt joined #minetest-dev
07:43 werwerwer joined #minetest-dev
08:08 T4im joined #minetest-dev
08:08 Darcidride joined #minetest-dev
08:38 Ardonel joined #minetest-dev
08:49 H-H-H joined #minetest-dev
09:13 FR^2 joined #minetest-dev
10:04 Darcidride_ joined #minetest-dev
11:45 lisacvuk joined #minetest-dev
11:52 Darcidride joined #minetest-dev
11:59 RealBadAngel joined #minetest-dev
11:59 Megaf T4im: I see, here I'm running GNOME (ON) Wayland
11:59 Megaf Mutter is the compositor itself, I think
12:38 DFeniks joined #minetest-dev
13:03 rickmcfarley joined #minetest-dev
13:03 rickmcfarley joined #minetest-dev
13:06 Megaf_ joined #minetest-dev
13:34 numZero joined #minetest-dev
13:59 Megaf joined #minetest-dev
14:18 nrzkt joined #minetest-dev
14:29 lisacvuk joined #minetest-dev
14:42 CraigyDavi joined #minetest-dev
14:47 leat1 joined #minetest-dev
15:05 Siva joined #minetest-dev
15:16 Sokomine OldCoder: i think those mobs where heading upwards and didn't receive an update of their trajectory in time. it was very fun in earlier implementations of sapiers mobf (which used to need heavy ressources to spawn the mobs) to see fish take off and head up into the sky
15:25 DFeniks i might have seen mobs jump up in sky too , not sure. but it reminds me i frequently see unknown entities flying slowly over water , i encountered them on Xanadu and VanessaE's Survival . too bad i can barely reach f12 even when i remembered about screenshot feature . sorry no screenshots yet
15:25 Calinou joined #minetest-dev
15:26 red1 joined #minetest-dev
15:33 leat1 joined #minetest-dev
15:39 red1 joined #minetest-dev
15:46 Sokomine DFeniks: that's normal behaviour. unkown entities come from entities that once existed but got renamed or removed afterwards. these entities continue to move on
15:47 DFeniks great , afterlife for entities , ghosts of mobs ...
15:48 Megaf a /clearobjects should wipe them out
16:02 est31 joined #minetest-dev
16:10 blaze joined #minetest-dev
16:11 hmmmm joined #minetest-dev
16:12 Hunterz joined #minetest-dev
16:19 Amaz joined #minetest-dev
16:26 Siva joined #minetest-dev
16:32 H-H-H joined #minetest-dev
16:32 Robert_Zenz joined #minetest-dev
16:36 Krock joined #minetest-dev
16:37 Taoki[mobile] joined #minetest-dev
16:38 est31 nanepiwo, fixing the error you pointed out
16:38 est31 what is your github handle nanepiwo ?
16:40 nanepiwo what's a handle?
16:41 est31 user name
16:41 nanepiwo nanepiwo
16:41 nanepiwo the issue is #2825 if you're looking
16:41 ShadowBot https://github.com/minetest/minetest/issues/2825 -- Entities outside of map borders.
16:45 est31 hmmmm, can you have a look at https://github.com/est31/minetest/commit/d2ea4a23c167db19fc166991f2c508472ba22b46
16:51 VanessaE est31: that looks workable for spawning an entity, but what about entities that wander out of bounds after spawning in-bounds?
16:52 est31 VanessaE, that's for later when I've read that code
16:53 VanessaE ok.
16:53 VanessaE just making sure it doesn't get forgotten.
16:53 est31 also, note that this patch needs modder interactions
16:54 est31 e.g. with the example command provided by nanepiwo you can still crash the server just now its a problem of the mod xD
16:54 est31 because minetest.add_entity returns nil ::)
16:54 est31 perhaps I should point that out
16:54 hmmmm est31, couple things here...
16:55 hmmmm the name.  isInsideF1000
16:55 hmmmm that isn't very intuitive... I'm not sure what else to say
16:55 est31 ideas for better names?
16:55 est31 I dont like it either
16:55 Niebieski joined #minetest-dev
16:56 est31 isLegalF1000?
16:56 hmmmm no
16:56 hmmmm something with bounds
16:56 hmmmm CanFitWithinF1000Bounds()?
16:56 hmmmm but the thing is
16:56 est31 isInsideF1000bounds() is shorter
16:56 VanessaE IsInBoundsF1000 ?
16:56 hmmmm it's not about whether an object should be within the bounds or not
16:56 hmmmm an object should always be within the map
16:57 hmmmm third, memory leak where you do the checking
16:57 hmmmm you need to if (object->environmentDeletes()) delete object;
16:58 est31 ah
16:58 hmmmm fourth, this does not cover all the cases
16:58 VanessaE I noticed that, wasn't sure if I was right.
16:58 hmmmm what about object movement
16:58 hmmmm etc. etc.
16:58 est31 hmmmm, this is only about adding
16:58 nrzkt joined #minetest-dev
16:58 hmmmm so what do you think about checking against the map limits
16:58 est31 hmmmm, right now you can crash many servers with a simple command because you have added an assert
16:59 est31 and I now try to fix the largest bug
16:59 est31 and you say "this is not enough"
16:59 est31 ofc it is not enough
16:59 hmmmm many servers are NOT running as debug
16:59 est31 but right now I want to provide the immediate patch
16:59 hmmmm this 'crash' only happens with debug builds
16:59 nrzkt assert is not run in release mode
16:59 est31 like those from the ppa
16:59 nrzkt and permit to find bugs :)
16:59 est31 the ppa is built in debug mode
16:59 nrzkt if the PPA maintainer does shit, tell him
17:00 hmmmm well that's kind of boneheaded
17:00 hmmmm sounds like the PPA maintainer's problem, not ours
17:00 est31 hmmmm, there is none :)
17:00 hmmmm the whole reason why the assert is there is to help us discover places where objects go out-of-bounds and fix them
17:00 hmmmm this is way better than failing silently
17:00 est31 why did it have to be a crashing message?
17:01 est31 why not just log to errorstream
17:01 est31 and done
17:01 hmmmm nobody listens to errorstream unless something visible happens
17:01 hmmmm I guess you could log to errorstream, it's just that you don't normally want to add logging.h to util/serialize.h
17:01 hmmmm that's a fairly hefty include
17:01 est31 well, then put it in serialize.cpp
17:01 hmmmm also, every single call will have that inlined
17:02 hmmmm that's such a slowdown
17:02 est31 shrug
17:02 est31 meh no
17:02 est31 the cpu will learn to predict the other case
17:02 est31 and not load the instructions
17:02 est31 so no slowdown
17:03 hmmmm that doesn't matter, the fact is the call to errorstream operator <<
17:03 hmmmm is still there
17:03 hmmmm along with all the arguments
17:03 hmmmm this will trash the icache where it normally shouldn't be
17:03 est31 but yeah I guess once an object gets inside dangerous territorry it will spam errorstream
17:03 hmmmm thrash rather
17:03 hmmmm there are a lot of problems here
17:03 hmmmm but the main problem is that before I made that change, F1000s silently failed to serialize and objects would seemingly warp to other parts of the map
17:04 hmmmm honestly I'd rather fix that and be able to remove the assert
17:04 est31 thats better than providing people with the opportunity to do /area_pos1 99999999,0,0 and crash the server
17:04 hmmmm again, they shouldn't be running a debug build
17:04 hmmmm that's THEIR problem, not ours
17:04 hmmmm and I am totally against "fast" fixes
17:04 hmmmm i want things done right
17:05 T4im but once you fix the issue, wouldn't the assert finally be reasonable? :P as in, asserting that it can't happen anymore?
17:05 hmmmm i suppose so
17:05 hmmmm ugh
17:05 hmmmm fine
17:05 est31 hmmmm, you always want things perfect
17:05 hmmmm we'll put writeF1000 into serialize.cpp, make it not inlineable, and spit out an errorstream message
17:05 nrzkt i think coordinates should be tested in EVERY lua call
17:05 nrzkt this is the solution :)
17:05 hmmmm honestly yeah ^
17:05 nrzkt and trigger an exception if shit is done
17:06 hmmmm but this error condition can happen purely within the core I believe
17:06 est31 lua is only an interface
17:06 est31 yea
17:06 est31 imagine falling object
17:06 nrzkt yes but lua permit to do those things.
17:06 nrzkt falling object is lua
17:06 nrzkt adding a out of bound check in the luaentitysao is the solution here.
17:06 est31 wtf object physics are lua?!
17:06 VanessaE a falling entity is exactly the thing here.
17:06 hmmmm if an object tries to move outside the map I think it should simply not move any further
17:06 est31 yea
17:07 VanessaE spawns in a normal area,. falls down a deep hole, finds its way to the map border, boom
17:07 hmmmm adding objects outside of map boundaries should fail
17:07 hmmmm forget the serialization limits for F1000 for now
17:07 est31 but hmmmm this is not what my patch is about
17:07 T4im coordinate min/max? :)
17:07 hmmmm ell
17:07 hmmmm wlel
17:07 est31 my patch is about ADDING objects to the map
17:07 est31 not about moving objects
17:07 est31 they are statically
17:07 est31 floating
17:07 est31 not moving
17:07 hmmmm scrap the patch, and just change the assert to an error logging thing
17:07 est31 no, you conviced me now, no error logging
17:07 hmmmm that's a "quick fix" albeit one that's sort of gross
17:07 est31 it will spam everything
17:08 hmmmm eh
17:08 est31 hmmmm, is there a generic method for checking world bounds?
17:08 hmmmm yes
17:09 hmmmm blockpos_over_limit()
17:09 rubenwardy joined #minetest-dev
17:10 est31 but that doesn't really fit actually
17:10 kahrl oh wow, does this really read the setting every time?
17:10 est31 I mean its mostly about mapgen
17:10 est31 no
17:10 kahrl it's called in the inner loop of RemoteClient::GetNextBlocks
17:10 est31 const static
17:11 kahrl oh, yeah
17:14 ElectronLibre joined #minetest-dev
17:24 Krock joined #minetest-dev
17:26 est31 ok new version https://github.com/est31/minetest/commit/3bd6885b605189ef2f07910c8f93664e3eea7898
17:27 est31 even newer one https://github.com/est31/minetest/commit/c0b5324e929c56e9dc09a6a531716624e2d0875e
17:29 VanessaE est31: that won't work
17:29 nrzkt seems good for newer objects
17:29 VanessaE the mapgen limits are different at each end/on each axis
17:30 nrzkt i use a similar patch to remove unneeded saved entities :)
17:31 est31 VanessaE, but they are inside F1000 bounds, right?
17:32 VanessaE that I can't be sure of
17:32 est31 I'm very sure of that its much more than 31k
17:32 est31 much much more
17:33 VanessaE I'm just saying that at the negative end (of a full map) it's -30912, but at the positive ends it's 30927 or some such
17:36 VanessaE and MAX_MAP_GENERATION_LIMIT is greater than either of those, by default (31000 even)
17:37 hmmmm eh
17:37 hmmmm instead of objectpos, what's wrong with nodepos
17:37 hmmmm blockpos checks block coordinates
17:37 hmmmm oh i see, it compares a v3f
17:37 est31 yea
17:37 hmmmm yeah, looks fine to me.
17:38 est31 but what VanessaE is likely true though, its not perfectly aligned to the border (a bit farther) is that ok?
17:39 hmmmm in an ideal world we'd never get objects trapped in areas outside the map
17:39 hmmmm MAP_GENERATION_LIMIT is a decent compromise imo
17:40 est31 well, lua would have to check
17:40 est31 but I don't think this is how we should do things
17:40 est31 providing unsafe API to lua
17:40 est31 rather we should make it a nice sandbox
17:41 est31 s/things/this/
17:45 est31 pushed
17:45 est31 now the areas mod only has to check for add_entity to return nil
17:45 est31 nanepiwo, wanna file a bug?
17:46 est31 I'm gone
17:46 est31 bye
17:48 kahrl wait a second, isn't there a * BS missing
18:06 nrzkt kahrl, exact, object->getBasePOsition() / BS should be
18:06 nrzkt else this will remove many many objects :p
18:06 nrzkt because limit will be 3200 not 32k :)
18:08 nrzkt sorry 320k
18:09 nrzkt then the fix has no effect
18:11 AnotherBrick joined #minetest-dev
18:17 leat1 joined #minetest-dev
18:20 domtron joined #minetest-dev
18:30 leat1 joined #minetest-dev
18:40 ShadowBot joined #minetest-dev
18:40 OldCoder Sokomine, does this mean I have sheep collected on the roof of the Universe?
18:54 leat1 joined #minetest-dev
18:54 Sokomine OldCoder: they just appear to shoot upwards forever on the client's side. i have no idea what happens server-side. the server didn't have enough time to correct their movement...no idea where the entities end up. old mapblock? the one where they happened to be in by chance? the topmost loaded one?
18:56 Sokomine but...if you find any flying sheep...take a screenshot :)
18:57 OldCoder They whoosh up too quickly
18:57 OldCoder Zoom!
18:57 OldCoder To the Moon!
18:57 OldCoder Sometimes in groups
18:57 OldCoder Flying crocs are a sight to see
18:58 OldCoder It is unnerving :P
18:58 OldCoder Fortunately it is not all the time. I am more concerned about a random number issue.
18:58 OldCoder Scroll up a day and see the discussion between C55 and myself on the issue.
18:58 OldCoder I think the RNG in MT is fundamentally broken.
18:58 OldCoder
18:59 OldCoder Mobs created by totally different mods, even those with different APIs, and with low-probably spawning...
18:59 OldCoder spawn in clumps on exactly the same nodes
18:59 OldCoder Try increasing active_object_count to 32 and see what happens
18:59 OldCoder The primary requirement is that mobs need to have the same interval and chance
19:00 OldCoder That chance often triggers at exactly the same time for a dozen mods
19:00 OldCoder Even though I have looked closely at the C++ code and it should not
19:00 OldCoder
19:03 Sokomine OldCoder: oh. i thought that was deliberate, that spawning in groups. at least for sandmobs and the like. but i might be wrong
19:03 leat1 joined #minetest-dev
19:03 Sokomine as to the problem of not enough time to update mob spawning...it only happens when the server is too busy due to something
19:03 OldCoder Sokomine, nope; Santa, sheep, cows, snowmen
19:04 OldCoder Try increasing active_object_count to 32, set interval to 30, set chance to 30000
19:04 OldCoder Set spawn_near to dirt_on_grass
19:04 OldCoder Do this for different mods using both mobs and mobs redo
19:04 OldCoder Then fly around
19:05 OldCoder and witness 10 to 20 things stuck together
19:05 OldCoder If you trace the code down, the issue seems to be in the engine
19:05 OldCoder Which C55 says is not possible
19:05 OldCoder But the fact is that it goes right to heart of what an ABM does
19:05 OldCoder The ABMs are triggering in some cases at exactly the same time
19:05 OldCoder
19:06 * OldCoder thinks myrand in the core code is broken and will try replacing it
19:06 OldCoder As a related note:
19:06 OldCoder This is core dev BTW the RNG is broken:
19:07 OldCoder I set chance for mantises to 80000
19:07 OldCoder No, there is not supposed to be a 16 bit rollover for this
19:07 OldCoder And got 1000s of mantises roaming the countryside
19:07 OldCoder Hungry for human victims
19:07 OldCoder
19:07 OldCoder There does seem to be a problem with ABM triggering
19:07 OldCoder
19:12 nanepiwo joined #minetest-dev
19:16 Sokomine maybe it's a bug in the mod. i've only seen the nice models it has plus a few screenshots but never took a look at the code behind it
19:17 Sokomine it would be great to have some variation of the mobs mod in minetest_game, builtin or a new general library. the mobs code i've seen isn't suitable for that yet
19:24 OldCoder Sokomine, again, read up; different mods, different APIs
19:24 OldCoder And the code goes directly to minetest.register_abm
19:24 OldCoder The code can be simply calls to minetest.register_abm
19:25 OldCoder It appears that chance = chance is simply ignored or that chance often goes haywire
19:25 OldCoder below that level is simply built-in and C++ code
19:25 OldCoder
19:25 OldCoder minetest.register_abm is not mobs code. It is core.
19:25 Sokomine many mob mods are forks of pilzadams original version or forks of forks from that; if there's an error, it's possible that they all inherited id
19:25 * OldCoder sighs
19:25 OldCoder Read what I just typed, please
19:26 OldCoder <OldCoder> The code can be simply calls to minetest.register_abm
19:26 OldCoder <OldCoder> It appears that chance = chance is simply ignored or that chance often goes haywire
19:26 OldCoder <OldCoder> below that level is simply built-in and C++ code
19:26 OldCoder There is no mobs code at issue
19:26 OldCoder This is core
19:26 OldCoder
19:26 * OldCoder will double-check all of this of course
19:26 Sokomine i havn't looked deep enough into it to be able to say much about those abms the mobs mod use. i havn't heared about strange behaviour from other mods using abs - but maybe that's less obvious
19:27 OldCoder active_object_count needs to be high
19:27 OldCoder for the issue to manifest
19:27 OldCoder usually it is set to 1 to 3
19:27 OldCoder For the issue to manifest, these conditions must be met:
19:27 OldCoder
19:28 OldCoder identical node, neighbors, interval, chance, active_object_count parameters
19:28 OldCoder interval of 30 is good
19:28 OldCoder chance of perhaps 20000
19:28 OldCoder active_object_count of 32 or 64
19:28 OldCoder ^ the parameters
19:28 OldCoder Few have tested this, I think
19:28 OldCoder
19:29 OldCoder Try it yourself sometimes and see. Not necessarily mobs code. Just different register_abm calls with these parameters
19:29 OldCoder Perhaps ABMs that just log a message
19:30 OldCoder Then fly over terrain and see if you get clumps of messages on the same nodes
19:30 OldCoder I will do this myself
19:30 OldCoder
19:31 leat1 joined #minetest-dev
20:04 ShadowBot joined #minetest-dev
20:04 ShadowBot joined #minetest-dev
20:08 everamzah joined #minetest-dev
20:09 Amaz joined #minetest-dev
20:23 celeron55 Subject: Stuck in air!
20:23 celeron55 I'm stuck niggah help >°.0 house  craft
20:23 celeron55 ^ this here is a complete email
20:24 celeron55 enjoy
20:26 leat1 joined #minetest-dev
20:33 leat1 joined #minetest-dev
20:51 zat joined #minetest-dev
20:57 ElectronLibre left #minetest-dev
21:04 zat joined #minetest-dev
21:31 eye_mine joined #minetest-dev
21:35 twoelk joined #minetest-dev
21:41 proller joined #minetest-dev
21:42 proller joined #minetest-dev
21:50 domtron joined #minetest-dev
21:55 OldCoder joined #minetest-dev
22:14 leat1 joined #minetest-dev
22:35 H-H-H joined #minetest-dev
22:52 zat joined #minetest-dev
23:04 werwerwer joined #minetest-dev
23:28 Player_2 joined #minetest-dev
23:55 HulkSmash joined #minetest-dev

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