Time |
Nick |
Message |
00:03 |
|
v-rob joined #minetest |
00:11 |
erlehmann |
sfan5 i think it is lame if you mute me from #minetest-dev if you are the only person fed up with me, you can as well just use /ignore – it is different if multiple people are annoyed by me though, then it is legit ig |
00:12 |
erlehmann |
also i think most ppl here aren't *that* interested in engine discussions, but whatever |
00:15 |
sfan5 |
I didn't say I wouldn't remove it eventually |
00:22 |
|
Verticen joined #minetest |
00:22 |
MTDiscord |
<MisterE> Idk if its my place to comment, but from what I've seen here, id say, sfan5, please try to work with this guy cause he seems useful to the project and well-intentioned |
00:24 |
MTDiscord |
<Jonathon> >useful looks at a lack of PR's |
00:24 |
MTDiscord |
<MisterE> Reporting actual vulnerabilities seems useful to me.. |
00:25 |
MTDiscord |
<Jonathon> > most people do in fact not care that putting in obviously invalid input makes the game freeze or run out of memory > nor do they try that, except by accident |
00:28 |
MTDiscord |
<MisterE> they start to care when the bad intentioned players log on. With minetest at the scale it is now, for the most part, yeah its not an issue. But if one wanted to make a larger scale server then you start to care about these vulnerabilities. Better, imo to know your programs weaknesses and that way be able to fix it later if it becomes important in the future |
00:29 |
MTDiscord |
<MisterE> Whatever, not here to argue |
00:29 |
|
kamdard joined #minetest |
00:31 |
|
AliasAlreadyTake joined #minetest |
00:31 |
MTDiscord |
<savilli> did you even look at their issues? |
00:31 |
MTDiscord |
<savilli> none of them are actual security vulnerabilities |
00:32 |
MTDiscord |
<savilli> they don't allow to crash a server no matter how large it is |
00:33 |
sfan5 |
issues reported to github do get looked at regardless |
00:35 |
MTDiscord |
<savilli> okay #11822 is a security vulnerability, but it allows to crash the client, and honestly I don't think it's an issue for online game |
00:35 |
ShadowBot |
https://github.com/minetest/minetest/issues/11822 -- Crash on texture modifier with too much crack |
00:37 |
MTDiscord |
<MisterE> No I didn't. My comment is entirely based on what I've read here. So yeah take it with salt to taste :P |
00:40 |
MTDiscord |
<savilli> don't let to fool yourself XD |
00:41 |
erlehmann |
> none of them are actual security vulnerabilities |
00:41 |
erlehmann |
the tp to out of bounds is a denial of service |
00:42 |
MTDiscord |
<savilli> what issue is that? |
00:43 |
erlehmann |
the one where i continue to claim that sfan5 fixed it in the wrong way: https://github.com/minetest/minetest/issues/11769 |
00:44 |
erlehmann |
(just the limit is wrong the rest of the patch seems ok) |
00:45 |
erlehmann |
savilli what exactly would you expect if someone tried to poke the network code like i poke settings or lua API? i think the result would be that minetest would fall over and die pretty quickly. |
00:46 |
erlehmann |
savilli the actual issue is btw that dynamic content on the server will be created by players |
00:47 |
erlehmann |
so let's assume we have a hang when minetest gets too many texture modifiers (we do) and a mod allows users to append texture modifiers … bad ppl exploit that |
00:47 |
erlehmann |
eventually |
00:48 |
erlehmann |
savilli from your very few bug reports i gather you either run a server that deals with cheaters or you develop a game that deals with cheaters or you are a cheater. which is it? |
00:48 |
MTDiscord |
<savilli> i'm a server admin |
00:48 |
erlehmann |
then you know the length that motivated attackers will go to i guess |
00:50 |
erlehmann |
i assist cora who runs the oysterity server |
00:50 |
MTDiscord |
<savilli> Don't allow players to apply texture modifiers? Who would expect that api to be secure? |
00:50 |
erlehmann |
most of the bad actors are script kiddies who run cheat clients |
00:50 |
erlehmann |
i made a proposal in the bug report how to fix the issue |
00:50 |
erlehmann |
namely, divorcing parsing texture modifiers from processing them |
00:51 |
erlehmann |
doing full recognition of the string before processing |
00:51 |
erlehmann |
thereby getting rid of all of these shotgun parser bugs |
00:52 |
erlehmann |
savilli the issue i have is that if you want me to prove that every single thing where no bounds checking or verification occurs is actually exploitable, you are wasting both of our time. most times it is easier to fix it. |
00:52 |
|
Extex joined #minetest |
00:53 |
erlehmann |
IMO the whole “let's not fix overflows properly” stance of the dev team makes no sense long-term |
00:53 |
|
kamdard joined #minetest |
00:53 |
erlehmann |
it *needs* to change |
00:53 |
erlehmann |
Jonathon what do you expect me to do, fix every bug i find? even when i post a patch in the issue half of the times it is not taken seriously. |
00:54 |
erlehmann |
and i do write lua workarounds |
00:54 |
erlehmann |
for mineclonia |
00:54 |
erlehmann |
in fact, cora offered that exact workaround for minetest_game and it was not wanted |
00:57 |
erlehmann |
MisterE i think most of the annoyance comes bc i look through at the code from the lens of a) someone attacking a server or client b) a user who sets all values to everything possible … and then devs are like “but who would actually do that” or “but our code without any games is not exploitable” or “i have no idea how that could happen” and disregard the bug report. |
00:58 |
erlehmann |
i'd rather file those bugs in case it becomes relevant in the future |
00:58 |
|
SuperMiner joined #minetest |
01:00 |
erlehmann |
Jonathon btw i told you before that i am not a C++ app developer. i know good architecture and how to break things, but not how to fix them as well as other ppl do. |
01:00 |
erlehmann |
like i can tell you the method, but most of the time someone else will be better at writing the actual C++ code |
01:00 |
erlehmann |
bc i have no routine |
01:00 |
erlehmann |
and too little understanding compared to many others |
01:01 |
erlehmann |
and i'd rather avoid proposing a solution that i am not sure will be correct in a language where i am not confident at all |
01:02 |
MTDiscord |
<savilli> if you're confident enough to make an issue, then you can fix it |
01:03 |
erlehmann |
savilli what exactly you would think would happen if i propose a fix to https://github.com/minetest/minetest/issues/11828 that aligns the limits with s16 bounds? |
01:03 |
erlehmann |
i expect it to be discarded |
01:03 |
MTDiscord |
<savilli> if you expose insecure api to clients, you shouldn't expect anybody to make it secure fro you |
01:03 |
MTDiscord |
<savilli> *for you |
01:04 |
erlehmann |
savilli should i try making a patch for that and we see how it plays out? |
01:04 |
MTDiscord |
<savilli> i think we can predict that |
01:04 |
erlehmann |
yeah what do you think will happen |
01:06 |
erlehmann |
if you agree with me that it will probably be rejected then i don't see why i should make even the tiniest of patches if it's a waste of both my and the reviewers time |
01:06 |
MTDiscord |
<savilli> core devs will propose a change, you will be stubborn and won't correct anything with ridiculous excuses, and pr will be discarded |
01:07 |
erlehmann |
what change would it be? |
01:07 |
erlehmann |
as said before, i'd only want to align minetest.find_nodes_in_area() with the limits of the map storage to avoid future bugs |
01:08 |
sfan5 |
well what are the limits of map storage? |
01:09 |
erlehmann |
whatever data type the mapblock format uses, so i'd say s16 bounds |
01:09 |
erlehmann |
if you had a proper type here that did typechecking etc. that would not be an issue, but you have not |
01:09 |
MTDiscord |
<Warr1024> I ran into the fact that things past the mapgen limit sort of do and sort of don't actually exist and ... I ended up just assuming it was my responsibility and added my own checks in the game code :-| |
01:09 |
MTDiscord |
<Warr1024> Given that, I would not be surprised if this class of issue doesn't triage very highly. |
01:11 |
erlehmann |
the thing is, this entire category of bugs can be properly fixed by doing a few things: 1. set MAX_MAPGEN_LIMIT or how its called to >32768 in debug builds 2. compile the debug build with ubsan 3. collect the dozen or so signed integer overflows 4. fix every single one of them |
01:11 |
erlehmann |
that makes the weird zone between ±31000 and s16 bounds (-32768,32767 or so?) vanish completely |
01:12 |
erlehmann |
and thus gets rid of all bugs in that zone |
01:12 |
erlehmann |
it would also fix a bunch of issues that are currently rare to encounter |
01:13 |
erlehmann |
before anyone accuses me of being lazy: i actually did that, except for the “fix every single one of them” bit |
01:13 |
MTDiscord |
<Warr1024> Sure, but the "fix every single one of them" part sounds KIND of important... |
01:13 |
erlehmann |
and stopped pretty quickly when sfan5 pointed out that there is a comment in the code that signed integer overflow shall not be fixed, better stay away from the boundaries |
01:13 |
MTDiscord |
<savilli> and how many issues did you collect? |
01:14 |
erlehmann |
i did not file issues for that stuff |
01:15 |
erlehmann |
because the predictable response from ppl who do not know how to get nodes out of bounds is “oh but mapgen stops at 31000” (which is not exactly true, but whatever) |
01:15 |
MTDiscord |
<savilli> but you did collect them |
01:15 |
MTDiscord |
<savilli> so how many? |
01:15 |
erlehmann |
i remember less than a dozen, but i'd have to run it again with current code |
01:15 |
erlehmann |
also that was only mapgen-triggered stuff |
01:15 |
erlehmann |
so there are more |
01:15 |
erlehmann |
the thing is, without actually triggering them, they lurk in the code forever |
01:16 |
MTDiscord |
<Warr1024> If you discover a whole class of bugs that you would presumably try to fix all in one PR (given the overhead cost of getting one merged) I wouldn't file separate issues for each instance, if that's what you meant... |
01:17 |
MTDiscord |
<savilli> you definitely were lazy, i would expect at least > 100 |
01:17 |
erlehmann |
Warr1024 the class of bug is “every time devs encounter a signed integer overflow with functions taking s16 coordinates or their float equivalent, they try to tie it to MAX_MAPGEN_LIMIT, which is 31000 and not the actual boundary”. it's a social problem. |
01:17 |
MTDiscord |
<Warr1024> Heh, it kind of reminds me of Pareto Creep |
01:18 |
erlehmann |
what's that? |
01:18 |
erlehmann |
savilli i only tested minetest_game with v7 mapgen, it doesn't exactly do much. ofc you get more if you test mcl2 or so. |
01:18 |
erlehmann |
quick place a dispenser out of bounds! :D |
01:18 |
MTDiscord |
<Warr1024> Basically you reason that "99% of people don't need this" so you don't care about a fringe case. But then now since you're discounting that 1%, the goalposts are now moved and next time you say "do 99% of people not care" it's 99% of a smaller population. |
01:19 |
erlehmann |
oh yeah |
01:19 |
MTDiscord |
<Warr1024> Obviously over time if you just assume that boundary regions are discardable, then those boundaries will creep inward. |
01:19 |
erlehmann |
in this case, moving the limits closer to where the actual visible map is, the boundary already overlaps with it |
01:19 |
MTDiscord |
<Warr1024> I could easily tell you "if all the engine's stuff stops behaving around 31000, then just make your limits 30000" but you can only get away with that like 29 times more before it becomes everybody's problem :-) |
01:19 |
erlehmann |
as the screenshot in https://github.com/minetest/minetest/issues/11828 shows https://gcdn.pbrd.co/images/oWIFZN2KTOK6.jpg?o=1 |
01:20 |
erlehmann |
i am standing there at about 31000,2,0 in vanilla minetest |
01:20 |
erlehmann |
obviously in a visible map block |
01:20 |
erlehmann |
and i can place nodes in the stone part of the map to the left and dig them |
01:20 |
MTDiscord |
<Warr1024> But if coredevs are not willing to fix something you COULD work around by just setting limits to 30000, I also kind of understand that. Personally I usually don't worry about "is this becoming a pattern" until I see it about to happen a 3rd time. |
01:21 |
erlehmann |
but minetest.find_nodes_in_area() will not find them |
01:21 |
erlehmann |
i already saw it happening in games |
01:21 |
erlehmann |
some months ago mcl2 had the crashbutton issue |
01:21 |
erlehmann |
basically in mcl2 0.71 and earlier, depowering mesecons at the visible world (x=30927 or so) border crashes the game |
01:22 |
erlehmann |
because hey, someone assumed that's where the world ends |
01:22 |
erlehmann |
so a button at the edge of the world crashes the game |
01:22 |
erlehmann |
a jumping mob with a pressure plate … |
01:22 |
erlehmann |
you see where this is going |
01:22 |
MTDiscord |
<Warr1024> As of right now, as I understand it, it might be a "modder problem", i.e. that modders are expected to account for weirdness near the map boundaries. I mean the fact that there's a 1768-wide margin zone does suggest that somebody has already sort of punted on that. |
01:23 |
erlehmann |
punted? |
01:23 |
erlehmann |
the raycast thing is actually the third time i encounter this |
01:23 |
erlehmann |
and i already told ppl i'll stop reporting coordinate boundary bugs unless i have a fix ready |
01:23 |
erlehmann |
bc they'll always do the wrong thing in response |
01:25 |
MTDiscord |
<Warr1024> I guess if this is really a serious engine bug it seems weird that I don't run into it a lot even though I tend to use very small mapgen_limits on all my servers, so players can run from boundary to boundary in a few minutes. |
01:25 |
erlehmann |
Warr1024 the problem i have with that zone is that a bunch of API functions work perfectly in it and others don't. and it kinda makes sense. after all, your mapgen might stop at 31000, but what if someone makes a village at the map border? the mod code may stray out of bounds. |
01:25 |
MTDiscord |
<Warr1024> I've definitely run into SOME issues, especially with the world bottom boundary where entities want to try to fall in |
01:26 |
erlehmann |
the thing is, it's serious in case of high impact, but not serious if you think about if it happens a lot |
01:27 |
erlehmann |
like come on, everyone involved in the boundary discussion could write a short script to bring down all mt 5.4.1 and earlier servers |
01:27 |
erlehmann |
from my POV that does not change a thing |
01:27 |
erlehmann |
like, idc if the script exists |
01:27 |
erlehmann |
maybe others do? |
01:28 |
erlehmann |
a tangent: i think anarchy servers act as a sponge for assholes that want to have fun at others expense |
01:28 |
erlehmann |
and that's also why some servers have a lot of these issues |
01:28 |
erlehmann |
and others don't |
01:29 |
MTDiscord |
<Warr1024> Heh, I guess in my case I wonder whether the server stays down. If it's just a crash and doesn't persist after a restart unless manually done again from the outside, then I guess it's a lot less concerning than if it would corrupt a world and require manual fixing each time. |
01:29 |
erlehmann |
i.e. shut down anarchy servers and those clowns bring down catlandia |
01:29 |
MTDiscord |
<Warr1024> Hmm, so a honeypot hypothesis then? |
01:29 |
erlehmann |
nah, it's better to put them all in one room and let them fight it out |
01:30 |
erlehmann |
also i kinda like playing in an adversarial environment like that |
01:30 |
MTDiscord |
<Warr1024> Seems like if you run a major server you'd have an incentive to want to run your own separate anarchy server, or pool into some collective to manage some. |
01:30 |
erlehmann |
it makes creative solutions necessary |
01:30 |
erlehmann |
like there was one player who continued spawnkilling noobs |
01:30 |
erlehmann |
i made a client join with random input |
01:30 |
erlehmann |
and respawn a lot |
01:30 |
erlehmann |
after more than 20 minutes the spawnkiller complained about RSI :D |
01:31 |
erlehmann |
apparently other ppl just quit after being killed 10 times |
01:31 |
erlehmann |
my bot client obv ran for hours |
01:31 |
MTDiscord |
<Warr1024> Heh, you're definitely playing some kind of game, but I'm not sure whether it's a "minetest" one per se at that point |
01:32 |
erlehmann |
or also recently fleckenstein helped mineclonia to tie down the ender chest inventory |
01:32 |
erlehmann |
so that you can't access it without being near an echest |
01:32 |
erlehmann |
it's funny to know ppl are going into combat and respawning without the ability to pull out more TNT from thin air |
01:33 |
erlehmann |
i am working on a way to ruin commonly known teleportation cheats too |
01:33 |
MTDiscord |
<Warr1024> Heh, I make a game with virtually no combat, and even figuring out how to add combat to it is considered a Hard Problem, so I don't know much about that world. |
01:33 |
erlehmann |
well, just join oysterity and try to stay alive if you are that curious |
01:34 |
erlehmann |
it's definitely an interesting wild west thing |
01:34 |
erlehmann |
like if you encounter a stranger |
01:35 |
erlehmann |
i once had a player straight up to /kill bc i was following them around and they did not want to leak their teams base location |
01:35 |
erlehmann |
so they suicided their character and gave me all those items to keep the location secret |
01:35 |
erlehmann |
(respawning in their bed ofc) |
01:38 |
erlehmann |
Warr1024 savilli btw i am always willing to collaborate on lua workarounds, those aren't held up by engine dev opinions |
01:39 |
MTDiscord |
<Warr1024> Yeah, though general workarounds are challenging too. |
01:39 |
MTDiscord |
<Warr1024> Like, I mostly just test my mod content against all sorts of boundary conditions and corner cases, wherever I can find them, and a lot of the time I end up with only fixes for very specific issues. |
01:39 |
MTDiscord |
<Warr1024> They don't necessarily evolve into general polyfill sorts of things. Though sometimes they do. |
01:40 |
erlehmann |
well, with the coordinate bullshit i just overwrite the engine thing with something that checks the input against s16 boundaries |
01:40 |
erlehmann |
like in mineclonia we straight up replaced minetest.find_nodes_in_area() with a wrapper |
01:40 |
erlehmann |
that calls the real function |
01:41 |
erlehmann |
also ppl already thought of implementing it with other functions if the engine stays broken, but that's work |
01:42 |
MTDiscord |
<Warr1024> Heh, another workaround is to pull the limit in a mapchunk or so, but using mapgen_limit for it, using lua mapgen to fill the boundary area with actual nodes that behave like ignores. There are some neat things you can do with that (like controlling the appearance or how light propagates) though obviously if you decide to change the limit later, you have to manually fix the map first. |
01:43 |
erlehmann |
i see, you are another person who actually knows how to get oob nodes :D |
01:44 |
erlehmann |
seriously, the “but mapgen can't go that far” thing is what annoys me the most about boundary conversations. i have yet to see a test case that proves it can't, ppl just thing the code is alright that way. |
01:44 |
erlehmann |
think |
01:45 |
erlehmann |
Warr1024 wanna tell me about those light tricks? |
01:48 |
erlehmann |
savilli btw if you want to find more s16 overflows, just use ubsan |
01:48 |
erlehmann |
set it to segfaulting with a message if you want to live admin life on hard mode |
01:51 |
MTDiscord |
<savilli> i know about sanitizers |
01:51 |
MTDiscord |
<savilli> but in my case simple running the server with ubsan doesn't show anything |
01:52 |
MTDiscord |
<savilli> need some malicious players whose try to get oob |
01:54 |
erlehmann |
savilli what server? i can try to goad some scum on oysterity into paying you a visit, by claiming that one is easy to crash. they are super gullible! |
01:54 |
MTDiscord |
<Warr1024> The only real light trick I used was making my world boundary nodes sunlight_propagates=true, which standard ignores don't do. It causes deep underground caves near the borders to get some extra light sources, which makes them a more interesting place to be and might drive up property values there. |
01:55 |
erlehmann |
> drive up property values |
01:55 |
erlehmann |
gentrification, deep underground |
01:55 |
erlehmann |
lol |
01:55 |
MTDiscord |
<Warr1024> Ha, well, there'd have to be a "market" for that to really work :-) |
01:55 |
erlehmann |
make the world smaller ig |
01:56 |
MTDiscord |
<Warr1024> I run a mod that does background lighting recalcs all the time, so I'm not concerned if I have to manually hack on the map to move the boundaries and it causes light to be wrong. |
01:57 |
MTDiscord |
<Warr1024> In a way, that might really be indicative of one of the most annoying "issue themes" I routinely run into: MT is designed to encourage people to do things on an "event-driven" basis, but then there are too many ways that events can be lost, leaving the world in an inconsistent state. |
01:58 |
MTDiscord |
<Warr1024> The only reliable workaround I've found for that is using globalsteps and ABMs to do background rechecks so that things can at least be eventually consistent. |
01:59 |
erlehmann |
> I run a mod that does background lighting recalcs all the time |
01:59 |
erlehmann |
enjoy your lag machines i guess |
02:00 |
MTDiscord |
<Warr1024> The only lag machine I've got so far is the way the engine processes ABMs |
02:00 |
MTDiscord |
<Warr1024> lighting calcs are weirdly cheap, actually |
02:00 |
erlehmann |
i believe 2b2t once had light based lag machines. a big sheet of nodes, then holes in them that you open and close with redstone. |
02:02 |
erlehmann |
savilli did you check out cheat clients? if not, try out waspsaliva. easy to get oob with it. |
02:03 |
MTDiscord |
<Warr1024> I've never seen one in the wild but actually just during this past day I removed the ability to toggle lights at 12Hz, now limited to 1 pulse every 2s |
02:04 |
erlehmann |
i have accidentally made lag machines |
02:04 |
erlehmann |
there is also the “remove any block if you can lag the server enough” thing, which i have not fully understood |
02:05 |
erlehmann |
but i believe it may be similar difficult in timing to my “i can remove mapgen blocks before they are converted to actual blocks by the game” trick |
02:06 |
erlehmann |
the problem is that if anything of that is possible, ppl have an incentive to lag the game |
02:07 |
erlehmann |
“if you lag a server hard enough, players remove anything even if it is forbidden” is kinda a motivation for evil ppl to lag stuff |
02:07 |
MTDiscord |
<Warr1024> how do you define a lag machine btw? Like being able to get an arbitrarily high lag within a single step, or do you just mean bogging down in general? |
02:07 |
erlehmann |
an ingame contraption that slows down server processing |
02:08 |
erlehmann |
not anymore specific |
02:08 |
MTDiscord |
<Warr1024> ah, okay. I've never seen lag machines in nodecore, but there are probably lag areas at least. |
02:09 |
erlehmann |
well sometimes ppl just figure out that you have to put in a lot of nodes of one type |
02:09 |
erlehmann |
like |
02:09 |
MTDiscord |
<Warr1024> At least it's possible to get the server step time up from 0.05 to about 0.25, if you play in one area and develop it long enough. I think a lot of that is due to ABM shittiness but I haven't been able to dig out exactly how to fix it. |
02:09 |
erlehmann |
take a node that makes entities or particle effects |
02:09 |
erlehmann |
if you want to see shitty abms, go to jungle in mcl2/mcl5/mcla |
02:10 |
erlehmann |
the vine growing abm is abysmal |
02:10 |
MTDiscord |
<Warr1024> In my case the problem isn't so much the abms being bad so much as that there are just a ton of them because pretty much everything in the game evolves over time in node form |
02:11 |
MTDiscord |
<Warr1024> I guess grass growing and leaf decay ones are probably pretty bad across most games, but I've probably got the worst possible cases |
02:22 |
erlehmann |
Warr1024 why are yours so bad? |
02:27 |
|
TempestMancer joined #minetest |
02:39 |
|
Extex joined #minetest |
02:46 |
MTDiscord |
<Warr1024> I dunno, but one thing I've discovered is that neighbors = { ... } is pretty painful, can increase an ABM's cost like 7x. |
02:56 |
erlehmann |
i thought it was supposed to make it cheaper lol |
03:28 |
|
queria^clone joined #minetest |
03:33 |
|
queria^clone joined #minetest |
03:38 |
MTDiscord |
<Warr1024> I think it's probably cheaper to do the neighbor check in C++ than it is to fire on every node and then do the check by hand in Lua. Only I'm not 100% sure about that, especially assuming LuaJIT, i.e. if the number of neighbors is small and you're very likely to have a match. |
03:43 |
|
Verticen joined #minetest |
03:46 |
|
v-rob joined #minetest |
04:03 |
erlehmann |
Warr1024 as always, benchmark it |
04:07 |
|
frostsnow joined #minetest |
04:32 |
|
frostsnow joined #minetest |
05:00 |
|
MTDiscord joined #minetest |
05:00 |
ghoti |
Is there a way to remove a registered recipe that a mod has added? Sort of like I can `minetest.unregister_item()` in my own mod to remove other stuff, but I only want to take out the recipe and crafting guide entry. |
05:07 |
MTDiscord |
<Jonathon> if just crafting guide add not_in_creative_inventory = 1 in groups |
05:07 |
MTDiscord |
<Jonathon> otherwise minetest.clear_craft |
05:12 |
ghoti |
Thanks. |
05:18 |
|
frostsnow joined #minetest |
05:56 |
|
specing_ joined #minetest |
06:01 |
|
riff-IRC joined #minetest |
06:02 |
|
olliy joined #minetest |
06:55 |
|
norkle joined #minetest |
07:02 |
|
jvalleroy joined #minetest |
07:22 |
|
v-rob joined #minetest |
07:23 |
|
definitelya joined #minetest |
07:28 |
|
erlehmann joined #minetest |
07:35 |
|
v-rob joined #minetest |
07:43 |
erlehmann |
haha |
07:43 |
erlehmann |
i have found multiple crashes that occur because 31000 is too close to where users can be |
07:44 |
erlehmann |
figure this out for yourself lol |
07:45 |
definitelya |
Hi erle |
07:45 |
erlehmann |
hi |
07:46 |
definitelya |
Even though you like to play in environments that keep an adversarial stance, there's no need to antagonize the core devs... |
07:46 |
definitelya |
I understand it's frustrating for you, but you either apply to become core dev eventually, or leave them be a bit, you feel me? |
07:46 |
erlehmann |
i said “if you do not fix the signed integer overflow, bugs will happen”, i am just exploring the new bug space between 31000 and 32767 or so |
07:47 |
erlehmann |
look i want a game that does not crash |
07:47 |
definitelya |
Yes I just look out for contributors that's all... |
07:47 |
definitelya |
like you |
07:47 |
erlehmann |
if i can find crashes, so can ppl who are way more annoying than i am |
07:47 |
definitelya |
No need to be silenced forever if you have things to contribute. |
07:49 |
erlehmann |
definitelya look i decided to only reporting boundary bugs anymore if i have a working fix for them. |
07:50 |
definitelya |
ok good idea |
07:50 |
erlehmann |
i mean in this case i may still decide to report it anyway |
07:50 |
erlehmann |
because it is deliciously ironic |
07:51 |
erlehmann |
then again i have reported https://github.com/minetest/minetest/issues/11828 already |
07:51 |
erlehmann |
but that's not a crash |
07:51 |
definitelya |
Careful with being too ironic on a serious project though. |
07:53 |
erlehmann |
ok how about i report it without telling how to trigger it |
07:53 |
erlehmann |
i think that's a good idea to make ppl fix the actual problem |
07:54 |
definitelya |
dunno sorry, I hope you see eye to eye I guess. |
07:54 |
erlehmann |
wdym |
07:55 |
definitelya |
I'm no core dev ahah. |
07:55 |
definitelya |
or dev |
07:55 |
erlehmann |
fine, i make a bug report! |
08:07 |
|
CWz_ joined #minetest |
08:28 |
|
appguru joined #minetest |
08:35 |
|
v-rob joined #minetest |
09:04 |
erlehmann |
definitelya here! https://github.com/minetest/minetest/issues/11835 |
09:23 |
definitelya |
ok |
09:26 |
|
tech_exorcist joined #minetest |
09:32 |
|
calcul0n joined #minetest |
09:40 |
|
tech_exorcist joined #minetest |
09:41 |
|
Fleckenstein joined #minetest |
10:02 |
|
YuGiOhJCJ joined #minetest |
10:04 |
|
Talkless joined #minetest |
11:04 |
|
GNUHacker joined #minetest |
11:27 |
|
tech_exorcist joined #minetest |
11:33 |
|
Fleckenstein joined #minetest |
11:48 |
|
AristotIe joined #minetest |
12:01 |
|
olliy joined #minetest |
12:16 |
|
Fixer joined #minetest |
12:20 |
|
MTDiscord joined #minetest |
12:27 |
|
TempestMancer joined #minetest |
12:31 |
|
jadzia joined #minetest |
13:34 |
MinetestBot |
[git] richyliu -> minetest/minetest: Fix wireshark packet dissector wrong coordinates (#11826) 7a043b3 https://git.io/JMFeF (2021-12-05T13:34:40Z) |
13:35 |
|
GNUHacker left #minetest |
13:42 |
MinetestBot |
[git] sfan5 -> minetest/minetest: Fix various code & correctness issues (#11815) ff934d5 https://git.io/JMFfc (2021-12-05T13:40:30Z) |
14:15 |
|
SuperMiner joined #minetest |
15:30 |
|
hook54321 joined #minetest |
15:32 |
Swift110-mobile |
oh someone posted the podcast before me. cool Yeah I listened to it and liked the honest comments that came from it |
15:32 |
|
tech_exorcist joined #minetest |
15:34 |
|
tech_exorcist joined #minetest |
15:49 |
|
kamdard joined #minetest |
15:50 |
|
specing joined #minetest |
16:41 |
|
Verticen joined #minetest |
16:48 |
|
TempestMancer joined #minetest |
17:00 |
|
Sven_vB_ joined #minetest |
17:04 |
|
est31 joined #minetest |
17:08 |
|
Extex joined #minetest |
17:24 |
|
Extex joined #minetest |
17:29 |
|
calcul0n joined #minetest |
17:31 |
|
calcul0n joined #minetest |
17:41 |
|
olliy joined #minetest |
17:44 |
|
dabbill joined #minetest |
17:58 |
|
specing joined #minetest |
17:59 |
|
v-rob joined #minetest |
18:21 |
|
garywhite joined #minetest |
18:21 |
|
garywhite joined #minetest |
18:24 |
|
v-rob joined #minetest |
18:43 |
|
Taoki joined #minetest |
19:10 |
|
MTDiscord joined #minetest |
19:36 |
|
Taoki joined #minetest |
19:50 |
|
v-rob joined #minetest |
19:53 |
|
_Fleckenstein_ joined #minetest |
19:56 |
|
_Fleckenstein_ joined #minetest |
19:57 |
|
EliasFleckenstei joined #minetest |
19:58 |
|
Fleckenstein joined #minetest |
20:11 |
|
Extex joined #minetest |
21:12 |
erlehmann |
can we talk about https://github.com/minetest/minetest/issues/11839 please? |
21:12 |
erlehmann |
this is serious |
21:13 |
erlehmann |
if any admin has this condition in their logs i'd be interested |
21:14 |
MTDiscord |
<Sublayer plank> I mean... default configured minetest also logs every single node change made by players to debug.txt iirc |
21:15 |
erlehmann |
but does it complain >18000 times about every single thing? |
21:15 |
erlehmann |
the disk filling thing is not the main problem |
21:15 |
erlehmann |
> More seriously, the server being occupied with logging stuff seems to lag it so hard that in minetest_game sand does not even fall down anymore and the map generator seems to stop working (though that may have been due to the disk filling up). |
21:16 |
MTDiscord |
<Sublayer plank> yikes, that sounds way worse |
21:16 |
erlehmann |
well, not a security issue, right? ;) |
21:16 |
erlehmann |
juuuuuut a denial of service |
21:17 |
erlehmann |
ironically, i would not have been able to easily trigger this if entities were legal at that position |
21:18 |
erlehmann |
my advice (that will probabl be disregarded) is to let the entity be there, if it's too far out it won't be saved in a mapblock anyway (bc you don't have a mapblock) |
21:19 |
erlehmann |
for the case of x>31000.0 unfortunately it is entirely possible to have a mapblock there |
21:20 |
erlehmann |
as i said before: the zone in which stuff stops working should ideally be *far* away from the zone where mapgen stops working |
21:20 |
erlehmann |
otherwise you have a new funny boundary that is worse than the old |
21:20 |
erlehmann |
(and players can get close to it and do stupid shit) |
21:27 |
|
Taoki joined #minetest |
21:31 |
erlehmann |
celeron55 https://github.com/minetest/minetest/issues/11837#issuecomment-986303933 |
21:52 |
|
v-rob joined #minetest |
22:11 |
|
Wikiwide_ joined #minetest |
22:31 |
|
calcul0n joined #minetest |
23:00 |
|
Sven_vB joined #minetest |
23:08 |
MTDiscord |
<luatic> erlehmann: according to google translate it roughly says "it's working fine now" - looks like a local megacommit a decade ago to me |
23:10 |
erlehmann |
oh |
23:10 |
erlehmann |
the question is what celeron55 wanted to achieve |
23:10 |
erlehmann |
if you tear down a fence, it is good to know why it was built (even if you disagree) |
23:17 |
celeron55 |
what |
23:18 |
celeron55 |
i don't see a 2 second delay in commit c707e00 |
23:19 |
MinetestBot |
[git] sfan5 -> minetest/minetest: Fix get_bone_position() on unset bones modifying their position d9d2193 https://git.io/JMbu5 (2021-12-05T23:06:49Z) |
23:21 |
|
Verticen joined #minetest |
23:31 |
erlehmann |
celeron55 do: git show c707e00 |grep 'counter >= 2.0' -C8 |
23:31 |
erlehmann |
is counter >= 2.0 not 2 seconds? |
23:32 |
|
Fixer_ joined #minetest |
23:37 |
celeron55 |
well it's obviously a workaround to some condition in the threading system that happened and i couldn't figure out why |
23:38 |
celeron55 |
in that commit emergethread is triggered elsewhere without any delay |
23:38 |
celeron55 |
as you should have noticed already |
23:38 |
celeron55 |
which seems to be the way it's designed to work but not always does |
23:40 |
erlehmann |
celeron55 i see. have you ever compiled minetest with thread sanitizer or similar? |
23:40 |
celeron55 |
that part doesn't seem to exist in current master |
23:40 |
erlehmann |
what part? |
23:40 |
celeron55 |
the part where emergethread would be triggered without delay |
23:40 |
erlehmann |
ah |
23:41 |
celeron55 |
RemoteClient::GetNextBlocks |
23:41 |
celeron55 |
that's where it was then |
23:41 |
celeron55 |
i might be missing something though |
23:42 |
celeron55 |
what's currently done is emerge->enqueueBlockEmerge() is called, and that one calls thread->signal() |
23:43 |
celeron55 |
which probably should do the same thing as what server->m_emergethread.trigger() did back then |
23:43 |
erlehmann |
btw, i think it is unwise to put a lot of small bugfixes in a single commit like here: https://github.com/minetest/minetest/pull/11815/files – there is no description for each change and if even one of them turns out to be wrong you have no way to just revert the commit cleanly |
23:44 |
erlehmann |
celeron55 i have no idea how threading is supposed to work, i almost always write forkbombs when i deal with more than one strand of execution :D |
23:44 |
celeron55 |
thread->signal() probably doesn't work when the thread is dead for some reason and the intention currently seems to be that the thread would never die |
23:44 |
celeron55 |
but for some reason the thread ends |
23:44 |
celeron55 |
and then nobody other than the ancient workaround can create it again |
23:44 |
erlehmann |
that sounds unfortunate |
23:46 |
celeron55 |
someone needs to decide whether it should be allowed to end or not, and modify the calling code accordingly |
23:46 |
celeron55 |
or the thread |
23:46 |
erlehmann |
celeron55, query |
23:58 |
MTDiscord |
<luatic> the ancient workaround probably had such an intention, but wouldn't follow up on it as a flag is set after the first call (as I have outlaid in the issue) |