Minetest logo

IRC log for #minetest, 2022-02-13

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

All times shown according to UTC.

Time Nick Message
00:14 Boingo joined #minetest
00:18 Alias2 joined #minetest
00:27 v-rob joined #minetest
01:02 kamdard_ joined #minetest
01:14 v-rob joined #minetest
03:28 queria joined #minetest
03:34 queria joined #minetest
03:36 kamdard joined #minetest
03:37 v-rob joined #minetest
03:41 riff-IRC joined #minetest
05:00 MTDiscord joined #minetest
05:07 Yad joined #minetest
05:11 lemonzest joined #minetest
05:42 Oksanaa joined #minetest
06:01 riff-IRC joined #minetest
06:30 citrons I am having formspec problems. I can't get the scrollbar to work
06:31 citrons I don't understand what units it uses, and whatever I set min or max to in scrollbaroptions, it doesn't do anything
06:31 citrons the handle of the scrollbar just takes up the entire scrollbar
06:33 citrons I have code which generates a formspec that looks like this https://0x0.st/oXCI.txt
07:17 calcul0n joined #minetest
07:25 v-rob joined #minetest
07:35 definitelya joined #minetest
08:12 definitelya ### `scrollbar[<X>,<Y>;<W>,<H>;<orientation>;<name>;<value>]`
08:13 definitelya line 2758 in lua_api.txt
08:13 Markow joined #minetest
08:14 independent56 joined #minetest
08:16 definitelya >0<
08:29 Talkless joined #minetest
08:35 definitelya lines from 1346 for coordinate info.
08:49 grouinos joined #minetest
09:35 moongaia joined #minetest
09:55 erlehmann wanna breack bedrock in mineclone2 current master branch? just use blazes, their explosions can do that.
10:02 tech_exorcist joined #minetest
10:06 Fleckenstein joined #minetest
10:11 Fixer joined #minetest
10:14 Ingar n
10:17 specing joined #minetest
10:23 MTDiscord <Sublayer plank> breaking bedrock on  t h e  o l d e s t  a n a r c h y  s e r v e r  i n  m i n e t e s t
10:30 erlehmann i believe that was clamity
10:30 erlehmann and yes, i did berak a bit of bedrock there lol
10:30 erlehmann using multiple methods
10:30 erlehmann but tbh i never figured out the blaze thing until this morning
10:30 erlehmann mineclone2 mobs were cool, then jordan made them more cool, but abandoned it halfway through
10:31 erlehmann so now you have stuff like this for, i don't know, probably more than 10 months
10:31 erlehmann cora proposed to just copy over the old mobs from mineclonia to have something that works
11:01 Andrew joined #minetest
11:01 Andrew Has anyone seen the Amongus mod recently?
11:01 Andrew I'm testing it on a test server, it seems to work
11:02 Andrew (fly and noclip are messed up, not a problem lol)
11:12 tech_exorcist Andrew: https://github.com/search?q=minetest%20among%20us one of those? (I did look on the forums and on content.minetest.net, and I only found a game request from 2020: https://forum.minetest.net/viewtopic.php?f=49&amp;t=25485)
11:13 Andrew https://github.com/Graines2Tech/minetest-amongus
11:13 tech_exorcist thanks
11:14 Andrew It's quite good, just hard to figure out without any documentation
11:14 Andrew * quick start guides, etc
11:15 jvalleroy joined #minetest
11:20 jvalleroy joined #minetest
11:20 tech_exorcist is it available in any languages other than French?
11:22 kabou joined #minetest
11:22 Andrew It seems to be in English to me
11:22 kabou Q about the android version of minetest:
11:22 Andrew Granting worldedit by default, are you kidding me?
11:23 kabou is there a way to get back to the menu?
11:23 kabou I've looked at docs, wiki, etc, but no mention of it anywhere
11:23 tech_exorcist kabou: press your device's "Back" button, which will open the pause menu
11:24 kabou tech_exorcist tnx a bunch
11:24 tech_exorcist from there, press "Go to Menu" or similar (I forgot how it's called in English)
11:24 tech_exorcist you're welcome :)
11:24 kabou wish that was documented somehow
11:24 kabou gonna test if it actually works for me and put in an issue about the lack of documentation
11:25 kabou such an issue would at least serve as documentation for others who are looking for that answer
11:25 tech_exorcist maybe you can add it somewhere in the wiki
11:25 tech_exorcist let me check
11:25 kabou I have no wiki privs
11:25 erlehmann amogus
11:25 erlehmann i have a friend in rome you know
11:25 erlehmann anyone can guess his name?
11:25 Andrew It works partially
11:25 MTDiscord <Sublayer plank> amogus
11:25 Andrew many bugs, irnoing out
11:25 erlehmann SUSSUS AMOGUS
11:26 erlehmann he has a wife you know
11:26 erlehmann they call her
11:26 erlehmann IMPOSTORIA
11:26 tech_exorcist https://wiki.minetest.net/Minetest_on_Android
11:27 kabou tech _exorcist confirmed hte back button works
11:27 MTDiscord <Sublayer plank> minetest on android, and 99 other hilarious jokes
11:27 kabou but I did not find any mention of it on the wiki
11:28 kabou did i miss it?
11:28 independent56 joined #minetest
11:28 kabou sublayer_plank indeed and it crashes and burns since 5.5
11:28 erlehmann hey kabou about the mapping table
11:28 erlehmann the reason i do not have one is simply because i want my improved mcl_maps to work first
11:29 erlehmann i am laying the ground work
11:29 kabou erlehmann all mcl games crash upon startup on android with no usable info in debug log
11:29 MTDiscord <Sublayer plank> kabou: does minetest 5.5 crash on android?
11:29 erlehmann that is unfortunate
11:29 erlehmann literally *no* info in debug log?
11:29 kabou erlehmann the mmaps its fine, just wanted to give you a pointer to consider for later times when the cart. table may be added
11:29 MTDiscord <Sublayer plank> please check logcat if you're able to, it should give a stacktrace
11:29 erlehmann kabou did you try maps pr branch?
11:29 kabou erlehmann  it seems to be a hard crash in mt engine
11:30 erlehmann well there are lots of ways that can happen
11:30 kabou erlehmann no, busy with other stuff, sry
11:30 erlehmann ok
11:30 erlehmann so about the android
11:30 erlehmann what does logcat say
11:30 MTDiscord <Sublayer plank> unfortunately there's no accessible debug apks without building from source so the stacktraces will be more or less useless... >.>
11:31 kabou erlehmann couldnt yet be bothered to install full on android dev suite in order to use logcat
11:31 kabou but rubenwardy is looking into it
11:31 erlehmann yes android sucks i know lol
11:31 erlehmann good
11:31 kabou there is an mt issue about it
11:31 lemonzest joined #minetest
11:31 MTDiscord <Sublayer plank> you just need adb which is part of the regular android platform tools
11:31 tech_exorcist ^
11:32 kabou right now on my agenda is getting familiar with lua, mt lua api, mcl api and conventions
11:32 kabou android dev stuff is low prio
11:32 kabou I'd rather focus on getting my android devs freed up with true free software
11:33 kabou so not very interested in diving into the google dev ocean
11:33 kabou it may be ocean sized, but IMHO it is still a swap
11:33 kabou swamp
11:34 Andrew Is there --terminal in minetestserver?  One way to find out
11:34 definitelya Android is the deepest swampiest swamp for mobile progress.
11:34 MTDiscord <Sublayer plank> hm, I probably should try to reproduce the crash using a debug apk and see if there's anything useful in the stacktraces
11:34 kabou imma bit of a free software cultist
11:34 kabou tho pragmatic
11:34 MTDiscord <Sublayer plank> minetest android 5.5 seems to be really unstable, the update was even halted for the play store
11:34 Andrew Yes, there is
11:35 kabou my device got the update, so that I could witness the breakage
11:35 MTDiscord <Sublayer plank> Andrew: minetestserver is basically just minetest but without a client so yeah, all commandline arguments still exist
11:35 Andrew Yeah
11:35 Andrew *uses --go --address*
11:36 kabou allright, i have another question, about thye forums
11:36 MTDiscord <Sublayer plank> ugh, when is the android version getting the gamebar, I'm sick of having to mod builtin to get it
11:37 kabou cora took up maintenainership of mineclone2 but the lead post of the mineclone2 thread in the wip games subforum is still owned by eliasfleckenstein, who resigned recently
11:37 kabou who can fix this up on the forum?
11:38 kabou cora isn't a forum regular and I don't even have a forum account, but this should be fixed by a forum admin
11:38 kabou who to talk to?
11:39 MTDiscord <Sublayer plank> hm, I can't reproduce the crash on android with mcl2
11:39 MTDiscord <Sublayer plank> 5.5 ofc
11:42 kabou Sublayer plank try installing any of the mineclones
11:44 MTDiscord <Sublayer plank> can't reproduce either with mcl2 or 5 >.>
11:45 MTDiscord <Sublayer plank> is it because I use ogles2?
11:49 kabou dunno, how much ram does you android thingy have?
11:50 kabou mine has 2GB RAM, which mt adroid apparently finds lacking#
11:51 kabou my android is ver 8.smth
11:52 * Andrew builds the amongus server with another person
11:52 kabou issue submitted #12070
11:52 ShadowBot https://github.com/minetest/minetest/issues/12070 -- Getting back to menu on android client underdocumented
11:52 MTDiscord <Sublayer plank> I've got 4GB, so maybe it's an OOM issue?
11:53 kabou Sublayer_plank that is what #12062 suggests
11:53 ShadowBot https://github.com/minetest/minetest/issues/12062 -- Frequent crashes on Android, no error log in debug.txt
11:55 kabou imho its defo an issue, as a) no crash info logged; b) lots of android clients have 2GB ram
11:56 erlehmann minetest should not even use 2GB RAM using any of the mcl games
11:57 erlehmann the only time where i have seen it using more than ~1.6G VIRT ~900 RES or so was when a memory leak happened
11:57 erlehmann which can indeed be the case
11:57 erlehmann look at the mineclonia fire PR, there were two memory leaks in fire spread code
11:57 erlehmann i believe mineclone5 may have included that code, not sure
11:58 erlehmann (the one where the bugs were not fixed, surely it will have the fixed version soon)
12:11 Andrew Wait, what's the difference between //allocate and //load?
12:11 Andrew I only used load
12:12 MTDiscord <Sublayer plank> minetest has memory leaks even on desktop where it will just progressively use more and more memory as you leave it open and repeatedly join and quit worlds, it's probably way worse on a device with more limited resources like a phone
12:12 MTDiscord <Sublayer plank> I've got some older phones with less memory, I should probably build a debug apk of 5.5 and test it there
12:13 * Andrew wants a way to load mods without restarting
12:16 MTDiscord <Sublayer plank> how would that work lol
12:16 erlehmann the answer is obviously: software is magic and I WANT IT TO JUST WORK
12:17 kabou do what I mean, not what I say
12:17 kabou the core essence of people's computer problems
12:18 kabou I learned so much about humans from computers
12:19 kabou I even came to believe that there are parapsychological aspects to language
12:19 definitelya kabou: Why did you need to learn about humans? Are you cyborg? >.>
12:19 kabou the transference of meaning
12:19 kabou if you want to ponder about what it means to be human, watch these movies:
12:19 kabou blade runner
12:19 TomTom joined #minetest
12:19 kabou 2001 a space oddysee
12:20 kabou in space odyssee, HAL is actually the only round person
12:20 kabou ie the only one exhibiting feelings and active empathy
12:20 erlehmann next up: cylons did nothing wrong, change my mind
12:21 kabou all th ehuman characters appear robotic
12:21 kabou check it out if you want
12:21 independent56 joined #minetest
12:21 kabou in blade runner, it is even more dramatic, tho more obfuscated
12:21 kabou basically "replicants" are what humans are and do
12:21 kabou no real emotions
12:22 kabou stunted development
12:22 kabou there was a big discussion in the blade runner fan communtiy wether deckard (the protagonist) was himself a replicant
12:23 erlehmann i know the answer to the turtle in the desert question
12:23 kabou if you look closely (andspell out the dialogue) it is kinda obvious that all the personages are replicants
12:23 erlehmann you encounter a turtle in the desert lying on the back, but you do not help it to get upright, why
12:23 erlehmann there are two answers to this
12:23 kabou there is only doubt wether Gaff is one. he might be, might not be
12:23 definitelya help truttle
12:23 erlehmann the answer is
12:24 erlehmann 1. you are yourself a turtle lying on its back
12:24 definitelya hot
12:24 erlehmann 2. turtles are shaped like gömböc and can upright themselves
12:24 definitelya Cause it's a desert
12:24 erlehmann https://en.wikipedia.org/wiki/G%C3%B6mb%C3%B6c
12:24 kabou erlehmann notice how the interviewee is dressed as an institutionalized mental patent and the interviewer as a psychiatrist
12:24 definitelya Hot turtle
12:24 kabou also noticed
12:24 erlehmann > known physical example of a class of convex three-dimensional homogeneous bodies, called mono-monostatic, which, when resting on a flat surface have just one stable and one unstable point of equilibrium. The existence of this class was conjectured by the Russian mathematician Vladimir Arnold in 1995 and proven in 2006
12:25 kabou also notice the ambience of hypnotism and intimidation about the questioning
12:25 erlehmann > Gömböc, is the first mono-monostatic shape which has been constructed physically. It has a sharpened top, as shown in the photo. Its shape helped to explain the body structure of some tortoises in relation to their ability to return to equilibrium position after being placed upside down.
12:25 definitelya kabou: Those movies are really transcendental, well said.
12:26 definitelya They almost let you grasp the concept of a singularity (man and machine, united in body and spirit).
12:26 kabou definitely I have always wondered why I rarely read the observations I made above in discussions about / descriptions of these movies
12:27 kabou it seems so fundamental to the drama of these art works
12:27 kabou btw, another funny one is "the birds" by hitchcock
12:27 kabou the birds are really "women"
12:28 kabou "bird" is british slang for "girl"
12:28 erlehmann wow
12:28 erlehmann soon you say
12:28 kabou look at the movie from a distance and it makes total sense
12:28 erlehmann that the train going into a tunnel
12:28 erlehmann is a symbol for something sinful
12:28 Fleckenstein cheese pizza
12:28 kabou the bird expert featured in the movie is a lesbian - lol
12:28 erlehmann the bird is the word
12:29 erlehmann b-b-b-bird-bird-bird
12:29 erlehmann b-b-bird
12:29 kabou btw the author of the original story that hitchcock made into a movie is also interesting
12:31 definitelya >0<
12:32 definitelya Something sinful
12:32 independent56 Is there a mod which detects crashes and gives users the error info when they join?
12:32 Fleckenstein no
12:33 Fleckenstein because when the server crashes
12:33 Fleckenstein its crashed
12:33 Fleckenstein ded
12:33 kabou daphne du maurier, alleged part time lesbian herself,  was the granddaughter of  george du maurier - author of "svengali"
12:33 independent56 Shame
12:33 definitelya Fleckenstein: Please beehave
12:33 Fleckenstein wdym
12:33 definitelya s/beehave/behave
12:33 Fleckenstein this is an answer to the question
12:33 kabou svengali is a true depth charge that is commonly looked away from in contemporary cultural review
12:34 definitelya I have been defeated, once more.
12:34 erlehmann https://youtube.com/watch?v=uSlB4eznXoA
12:34 erlehmann “alleged part time lesbian”
12:34 erlehmann lol
12:35 erlehmann b-b-bird-bird-bird
12:35 erlehmann b-b-bird
12:36 kabou I'd like to see family guy's take on "svengali" - considering how the show is a big toddlerish witewash of the cia
12:36 kabou nuff spiracies for now
12:36 kabou figure it out ppl
12:36 erlehmann you are confusing family guy with american dad
12:36 kabou oh yeah right, sry
12:37 kabou i'm not really into tv and stuff
12:37 kabou beavis and butthead is where i tuned out and turned off
12:38 * kabou counts his grey hair
12:38 kabou surprisingly few actually
12:39 * kabou lives the easy life
12:40 kabou motto: don't fuck the system, let the system fuck itself
12:40 kabou just stand and watch in bemuse awe
12:40 kabou bemused
12:46 GNUHacker joined #minetest
12:48 MTDiscord <Sublayer plank> man why does minetest android always build so much faster than minetest on any other platform
12:48 MTDiscord <Sublayer plank> that makefile must contain magic
12:49 MTDiscord <Sublayer plank> oh no wait, it uses clang right? must be it then
12:49 Fleckenstein i just disabled vsync in my game and got 250 FPS
12:49 Fleckenstein on a machine that runs Minetest with 45 FPS
12:50 MTDiscord <Sublayer plank> coolio
12:51 MTDiscord <Sublayer plank> I wonder if the gamebar will be enabled by default on android for 5.6.0
12:51 MTDiscord <Sublayer plank> it sure could use it
12:56 erlehmann sublayer plank, why would compiling using clang be much faster?
12:56 erlehmann Fleckenstein did you get tear effects and such without vsync?
12:57 Fleckenstein no
13:02 MTDiscord <Sublayer plank> erlehmann: dunno, it's the only other difference between building for android and linux I can think of
13:03 erlehmann ???
13:03 erlehmann i thought android is linux?
13:03 Flabb joined #minetest
13:04 MTDiscord <Sublayer plank> well I mean desktop linux, where you usually compile minetest with GCC (I do, at least)
13:04 MTDiscord <Sublayer plank> I should probably also do a bit of a more scientific comparision than "hm it feels like android build is more brr"
13:05 erlehmann I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
13:05 erlehmann https://stallman-copypasta.github.io/
13:05 erlehmann ^^
13:06 erlehmann sublayer plank if you want to have a faster build on desktop you a) should probably ditch make b) should eventually ditch cmake c) only use ninja if you manage to make it check deps based on hashes, not timestamps (it's dog slow otherwise)
13:07 erlehmann or ask josiah_wi who is working on that
13:07 erlehmann that cmake monstrosity
13:07 erlehmann josiah_wi probably knows much better what makes the build slow than i do
13:07 Fleckenstein what do i do about #include dependency hell?
13:08 erlehmann fleckenstein explain more?
13:08 Fleckenstein well i dont really know what files to include and what not
13:08 MTDiscord <Sublayer plank> funnily enough android is not GNU/Linux since it uses busybox and its own libc
13:08 Fleckenstein i mean i can add include directives until it works
13:09 MTDiscord <Sublayer plank> anyways does cmake-generated ninja files check based on hashes?
13:09 erlehmann sublayer plank yeah you mean android/linux vs gnu/linux
13:09 erlehmann sublayer plank AFAIK ninja rejected the patch to make it use hashes lol
13:09 Fleckenstein but if there is file.h that includes stdbool because it needs that for one of its data structures, and i have file.c that includes file.h and uses data structures from there as well as bools
13:09 definitelya Android is Goog/Linux(TM)
13:09 MTDiscord <Sublayer plank> oh welp that sucks
13:09 Fleckenstein should i include stdbool in file.c again or no
13:09 Fleckenstein and is there some way to automate it
13:09 erlehmann Fleckenstein yes include guards will help you
13:10 Fleckenstein yea thats not the problem
13:10 erlehmann to make sure it is only included once
13:10 Fleckenstein i know and im already doing that
13:10 Fleckenstein but its still a bit messy if i never know what is actually required to be included and what not
13:10 sfan5 I generally wouldn't believe erlehmann's claims such as that ninja is "dog slow" because it does not use the solution he personally considers ideal
13:11 Fleckenstein and if i dont include stdbool, and then dont use file.h anymore and remove the include and suddenly the unrelated bools stop working
13:11 Fleckenstein its more a tidyness problem that bugs me
13:11 sfan5 Fleckenstein: file.c should not include what file.h already includes (they belong to eachother), but if you have anotherfile.c it should include stdbool anyway even if it already transitively included
13:12 Fleckenstein im talking about the anotherfile.c case
13:12 Fleckenstein now what if bools are only used in the context of interaction with the structures from file.h
13:13 sfan5 then it's file.h's responsibility to include it
13:13 erlehmann sfan5 yeah, but then again you also did not believe that PNG has so much overhead that even uncompressed tga is smaller for small pictures. i have measured it and the problem is not ninja, the problem is timestamp-based freshness-calculation.
13:13 Fleckenstein where do i draw the line, or do i really only include stuff that has never before included, even if it makes logically more sense
13:13 Fleckenstein to include it again
13:13 erlehmann you can measure it too
13:13 sfan5 consider this: any header file you have should not raise compiler errors if you create an empty file that is '#include "myfile.h"'
13:14 Fleckenstein yes yes
13:14 erlehmann sfan5 hash-based freshness becomes slower when during the build you have to hash a disk image or something, of course.
13:14 Fleckenstein the question is more about what to include in the c file
13:14 erlehmann but for most stuff the hashing is basically free and *faster* than building something twice
13:15 erlehmann (for 4GB sd card image it is generally not)
13:15 sfan5 you should aim for the same but it happens more often that you accidentally have transitive dependencies
13:15 erlehmann as i said, measure measure measure
13:16 erlehmann see here, a problem we already know btw https://github.com/ninja-build/ninja/issues/1459
13:16 Fleckenstein if i have my_struct.h that does #pragma once #include <stdool.h> typedef struct {bool a} MyStructure; and i have file.c that does #include "my_struct.h" bool a; MyStructure b;
13:16 erlehmann > I use git a lot and it is annoying that simply changing branches triggers rebuilds. Ideally, I would be able to switch from my current work branch to some other branch, not touch any files and then switch back to the original branch and not have to rebuild anything at all.
13:16 Fleckenstein should file.c also include stdbool or no
13:16 erlehmann sfan5 sublayer plank fleckenstein here is the thing, you can try it out https://github.com/ninja-build/ninja/pull/929
13:17 sfan5 Fleckenstein: it should
13:17 Fleckenstein oki
13:17 Fleckenstein thats what i have been doing p much
13:17 erlehmann so what they say is
13:17 erlehmann > Ninja is an mtime-based system for speed reasons
13:18 Fleckenstein but its difficult to draw the line between "usage of bool is unrealated to MyStructure" and "it is related"
13:19 Fleckenstein damn this is really one of the less nice sides of C
13:19 erlehmann but truly, you only need to check ctime
13:19 erlehmann and only if ctame changed you hash
13:19 MTDiscord <Sublayer plank> erlehmann: what hashing algo does the PR use? xxHash?
13:19 sfan5 erlehmann: that looks irrelevant for the "clean build once" case sublayer plank was wondering about
13:19 sfan5 but maybe you meant in general
13:20 erlehmann sfan5 not if you touch something during the build (which surprisingly many projects do)
13:20 erlehmann but yeah in general
13:20 erlehmann in general it makes sense to take ctime (NOT mtime)
13:21 erlehmann and if it is not matching, hash the target
13:21 erlehmann this makes the build faster in general if your hashing is faster than rebuilding
13:21 erlehmann and it makes the first build faster if you are relying on stuff you depend on a lot
13:21 erlehmann like precompiled headers
13:22 MTDiscord <Sublayer plank> yeah it's sorta irrelevant for clean builds but I consider short and quick incremental builds to be quite important too. irritating to change one variable and then it needs to recompile half of the engine, or to start over the entire build process when makepkg reclones minetest
13:22 erlehmann or if you rebuild files during the build twice
13:22 erlehmann well, they have to be *really* clean
13:22 erlehmann i.e. no touchy any thing
13:23 erlehmann i have several cases where i rebuild my website
13:23 erlehmann it is stored in git
13:23 erlehmann and unsurprisingly, doing git stuff during the build confuses build systems that rely on timestamps
13:25 MTDiscord <Sublayer plank> hmm... does ninja use ninja to compile lol
13:25 erlehmann btw this is really not about hash functions
13:25 erlehmann but about a build system having a way to say, at runtime, wait, this target considered dirty is clean after all
13:26 erlehmann hash functions are just the most common way to do that
13:26 erlehmann many systems lack such a check
13:38 Fleckenstein can poll a condition variable in a nonblocking way?
13:40 Fleckenstein (in pthread)
13:53 sfan5 if you are asking this question an atomic bool is likely what you actually want
13:54 sfan5 the answer is yes though, pthread_cond_timedwait can do it
13:54 Fleckenstein > atomic bool is likely what you actually want
13:55 Fleckenstein haha this is literally what i have been using
13:55 erlehmann is this the volatile thing again
13:55 Fleckenstein yes
13:55 erlehmann diese variable ist voller teile
13:56 Fleckenstein but its a bool
13:56 Fleckenstein not a struct
13:56 Fleckenstein lol
13:56 Fleckenstein it does not have different parts
13:56 erlehmann do you want a sneaky C memory saving tip
13:56 sfan5 another tip: if you are using volatile you are doing it wrong
13:57 erlehmann #define struct union
13:57 Fleckenstein im using -O3 maybe thats my mistake
13:57 erlehmann no
13:57 erlehmann if your code is optimization-unstable, it is likely your code and not the compiler that contains a mistake
13:57 sfan5 if compiler optimizations break your program then it was already broken
13:57 Fleckenstein sfan5: i use a atomic bool to wait for a thread like this: while (! finished);
13:57 Fleckenstein and it optimizes it away
13:57 erlehmann for once sfan5 and me agree lol
13:57 sfan5 uhm
13:57 Fleckenstein without volatine
13:57 Fleckenstein *volatile
13:57 Fleckenstein so i wanted to switch to a condition variable
13:57 sfan5 C or C++?
13:58 erlehmann C
13:58 Fleckenstein C
13:58 Fleckenstein the thing is there is another thread waiting for the same thing where i need it to be nonblocking
13:58 sfan5 you should be using this https://en.cppreference.com/w/c/atomic/atomic_load
13:58 Fleckenstein so should i use both a condition variable and an atomic bool
13:58 sfan5 but more importantly have you heard of pthread_join?
13:59 Fleckenstein yea but i dont want to join
13:59 Fleckenstein because i dont want the thread to end first
13:59 erlehmann https://stackoverflow.com/questions/21579974/define-struct-union-and-define-else-still-compiles-any-c-program
13:59 erlehmann i think it may pay off to read a book on the topic tbh
14:00 Fleckenstein i have a counterexample to the struct union thing i think
14:00 Fleckenstein struct a {int b : 4;};
14:00 erlehmann well it is, of course, a joke hehe
14:00 Fleckenstein bit fields
14:00 Fleckenstein i dont think they work with unions
14:00 Fleckenstein or maybe they do idk
14:00 sfan5 if you have two waiters you need two condition variables, an atomic bool like I suggested only makes sense if all your usage is non-blocking
14:01 Fleckenstein oh ok
14:01 Fleckenstein btw how do i make an atomic bool in C? is there any difference between int in C and std::atomic_int in C++?
14:02 erlehmann Fleckenstein https://linux.die.net/man/3/pthread_cond_wait
14:02 erlehmann is this a thing you need
14:02 erlehmann ???
14:02 sfan5 you mean std::atomic<int>? atomic_int is the C type
14:02 Fleckenstein yes
14:02 Fleckenstein on my machine TM just bool is atomic
14:02 sfan5 https://en.cppreference.com/w/c/atomic <- atomics in C11
14:02 Fleckenstein but thats not the standard maybe idk
14:02 sfan5 no, nothing is atomic if you do not use the right functions
14:03 sfan5 https://en.cppreference.com/w/cpp/atomic/atomic <- std::atomic in C++11
14:03 Fleckenstein how do i install the full pthread man pages on my ubuntu system?
14:04 Fleckenstein like i have some but not all
14:04 Fleckenstein which is weird
14:04 sfan5 https://www.google.com/search?client=firefox-b-d&amp;q=libc+man+pages+ubuntu
14:07 Fleckenstein hmmm ... if i work with plain c, do i need to wrap it with a mutex?
14:07 sfan5 what is "it"
14:07 Fleckenstein the bool
14:07 Fleckenstein it does not really seem like that since it works perfectly fine without on my machine, is this really not the standard
14:08 erlehmann apt-file btw
14:08 erlehmann use apt-file search
14:08 erlehmann to figure out which package contains a file
14:08 Fleckenstein im not familiar with the man-db file structure so that would not have helped
14:09 Fleckenstein i cant really find any resources on atomic in plain C
14:09 sfan5 if you use a bool from multiple threads and wrap it in a mutex while used you're just doing by hand and more complicated what atomics could do for you
14:10 erlehmann ; apt-file search 'pthread' |grep /usr/share/man |cut -d' ' -f1| sort |uniq
14:10 erlehmann manpages-posix-dev
14:10 erlehmann manpages-dev
14:10 erlehmann glibc-doc
14:10 Fleckenstein > atomics could do for you
14:10 Fleckenstein im not going to use C++ ok
14:11 sfan5 ok?
14:11 sfan5 atomics are not exclusive to C++
14:11 Fleckenstein the problem with wrapping them in a mutex is not that i have to do that, but rather performance concerns
14:12 Fleckenstein im not sure whether its actually needed
14:13 sfan5 "can I skip on locking to save some performance" is not what you should be thinking about
14:13 sfan5 but also if you are concerned about that use atomics
14:14 Fleckenstein like i dont see a reason why a single byte should not be atomic by nature
14:15 erlehmann no type is “atomic by nature”
14:15 Fleckenstein whats gonna happen if i change it from thread A while reading it from thread B? how am i supposed to get the wrong result if everything i care about is a single bit at the beginning on the thing
14:15 sfan5 https://stackoverflow.com/a/35234900
14:16 erlehmann https://en.wikipedia.org/wiki/Memory_barrier
14:16 erlehmann > Memory barriers are necessary because most modern CPUs employ performance optimizations that can result in out-of-order execution. This reordering of memory operations (loads and stores) normally goes unnoticed within a single thread of execution, but can cause unpredictable behaviour in concurrent programs and device drivers unless carefully controlled.
14:16 Fleckenstein hmm ok
14:17 erlehmann atomics is more than a single byte
14:17 erlehmann if it is non atom
14:17 erlehmann then you may have an old copy or something
14:18 Fleckenstein yes but if its just an on/off switch?
14:18 erlehmann or compiler may reorder your execution some way, what do i know
14:18 Fleckenstein it actually does that yes
14:18 erlehmann https://en.wikipedia.org/wiki/Memory_barrier#Example
14:18 sfan5 the SO answer explain this, you should read it
14:18 erlehmann > One might expect the print statement to always print the number "42"; however, if thread #2's store operations are executed out-of-order, it is possible for f to be updated before x, and the print statement might therefore print "0". Similarly, thread #1's load operations may be executed out-of-order and it is possible for x to be read before f is checked, and again the print statement might therefore print an unexpected
14:18 erlehmann value.
14:18 ShadowBot https://github.com/minetest/minetest/issues/2 -- Burned wood
14:18 ShadowBot https://github.com/minetest/minetest/issues/1 -- GlowStone code by anonymousAwesome
14:19 erlehmann yes the SO answer is good
14:19 erlehmann > under the "as-if" rule the compiler is allowed to re-order stores and loads as it sees fit as long as all access to volatile memory occurs in the order specified by the program "as if" the program was evaluated according to the wording in the standard.
14:19 erlehmann as-if LOL
14:20 erlehmann > a seemingly innocent use of a raw int as a signaling variable in multi-threaded programming is broken, even if writes and reads may be indivisible, the ordering may break the program depending on the compiler
14:20 Fleckenstein yea ok i understand now
14:20 Fleckenstein makes sense
14:20 erlehmann did you read the SO answer though
14:20 erlehmann there is more to this
14:20 erlehmann than what i said
14:20 definitelya erlehmann: xD
14:21 Fleckenstein i have read most of it
14:21 erlehmann > there is a period after a write by one core where a read by a different core can still get the old value
14:21 erlehmann > the store has both happened and not happened, depending on where you observe from
14:23 erlehmann well
14:23 Fleckenstein joined #minetest
14:24 erlehmann in my defense, you initially asked me only how to prevent the compiler from touching your loop ^^
14:24 Fleckenstein yea
14:25 Fleckenstein > if you have two waiters you need two condition variables
14:25 Fleckenstein then what is pthread_cond_broadcast for
14:25 sfan5 maybe you don't actually need two idk
14:25 sfan5 but if you have one doing non-blocking checks and one doing a wait I bet that will fall apart
14:25 moongaia joined #minetest
14:26 Fleckenstein yea
14:26 sfan5 maybe you should rethink your program structure
14:58 EliasFleckenstei joined #minetest
14:59 EliasFleckenstei joined #minetest
15:01 EliasFleckenstei joined #minetest
15:01 Fleckenstein joined #minetest
15:20 erlehmann Sublayer plank https://cor3ntin.github.io/posts/compiletime/
15:20 erlehmann > Build C++ from source: Part 1/N - Improving compile times
15:22 erlehmann > Both MSVC and Clang have tools to profile the most costly parts of your build. I highly recommend using these tools if you want to optimize your build times, because like as all performance tuning work, you will most certainly discover your intuitions about what causes bottleneck will probably prove wrong.
15:23 kamdard joined #minetest
15:39 gargamel joined #minetest
15:39 gargamel Awesome, witches got an upgrade.
15:40 erlehmann where
15:41 gargamel The witches mod.
15:43 gargamel !up 69.247.56.186:30003
15:43 MinetestBot 69.247.56.186:30003 is up (124ms)
15:46 kabou left #minetest
15:46 kabou joined #minetest
15:48 gargamel No loot in the chests anymore.
15:48 gargamel But the house are better.
16:13 olliy joined #minetest
16:25 Andrew !up andrewyu.org:30000
16:25 MinetestBot andrewyu.org:30000 is up (19ms) (IPv4)
16:25 Andrew It tests minetest servers? Hmm
16:25 Andrew Wow, 19ms is quite good!
16:36 tech_exorcist joined #minetest
16:51 Hawk777 joined #minetest
17:09 Andrew Hawk777~
17:10 Andrew oops
17:13 Hawk777 haha np
17:17 ilomiglio joined #minetest
17:29 olliy1or joined #minetest
17:45 independent56 !up 56i.duckdns.org:30000
17:45 MinetestBot 56i.duckdns.org:30000 is up (23ms) (IPv4)
17:45 independent56 !up 56i.duckdns.org
17:45 MinetestBot 56i.duckdns.org:30000 is up (22ms) (IPv4)
17:46 independent56 !up 56i.duckdns.org:80
17:46 MinetestBot 56i.duckdns.org:80 seems to be down (IPv4)
17:46 independent56 !up 56i.duckdns.org:22
17:46 MinetestBot 56i.duckdns.org:22 seems to be down (IPv4)
17:46 independent56 !up 56i.duckdns.org:21
17:46 independent56 !up 56i.duckdns.org:20
18:08 Yad_ joined #minetest
18:08 v-rob joined #minetest
18:20 olliy joined #minetest
18:38 v-rob joined #minetest
18:43 stormchaser3000 joined #minetest
19:45 Toothless joined #minetest
19:56 Verticen joined #minetest
19:56 gargamel joined #minetest
20:13 appguru joined #minetest
20:14 Gustavo6046 joined #minetest
20:18 MTDiscord <Sublayer plank> re: android 5.5 crashing, yes, it's definitively because of low memory. I tested a debug build on my nexus 7 which has only 1GB ram and it kills the minetest process in the middle of loading mineclone{2,5}
20:18 MTDiscord <Sublayer plank> no stacktrace though, just "WIN DEATH: Window{364cef22 u0 net.minetest.minetest/net.minetest.minetest.GameActivity}"
20:19 kabou what changed so much between 5.4.1 and 5.5 that it now crashes?
20:20 MTDiscord <Sublayer plank> well irrlichtmt I guess, but memory usage should have stayed the same
20:20 MTDiscord <Sublayer plank> I don't actually know if mcl still OOMs on 5.4.2 on nexus 7, I should probably test that as well
20:21 kabou it used to work for me on aldi android 8 with 2GB
20:21 kabou maybe the build changed?
20:22 kabou or something related to lua?
20:30 MTDiscord <Sublayer plank> ok so mineclone still OOMs on 5.4.2, nothing new for 5.5.0
20:30 MTDiscord <Sublayer plank> I guess 2GB was enough for mcl on 5.4.2 but not 5.5.0
20:30 MTDiscord <Sublayer plank> 1GB isn't very much when google trash takes up three quarters of it
20:42 kabou add a dash of qualcom crap here and there
21:23 Markow joined #minetest
21:27 olliy joined #minetest
21:36 ilomiglio joined #minetest
21:37 definitelya Does anyone know why this page tries to access my localhost? Just curious.   https://forum.minetest.net/viewtopic.php?f=9&amp;t=13653
21:39 sfan5 the poster included an image from 127.0.0.1 in his post
21:39 definitelya Ok thanks!
22:08 v-rob joined #minetest
22:13 ilomiglio joined #minetest
22:14 queria joined #minetest
22:16 specing_ joined #minetest
22:18 Hawk777 joined #minetest
22:36 Verticen joined #minetest
22:49 wsor joined #minetest
22:49 Edgy18 joined #minetest
22:50 Edgy18 joined #minetest
22:58 Oksanaa joined #minetest
23:00 Sven_vB joined #minetest
23:03 est31 joined #minetest
23:27 kamdard joined #minetest
23:34 independent56 joined #minetest
23:42 specing joined #minetest
23:43 Taoki joined #minetest
23:55 Amo[m] joined #minetest
23:57 mister-e[m] joined #minetest
23:58 queria[m] joined #minetest

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