Time |
Nick |
Message |
00:07 |
|
Alias2 joined #minetest-dev |
00:26 |
|
proller joined #minetest-dev |
01:37 |
MTDiscord |
<jordan4ibanez> Oh so it builds it into an atlas in memory? |
02:26 |
|
v-rob joined #minetest-dev |
03:14 |
|
kilbith joined #minetest-dev |
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 |
<Jonathon> @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 |
03:28 |
|
queria joined #minetest-dev |
03:33 |
|
queria joined #minetest-dev |
03:49 |
|
kilbith joined #minetest-dev |
04:10 |
|
Yad joined #minetest-dev |
04:16 |
|
v-rob joined #minetest-dev |
05:00 |
|
MTDiscord joined #minetest-dev |
05:18 |
|
Huutha joined #minetest-dev |
06:14 |
|
v-rob joined #minetest-dev |
07:23 |
|
calcul0n joined #minetest-dev |
08:15 |
|
v-rob joined #minetest-dev |
08:19 |
|
hlqkj joined #minetest-dev |
08:55 |
|
erlehmann joined #minetest-dev |
09:34 |
|
YuGiOhJCJ joined #minetest-dev |
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 |
11:05 |
|
HuguesRoss joined #minetest-dev |
11:46 |
|
fluxionary joined #minetest-dev |
12:04 |
|
proller joined #minetest-dev |
12:39 |
MTDiscord |
<luatic> 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 |
13:22 |
|
m42uko_ joined #minetest-dev |
13:35 |
|
proller joined #minetest-dev |
14:24 |
|
Taoki joined #minetest-dev |
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 <unknown> |
14:32 |
ShadowBot |
rubenwardy: Error: That URL raised <HTTP Error 404: Not Found> |
14:32 |
rubenwardy |
is an example |
14:32 |
rubenwardy |
normally, that <unknown> 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 <unknown> 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 |
<savilli> 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 <unknown> |
14:42 |
rubenwardy |
#00 pc fffd80753715e8b0 <unknown> |
14:42 |
ShadowBot |
rubenwardy: Error: That URL raised <HTTP Error 404: Not Found> |
14:42 |
ShadowBot |
rubenwardy: Error: That URL raised <HTTP Error 404: Not Found> |
14:42 |
rubenwardy |
https://developer.android.com/ndk/guides/ndk-stack |
14:43 |
MTDiscord |
<savilli> yup, what's in that file? |
14:44 |
rubenwardy |
I pasted it |
14:45 |
MTDiscord |
<savilli> only two addresses? |
14:45 |
rubenwardy |
yes |
14:45 |
MTDiscord |
<savilli> 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 <HTTP Error 404: Not Found> |
14:46 |
rubenwardy |
another has 0000007d65cbfa3c / 000000000030fe59 |
14:47 |
MTDiscord |
<savilli> it's hopeless |
14:47 |
MTDiscord |
<savilli> if ASLR is enabled it can be really any library |
14:50 |
|
kilbith joined #minetest-dev |
14:50 |
rubenwardy |
another one is pc 00000000007a5e14 anon_inode:dmabuf / pc 00000000002b52b8 <unknown> |
14:51 |
rubenwardy |
I doubt there's much to gleam from this, we need better stack traces and debugging tools |
14:52 |
MTDiscord |
<savilli> no way you would jump into anon_inode:dmabuf normally |
14:53 |
rubenwardy |
yeah it's weird |
14:53 |
MTDiscord |
<savilli> 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 |
15:18 |
|
proller joined #minetest-dev |
15:44 |
|
Fixer joined #minetest-dev |
15:50 |
|
v-rob joined #minetest-dev |
16:10 |
|
v-rob joined #minetest-dev |
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:25 |
|
calcul0n joined #minetest-dev |
16:28 |
|
calcul0n joined #minetest-dev |
16:36 |
|
Alias joined #minetest-dev |
16:40 |
|
kilbith joined #minetest-dev |
16:43 |
|
calcul0n joined #minetest-dev |
16:43 |
|
kilbith joined #minetest-dev |
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:45 |
|
appguru joined #minetest-dev |
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:10 |
|
tekakutli joined #minetest-dev |
17:12 |
|
v-rob joined #minetest-dev |
17:20 |
MTDiscord |
<Hugues Ross> @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:27 |
|
proller joined #minetest-dev |
18:29 |
|
tekakutli joined #minetest-dev |
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 |
|
behalebabo joined #minetest-dev |
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:39 |
|
v-rob joined #minetest-dev |
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 |
<Sublayer plank> what??? |
20:00 |
MTDiscord |
<Sublayer plank> 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 |
<Sublayer plank> 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 |
<Sublayer plank> 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 |
<erlehmann> 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:35 |
|
kilbith joined #minetest-dev |
20:36 |
MTDiscord |
<Sublayer plank> erlehmann: ah it's alright lol, we all make mistakes sometimes :) |
20:36 |
MTDiscord |
<Sublayer plank> 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 |
20:41 |
|
v-rob joined #minetest-dev |
21:07 |
|
kilbith_ joined #minetest-dev |
21:12 |
|
x2048 joined #minetest-dev |
21:26 |
MTDiscord |
<Sublayer plank> 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 |
<Sublayer plank> no crash though |
21:27 |
|
kilbith__ joined #minetest-dev |
21:30 |
|
kilbith_ joined #minetest-dev |
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:41 |
|
proller joined #minetest-dev |
21:48 |
MTDiscord |
<Jonathon> 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 |
<Jonathon> . s/q/a |
22:18 |
|
proller joined #minetest-dev |
22:36 |
|
v-rob joined #minetest-dev |
22:41 |
|
v_rob joined #minetest-dev |
22:51 |
|
appguru joined #minetest-dev |
23:13 |
|
olliy1or joined #minetest-dev |
23:13 |
erlehmann |
Sublayer plank it segfaulted for me *without* those flags, not with them. but did you get the filesystem complaint from ubsan? |