Time Nick Message 01:37 MTDiscord Oh so it builds it into an atlas in memory? 03:16 kilbith @x2048 https://github.com/MultiCraft/MultiCraft2/pull/35 03:17 kilbith and https://github.com/MultiCraft/MultiCraft2/pull/36 03:17 MTDiscord @x2048 03:18 kilbith rubenwardy: https://github.com/MultiCraft/MultiCraft2/pull/39 03:18 kilbith bear in mind that MoNTE48 is not backporting their code anymore 03:22 kilbith mem leak: https://github.com/MultiCraft/MultiCraft2/commit/eda017888 10:39 sfan5 Note that Multicraft code is LGPL3+ which is not compatible with LGPL2.1+ 10:57 erlehmann the resulting work is LGPL3+ then, what's not compatible about it? 10:59 erlehmann i'd say if you can combine the works, they are compatible 12:39 MTDiscord Then we should upgrade to LGPLv3 as well. 12:39 erlehmann i see now downsides to that tbh 12:40 erlehmann the only thing newer (L)GPL versions do is close loopholes such as “i give you the source code, but threaten to sue you if you ever use it” and similar shenanigans 14:31 rubenwardy ??:0 14:32 rubenwardy thanks addr2line 14:32 rubenwardy trying to get a backtrace from the android crashes 14:32 rubenwardy #00 pc 0000007d65cbfa3c 14:32 ShadowBot rubenwardy: Error: That URL raised 14:32 rubenwardy is an example 14:32 rubenwardy normally, that should say libMinetest.so 14:32 rubenwardy so idk what even 14:39 rubenwardy oh nice, ndk-stack seems much more useful than add2line 14:39 rubenwardy but still doesn't work. I think the is a bit suspicious 14:41 rubenwardy /home/ruben/Android/Sdk/ndk/23.0.7599858/ndk-stack -i /tmp/crash.txt -sym ./native/build/intermediates/ndkBuild/release/obj/local/armeabi-v7a/ 14:41 rubenwardy for reference 14:42 MTDiscord and crash.txt? 14:42 rubenwardy is the file from Google Play 14:42 rubenwardy *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 14:42 rubenwardy pid: 0, tid: 0 >>> net.minetest.minetest <<< 14:42 rubenwardy backtrace: 14:42 rubenwardy #00 pc 00000074dc5af6a0 14:42 rubenwardy #00 pc fffd80753715e8b0 14:42 ShadowBot rubenwardy: Error: That URL raised 14:42 ShadowBot rubenwardy: Error: That URL raised 14:42 rubenwardy https://developer.android.com/ndk/guides/ndk-stack 14:43 MTDiscord yup, what's in that file? 14:44 rubenwardy I pasted it 14:45 MTDiscord only two addresses? 14:45 rubenwardy yes 14:45 MTDiscord and fffd80753715e8b0 doesn't look like a valid address 14:45 rubenwardy another one has #00 pc 0000007c50f8fb00 / pc 0000000000000001 14:45 ShadowBot rubenwardy: Error: That URL raised 14:46 rubenwardy another has 0000007d65cbfa3c / 000000000030fe59 14:47 MTDiscord it's hopeless 14:47 MTDiscord if ASLR is enabled it can be really any library 14:50 rubenwardy another one is pc 00000000007a5e14 anon_inode:dmabuf / pc 00000000002b52b8 14:51 rubenwardy I doubt there's much to gleam from this, we need better stack traces and debugging tools 14:52 MTDiscord no way you would jump into anon_inode:dmabuf normally 14:53 rubenwardy yeah it's weird 14:53 MTDiscord either there is a UAF with corrupting vtable or crash reporter is just wrong 14:55 kilbith sfan5: the MT repo already contains MultiCraft code 14:56 rubenwardy Monte contributing that gives us a license to it under LGPLv2.1+ 14:56 rubenwardy I'm in favour of moving to LGPLv3 if there's sufficient benefit 14:57 kilbith so if the author decides to contribute back, the license changes informally 14:57 kilbith it doesn't work like that 14:57 kilbith author or not 14:58 rubenwardy by making a PR to our repo, you're agreeing to the license. It would only not be the case if you changed the license in the PR - in which case, we'd reject 14:58 rubenwardy if it turned out that he didn't own the copyright, then it would be similar to as if someone PR-d proprietary code 14:59 rubenwardy IANAL obviously 14:59 rubenwardy Lots of companies have Contributor Licensing Agreements to make this explicit 14:59 rubenwardy and also have copyright assignment 15:00 erlehmann it has to be LGPLv3+ ofc 15:00 erlehmann to stay future compatible 15:01 erlehmann rubenwardy “if there is sufficient benefit” – what is the downside? 15:02 erlehmann is there LGPLv2 only code somewhere? 15:03 rubenwardy Also, monte's contributions have license headers with LGPLv2.1+. So he explicitly relicensed 15:07 kilbith I just don't want to see MultiCraft to be more optimized than MT someday - that situation sucks 15:07 rubenwardy yeah 15:08 rubenwardy I wanted numberZero to be a core dev 15:08 kilbith yeah and he refused 15:08 kilbith that's the money that fuel him actually 15:09 erlehmann kilbith could you explain the money situation? 15:09 erlehmann i do not know what is behind multicraft 15:10 kilbith when you work for MultiCraft you earn big money 15:10 kilbith (I did work for it) 15:10 kilbith no shame 15:11 erlehmann so why would then someone working for multicraft not want a voice at the table of minetest devs? 15:11 erlehmann do they not merge new minetest features back into it? 15:11 erlehmann or is it conflict of interest 15:11 kilbith numberZero was proposed core-dev long before he started working for MC 15:14 erlehmann then i really don't get it 16:12 rubenwardy Anyone around for a quick meeting this weekend? sfan5 Krock HuguesRoss v-rob 16:13 rubenwardy https://dev.minetest.net/Meetings 16:13 v-rob Most likely 16:43 kilbith v-rob, are you giving care to the key events PR still? 16:44 v-rob Yes, I just need to rebase. 16:44 v-rob I'm also still interested in resurrecting the alignment PR 16:44 v-rob I just need to scrounge up some time... 16:45 kilbith I count on HuguesRoss to review that ASAP. 16:45 kilbith it's been 3 years already 16:49 kilbith before I leave, it takes little effort to ressurect https://github.com/minetest/minetest/pull/9895 to bring postprocessing 16:49 kilbith then you can close lots of PRs trying to change colors the wrong way 16:51 kilbith with that, we can also benefit from having blurred background on formspecs 16:51 kilbith and probably lotsa other applications I couldn't think of 16:52 sfan5 rubenwardy: yes 17:20 MTDiscord @rubenwardy, sorry, not this weekend 17:25 v-rob Gosh, I don't have a dev wiki account. 17:25 rubenwardy PM me your email, and I can make one 17:26 rubenwardy although, it'll need to be V-rob 17:47 appguru kilbith: I feel like the fast OIT impl. must be compromising on accuracy of composition (which is probably fine though, as it will be correct in the common cases and only slightly wrong in most edge cases). I've left a comment with some questions: https://github.com/MultiCraft/MultiCraft2/pull/35#issuecomment-1049039696. 17:48 appguru OIT is preferable if implemented efficiently as it immediately covers all possible cases (nodes, entities, particles) *and* can cover intersecting tris (for which depth sorting would have to split the tris to be able to sort them) 17:55 rubenwardy https://github.com/rubenwardy/minetest/commit/35a020ec3e6ebe636181bc41cad84f99b27485b2 17:56 rubenwardy actually, #12093 17:56 ShadowBot https://github.com/minetest/minetest/issues/12093 -- Fix broken dependency enabling due to missing `enabled` field by rubenwardy 18:33 erlehmann regarding https://github.com/minetest/minetest/pull/11567 – there is a much simpler way to speedup media loading a bit without invalidating everyone's cache – remember the timestamp when each file was hashed and only hash the files again when the file was updated. as my recent profiling showed, minetest seems to do a lot of needless sha1() on files. if anyone wants to help me fixing that, i'd be thankful. mostly i do not know where to save 18:33 erlehmann the timestamps. in an sqlite db maybe? 18:48 rubenwardy minetest should just store sha1 in memory when loading the server 18:49 sfan5 he's talking about the client 18:49 sfan5 erlehmann: did you measure how many % of loading time that is 18:49 rubenwardy isn't the file name the hash? 18:50 sfan5 as far as I understood this is the issue: when the client reads a file from disk cache it hashes it again to ensure that it matches the hash 18:51 rubenwardy unnecessary, but I don't see that causing huge slowdowns unless it does it many time 18:51 rubenwardy well, corruption I guess 18:55 erlehmann sfan5 let me look up my callgrind logs or make some new ones 18:55 Pexin is it possible that was done intentionally to prevent users from tampering with cached files as a means of cheating? 18:55 sfan5 sure 18:55 Pexin I mean, if so, lame. but possible 18:55 sfan5 on the other hand texture packs exists 18:55 sfan5 s/s$// 18:56 erlehmann as i said, it is pretty easy to skip the hash check if the file has not been touched since it was written, then you get the best of both worlds. 18:57 erlehmann the main issue i have with it that it represents a slice of loading media where disk and CPU are utilized as much as possible without any need. 18:57 rubenwardy it only makes sense to protect against corruption, texture packs can override textures as said 18:57 erlehmann brb callgrind 18:57 rubenwardy well, there's also meshes which texture packs can't override 18:57 rubenwardy callgrind slows down the process, so will cause network transfer to have a much lower impact 18:58 rubenwardy an instrumentation profiler like perf might be better for network-related things 18:58 rubenwardy err, or sampling-based 18:58 erlehmann but the point is, there is not much network transfer at this point? 18:58 erlehmann a fully filled cache is hashed all the time 18:58 erlehmann if you can point me to a better profiler, show and tell please 18:59 erlehmann i only used callgrind because i figured out that, indeed, strace and ltrace aren't getting me anywhere than “wow much syscall” 19:05 erlehmann am compiling newest minetest now, will take a while 19:13 rubenwardy sfan5: remind me, what's the condition for switching to a new C++ version? 19:13 rubenwardy oldest Debian stable? 19:15 sfan5 there is nothing absolute but I'd say debian oldstable and the Ubuntu previous-previous LTS should still be able to build it 19:15 sfan5 oh and also MSVC needs to be able to do it 19:15 erlehmann rubenwardy which feature are you thinking of? 19:15 rubenwardy ok cool 19:15 rubenwardy erlehmann: mostly just wondering 19:15 rubenwardy but C++17 has std::optional and std::filesystem, which are both nice 19:16 sfan5 (where "able to build" = a compiler can be installed from the official repos that builds the required C++ version) 19:16 rubenwardy we have our own versions, but the latter in particular would allow deleting lots of code 19:16 rubenwardy although that being said, have we switched to std::thread yet or to we still use pthread 19:17 sfan5 yes 19:17 rubenwardy I guess if it's not broken, don't fix it (until it causes issues) 19:22 rubenwardy merging #12059 in 10 19:22 ShadowBot https://github.com/minetest/minetest/issues/12059 -- Lua API documentation: Various fixes (2) by SmallJoker 19:22 erlehmann rubenwardy i am sorry, the performance thing has to wait, i have found 1 new crash and 1 new hang lol 19:57 erlehmann can someone explain to me why i am the first one to notice this? https://github.com/minetest/minetest/pull/12097 19:57 erlehmann or am i not 20:00 MTDiscord what??? 20:00 MTDiscord it just prints an error if minetest game doesn't exist, it doesn't prevent minetest from starting 20:00 erlehmann try it 20:00 erlehmann it segfaults for me 20:00 MTDiscord I just tried it 20:01 erlehmann ok let me see if i can get more out of the exiting immediately case 20:01 Krock rubenwardy: 10 hours? 20:03 MTDiscord also tried it without any games at all. it just gives me an "2022-02-23 21:00:57: ERROR[Main]: Game specified in default_game [minetest] is invalid." error but it just carries onwards without crashing 20:03 Krock it segfaults for me 20:03 Krock then please fix the segfault instead 20:07 rubenwardy Krock: what are those commit messages even 20:08 Krock rubenwardy: https://irc.minetest.net/minetest-dev/2022-02-22#i_5942881 20:08 rubenwardy I'll let you merge 20:08 rubenwardy I don't mind either 20:08 rubenwardy but if you don't squash, then better messages would be nice 20:08 Krock that's the partial reason why I asked, yes. 20:09 rubenwardy I have a slight preference to squashing, would make the commit message easier to write 20:09 Krock yes, and it's all about documentation anyway 20:11 erlehmann Krock, Sublayer plank ubsan complains there is an unconditional load of an invalid value in CFileSystemType line 799 right at the point where it segfaulted. sorry for being too eager here! 20:13 erlehmann thanks for the quick check! 20:13 erlehmann now i just wonder why it segfaults here and not there :/ 20:16 Krock squish squash merging #12059 in 5 minutes 20:16 ShadowBot https://github.com/minetest/minetest/issues/12059 -- Lua API documentation: Various fixes (2) by SmallJoker 20:20 Pexin Krock: I feel compelled to note that especially with your username, I get the mental impression of an orc software dev gleefully hitting his workstation with a giant club "SQUISHY SQUASH!" 20:20 Pexin sorry if offtopic 20:21 Krock I might laugh about that tomorrow 20:21 Krock merged 20:22 Krock sadly violence does not achieve anything in software 20:25 rubenwardy hacking together code, with a machete 20:34 sfan5 erlehmann: Minetest Game is in CDB btw 20:36 MTDiscord erlehmann: ah it's alright lol, we all make mistakes sometimes :) 20:36 MTDiscord I'm a little bit curious about the ubsan message though, does it mean Irrlicht's CFileSystem? 20:36 erlehmann sfan5 i see. still weird to have a fallback value specified that is not actually available by default 20:36 erlehmann yes 20:37 erlehmann Subplayer plank, give cmake the argument -DCMAKE_CXX_FLAGS='-fsanitize=undefined -fno-sanitize=vptr' and then compile again, you should be able to see it 20:38 erlehmann you have to do the vptr suppression or else you see too much garbage 21:26 MTDiscord hm, I gave that a try and for some strange reason I can't get it to segfault even when compiling with those flags. it does however print a runtime error to the terminal that some variable related to maphen noise is outside the boundaries for int, but that's not relevant to this issue 21:26 MTDiscord no crash though 21:37 x2048 I'd like to hear opinions on #11696. kilbith_ and @luatic have shared link to order-independent transparency (https://jcgt.org/published/0002/02/09/), which has more potential than BSP trees. 21:37 ShadowBot https://github.com/minetest/minetest/issues/11696 -- Depth sorting for node faces by x2048 21:38 x2048 So the questions are: (1) Do we still merge BSP tree (and revert later when/if OIT is implemented) 21:40 x2048 And (2) Would clean room requirements apply here? I have seen the patch in MultiCraft 21:48 MTDiscord Seems better to merge something that works qnd is complete thqn throw it away for something better which is not complete qnd if completed dowm the line could replace the current implementation 21:50 MTDiscord . s/q/a 23:13 erlehmann Sublayer plank it segfaulted for me *without* those flags, not with them. but did you get the filesystem complaint from ubsan?