Time Nick Message 00:00 kilbith https://github.com/zaki/irrlicht/commit/fd155bead 00:00 sfan5 that's from 2019 00:00 kilbith but ogl-es last commit stops at May 2019 00:00 sfan5 https://github.com/minetest/irrlicht/tree/svn-trunk https://github.com/minetest/irrlicht/tree/svn-ogl-es < up-to-date 00:01 kilbith oh, this mirror is unreliable then 03:25 MTDiscord Dad and I are making progress on that stringop overflow. We figured out it's caused by an -O2 optimization but I'm still trying to figure out which. We suspected strict aliasing, but turning that off didn't help. 03:40 erlehmann josiah_wi “caused by”? 03:40 erlehmann josiah_wi if the code is optimization-unstable, it's probably crap anyway (or the compiler is crap) 03:41 erlehmann josiah_wi if you can give me a test case, i can try to look into it a bit too 04:03 MTDiscord It is -foptimize-strlen 04:05 MTDiscord flattenFilesystem() is a test case. Executing this function should write into a -1 offset from the char array, if the warning is correct. 04:06 MTDiscord I'm using GCC 10.2.1 on Debian Bullseye. 04:10 MTDiscord https://externals.io/message/103041 looks like this may be a bug in GCC! 04:11 erlehmann neat i guess 04:12 erlehmann > More likely than not this is a bug on our side triggered by this optimization, not a bug in GCC. 04:12 erlehmann oh 04:12 erlehmann i should have read further 04:12 erlehmann josiah_wi impressive! 04:13 erlehmann but this is 3 years old?! 04:14 MTDiscord Well, it is getting more and more believable that the out-of-bounds write is real. 04:14 erlehmann can you exploit it? 04:15 MTDiscord No. Even narrowing down the exact bug is entering pro territory beyond my skills. 04:15 MTDiscord I am planning to disassemble it and start reading through the assembly of the relevant functions with and without the flag. 04:17 MTDiscord If you want to join me on this adventure you can probably reproduce this warning by compiling with at least -O2 and GCC. Might depend on version though. 04:18 MTDiscord I think it should be easy to write a small test to force the overflow and ubsan it etc. 04:20 erlehmann if you have a test case, i can assist 04:20 erlehmann josiah_wi you can put your test code in godbolt.org 04:24 MTDiscord I need to sleep. Tomorrow I will work on getting a test case. 06:44 Menchers what is the rationale behind appending "-Os" instead of "-O3 -fomit-frame-pointer" to CMAKE_CXX_FLAGS_RELEASE when the system name matches BSD? 06:44 Menchers in src/CMakeLists.txt:770 11:05 sfan5 no idea 12:15 MTDiscord The CMake quality has a lot of room to improve. 13:19 nrz josiah_wi go pr 13:20 MTDiscord I need to finish the unit test stuff before I start too many new PRs. 13:41 kilbith I think it's a big mistake to disable shadows for 5.5 13:42 kilbith for one, it can only cause visual hurt to MiBi (by hecks) - a game that hasn't been released yet 13:42 MTDiscord honestly I'd prefer for it to be hidden instead of completely compiled out 13:43 kilbith no - there are other settings that can also cause severe performance issues or visual hurt 13:43 kilbith a label must be added warning about that 13:44 sfan5 it's either disable it _or_ add a simple opt-in from game authors for now 13:44 kilbith but what other big feature 5.5 would bring to the table anyway? this would attract a lot more users 13:45 kilbith and I tell you that both options are a big mistake 13:45 kilbith who else appart hecks as a game author complained? 13:45 kilbith they didn't eve release their game 13:45 MTDiscord I like the opt in idea 13:45 sfan5 are you aware that it breaks nodecore? 13:45 sfan5 it literally renders shadows when there is no sun 13:46 MTDiscord Also, I may be stupid, but were we aware of intellisense for Lua in vscode? 13:46 kilbith that's not the only inconsistency in this engine 13:47 kilbith I mean, like, waving leaves are not in the same direction than clouds one 13:47 kilbith assuming there is wind in this game 13:48 sfan5 why do you think opt-in is not a good solution btw? 13:48 kilbith because it's arbitrary to do that on shadows only 13:49 kilbith why are there no such options for liquids? 13:49 erlehmann who else appart hecks as a game author complained? 13:49 erlehmann i think ppl who have games where shadows are important 13:49 sfan5 you mean opaque liquids? waving is all opt-in 13:49 erlehmann speaking for mineclonia, the shadows thing is bad for gameplay 13:49 kilbith we need these shadows to attract a lot more users, that's the most important 13:50 kilbith sfan5: yes, for example 13:50 erlehmann kilbith, tbh i doubt anyone here is focused on the “attract a lot more users” thing as much as you 13:50 sfan5 well I'd prefer if Minetest was more polished before it attracted more users 13:50 sfan5 for example not pushing people to MTG in the default install 13:50 erlehmann i agree with sfan5. make it *work* first. 13:51 kilbith sfan5: okay and what's the alternatives? MTG is the only viable choice for now tbh 13:51 MTDiscord The stringop-overflow warning appears erroneous. There is no difference in the binary. 13:51 erlehmann thinking shadows are so awesome that they *have* to be merged before everything is polished is what got mt into this thing in the first place, or not? 13:51 MTDiscord Compiling in ubsan or asan makes the warning vanish. 13:51 kilbith lol 13:51 erlehmann josiah_wi it ubsan or asan *replace* the offending code with code that is safer 13:51 erlehmann to print their error messages i think?! 13:52 erlehmann how can it be the same code then 13:52 kilbith there are lot of things that are left unpolished, why being so overzealous about shadows 13:52 MTDiscord erlehmann, I compared binaries without ubsan or asan. 13:52 kilbith the HUD API, hypertext... 13:52 erlehmann shadows are a) new b) have broken a lot of stuff already c) are controversial 13:53 erlehmann speaking for mineclonia, the shadows thing is bad for gameplay → bc light level is a game mechanic for mcla, i.e. to spawn-proof areas you have to light them up correctly. 13:53 sfan5 kilbith: I don't know, MCL is certainly very shiny but has some ugly parts. More than 'which game is better' I think it's important to tell users that MTG is not the only thing Minetest has to offer 13:53 kilbith you don't use them anyway 13:53 erlehmann also what sfan5 says, the biggest thing is ppl thinking mtg is all there is 13:54 erlehmann there are so many good games like repixture, exile, inside the box … 13:54 sfan5 well 13:54 sfan5 I bet most people are looking for something vaguely minecraft like 13:55 sfan5 which MTG does, halfway 13:55 erlehmann kinda, but you have mcl2, mcl5, mcla too (the first too being a bit crashy/laggy, the last one lacking features) 13:56 kilbith people from Minecraft need to install OptiFine + shaders pack to get dynamic shadows; we have the occasion on the next release to show them that we have an edge against MC on that one 13:56 erlehmann for me repixture was much more mc than mtg 13:57 erlehmann kilbith i don't know if it got fixed yet, but stuff like “drawers mod nodes render completely black” is unacceptable from a QA point of view 13:57 sfan5 well like I said a temporary opt-in would allow that without (rightfully) upsetting other game devs 13:57 kilbith okay that's only a ridiculous drawer and I'm sure x2048 can fix in time 13:58 sfan5 don't know other coredevs think about this proposal 13:59 MTDiscord I also love more users, but I'm also more patient than kilbith haha 13:59 MTDiscord And doing it with a different strategy 13:59 erlehmann kilbith which game/mod do you develop on that absolutely *needs* shadows in your opinion? 14:00 MTDiscord As for earlier, it seems to have been overlooked: was everyone else here aware of full on multifile lua intellisense possible for minetest with vscode/codium xtensions? 14:00 sfan5 never heard of Lua integration with vscode 14:00 erlehmann sfan5, “making it an advanced setting and caring about as much about breakage resulting from a user setting gravity to NaN” is not a good solution? 14:00 MTDiscord kilbith: (in response to dynamic shadows giving us an edge over MC) true honestly, someone asking for minetest shaders in minetest discord is a pretty regular occurence 14:01 erlehmann sfan5, by which i mean if users like kilbith care so much about having shadows they can change that setting 14:01 erlehmann but will be on their own, as the gravity-NaN people are 14:01 MTDiscord Okay, that's what I figured, I will look into it more and see if I can make it a better integration (auto generate the minetest namespace intellisence) 14:02 sfan5 that was discussed and deemed unacceptable because game authors still have shadows forced on them 14:02 erlehmann ah ok 14:02 erlehmann well then the opt-in is the next best thing 14:02 erlehmann (speaking as a game dev) 14:02 erlehmann tbh i think not having it render these shadows by default becomes more important the more i think about it 14:03 erlehmann wsor4035, does your game even *have* a moving sun? 14:03 kilbith because you use a very old computer mostly, yes 14:03 MTDiscord @Exe, Virus have you tried green's minetest vs code extension? 14:03 erlehmann kilbith wdym? 14:04 kilbith I heard that you don't even have GL >2.1 supported on your HW 14:04 kilbith that explain it all 14:04 erlehmann kilbith i use a very old computer, but shadows are gameplay concept in mcl* mod. sun light level is 15 or 16, torch light level is one below, materials block light or not. hostile overworld mobs only spawn in the dark. 14:04 erlehmann nothing to do with hardware 14:05 sfan5 MC has that too and somehow that doesn't prevent people from using shadows there 14:05 kilbith if you could afford it, you'd see their benefits 14:05 erlehmann i actually tried it out on a computer that can do it and it looks questionable and makes for worse gameplay in mcla 14:06 MTDiscord It's about the implementation, not that we hate shadows haha 14:06 erlehmann that sth breaks the in-game light level representation is a BIG issue for mcla 14:06 erlehmann for example, ppl with fullbright hacks on anarchy servers *always* do not light up their bases correctly 14:06 erlehmann and then some creeper spawns there and blows it up 14:07 erlehmann i don't want that to happen to non-cheaters bc they activate a “cool new feature” 14:07 erlehmann so i totally see the reason for the opt-in on game level and mcla will not opt-in 14:11 erlehmann kilbith strategically speaking, in my experience “not upsetting existing devs/users” usually has a better payoff than “try to attract new ppl, but make existing devs/users less happy” 14:11 MTDiscord Yes, and they're compatible with each other, but I think it might be better to take what xenith has and integrate it into this intellisense setup 14:13 kilbith I'd sacrifice *non-notable* game authors dissatisfaction any day of the week to gain like 1000+ new users in my community 14:13 wsor4035 erlehmann: my game isnt even released yet. pretty sure your thinking of someone else 14:13 MTDiscord Because it'll tell you errors as you type, what variables tables have inside, etc. For a mod and it's dependencies. 14:13 erlehmann wsor4035 oh damn, probably. you don't make nodecore?! 14:13 sfan5 no that's Warr1024 14:13 erlehmann w.*[0-9]{4} 14:14 erlehmann matches ;) 14:14 erlehmann sfan5 i saw your tsv thing and want to applaud. haven't tested it yet. do you think the xml → tsv could be done with an XSLT stylesheet? bc if that's possible, i'll write you one. 14:15 erlehmann if you are unsure about that i'll still try it 14:15 wsor4035 id say warr1024 is probably the most notable game dev to take a stance against shadows tho 14:15 erlehmann with good reason 14:15 wsor4035 of released games 14:15 erlehmann released = on contentdb? 14:15 sfan5 I don't know about stylesheets but it doesn't really matter, I wrote a cpp converter 14:15 sfan5 (it's in the irrlicht pr) 14:16 wsor4035 yes 14:16 erlehmann sfan5 yeah i saw it, but i think a stylesheet would be a) less code b) usable without “compile with 1.9.0mt2” requirement 14:16 MTDiscord @Exe, Virus i use vscode-lua extension, since i have had issues with other ones 14:16 erlehmann like *way* less code arguably 14:16 erlehmann sfan5, i'll try it and show it to you later today if i manage to do it 14:17 MTDiscord plus vscode-luacheck 14:22 erlehmann MC has that too and somehow that doesn't prevent people from using shadows there 14:22 erlehmann sfan5 in minecraft you can press f3 to check light level 14:22 erlehmann i think 14:23 erlehmann so if you have optifine ridiculous shadows, the debug tool makes it possible to spawnproof with lights ig 14:23 erlehmann also there is a resource pack for optifine to shade the entire world according to light levels 14:27 wsor4035 anyways, for shadows to bring in new users, would require them to get the latest version of minetest. which servers have always had issues with trying to keep users up to date. just look and see how many servers use mods like i3 that require the latest version of minetest (client side) 14:28 erlehmann also, to quote marketing research “The actual number of people who do buy is completely unrelated to this say-they-would-buy metric.” 14:29 erlehmann are shadows dynamically recalculated btw? bc in minecraft, that meant you could make a top lag machine :D 14:29 erlehmann just hav a stone platform with a single node hole in it high up 14:29 kilbith this is a client side feature 14:29 kilbith nothing to do with lag 14:29 erlehmann then use a piston to open and close it 14:29 erlehmann to lag out all the computers that can't handle the light updates 14:30 kilbith and I'm pretty sure that if hecks didn't bring up this server-side opt-in, no one would ever care about it 14:30 kilbith but hecks can be extremely convincing 14:30 MTDiscord How should I check in the build whether a compiler flag exists? I'm failing a CI test because the optimization flag I added doesn't exist on the MacOSX CI. 14:30 erlehmann josiah_wi only add it when it exists? 14:31 kilbith > optifine ridiculous shadows 14:31 kilbith completely show that you have a bias against it 14:31 wsor4035 games can sorta do a hack job to get around shadows, see nodecore 14:31 MTDiscord Yes, that seems like a good idea, doesn't it, erlehmann. The question is how to do that properly. 14:33 erlehmann look, if both “i prefer latest and greatest, delete everything else”-hecktest AND “keep the legacy shit around until truly on one needs it anymore”-erlehmann – two ppl who represent extreme bitch about a feature being too low quality and breaking stuff, you'll *probably* have a hard time finding many ppl with positions in between who'll think it's a good idea 14:33 erlehmann i meant “represent extremes” 14:34 erlehmann kilbith development is not a popularity contest, it's always about a) dev effort b) user experience 14:34 erlehmann and shadows are obv going to be improved 14:34 erlehmann they already are, x2048 is on it! 14:34 kilbith we should have opt'd-in node transparency for years then 14:35 kilbith if we had to listen to ppl like you 14:35 erlehmann what do you mean? 14:35 kilbith because they break lotsa stuff 14:35 erlehmann is this about connected glass being in optifine? 14:35 kilbith no 14:35 erlehmann transparent leaves? 14:36 kilbith https://github.com/minetest/minetest/pull/11130 14:39 MTDiscord see https://github.com/minetest/minetest/pull/11696 which sorta superseeds it 14:40 erlehmann oh yeah, i wanted to check that for performance regressions 14:40 erlehmann Jonathon thx for mentioning it 14:41 MTDiscord not suprising to hear you complaining about.... 14:41 MTDiscord jonathon wonders sometimes if erlehmann does anything besides complain in this channel 14:47 wsor4035 btw thanks kilbith for all the work you have put into i3 14:49 erlehmann Jonathon i also complain on github ^^ 16:11 MTDiscord @wsor clarify please: do you mean "jonathon wonders sometimes if erlehmann does anything besides (complain in this channel)" or "jonathon wonders sometimes if (erlehmann does anything besides complain) in this channel" 17:59 sfan5 merging #9638, #11764 in 10m 17:59 ShadowBot https://github.com/minetest/minetest/issues/9638 -- Lua API: Add `rmdir`, `cpdir` and `mvdir` by octacian 17:59 ShadowBot https://github.com/minetest/minetest/issues/11764 -- Fix compiler detection in buildbot by sfan5 18:47 MTDiscord https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103176 18:47 MTDiscord I filed a bug report with GCC. Will see what comes of it. 22:46 MTDiscord YES, I fixed the stringop warning. It's detecting an anti-pattern, so I changed it to the correct idiom and it's fixed.