05:02 < bridge_> since when are hook teleporters predicted? 05:04 < bridge_> like actually how is this possible lol I thought these aren't predicted 06:25 < ws-client> @Pathos look tw chat 06:25 < ws-client> @pathos 08:05 < bridge_> Does someone have access to ddnet persian client for Linux? I wanna do some gaming on their servers but their website does not load for me 08:55 < bridge_> morning ddrace enjoyers and others 08:59 < bridge_> download link is available on their discord server. 09:04 < bridge_> gm 09:04 < bridge_> and really gn 09:22 < ws-client> @gojegreen could you send that download link please? :) 09:35 < bridge_> Check irc. 09:40 < bridge_> You would download a binary closed source client? 10:24 < ws-client> I would download anything :D 10:25 < ws-client> I would probably not run it on my main machine tho but in a sandboxed environment. 10:29 < ws-client> But yes I totally might run a binary closed source client even on my main system @learath2 If I think its legit. Its basically the same as running something you compiled from source but did not read and understand every line of code in it. 10:30 < bridge_> How can the quality of an image be so bad in a book :pepeW: 10:30 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1281894256369340446/IMG_20240907_112809.jpg?ex=66dd608f&is=66dc0f0f&hm=fd780ac339c52b0517f6bb19e1d23d30b8a7fed2928347bf297d1c61a8a2764a& 10:30 < bridge_> Handdrawn in the 90s 10:30 < ws-client> Would you run ddnet persian client on your machine lerato? 10:31 < ws-client> omg dont afk on me @learath2 10:32 < bridge_> Nope. I only run binaries from sources I trust one way or another 10:33 < ws-client> would you run t-client? 10:33 < bridge_> Isn't t-client open source? I'd rather compile my own 10:33 < ws-client> it is 10:33 < ws-client> if compiled on your own would you run it? 10:34 < ws-client> https://github.com/sjrc6/TaterClient-ddnet 10:35 < bridge_> Sure 10:35 < ws-client> would you read the code before? 10:35 < bridge_> I'd take a glance at the diff from ddnet 10:35 < bridge_> Though, no I wouldn't read all of it 10:35 < ws-client> and thats what makes you feel safe? 10:36 < ws-client> or is it the fact that you like tater as a person and have something against persians? 10:36 < bridge_> What makes me feel safe is that the source is out in the open, so there are many more eyes on it 10:36 < ws-client> I see 10:36 < ws-client> I act similiar tbh. But actually I think its a bit of a flawed mindeset 10:37 < bridge_> Way to make it personal, lol 10:37 < ws-client> That might work for ddnet where it is known that many contributors look at pullrequests. But something small like tater client which is basically developed by one person is not really audited. 10:38 < ws-client> I would assume not a single person audited tater client for security concerns. 10:38 < bridge_> It is only slightly flawed. The intricate ssh backdoor was snuck in secretly in front of everyones eyes, but if ssh was closed source it may have never been spotted ever and that same dude might still be injecting backdoors to this day 10:38 < bridge_> <01000111g> u can literally see the diffs to main repo 10:38 < bridge_> It is only slightly flawed. The intricate ssh backdoor was snuck in secretly in front of everyones eyes, but if xz was closed source it may have never been spotted ever and that same dude might still be injecting backdoors to this day 10:39 < ws-client> technically you can but nobody reads them if they get to big. Everyone just says "someone else probably checked it" @01000111g 10:39 < bridge_> just read a few thousands loc of diff 10:39 < bridge_> and compile that in your noodle 10:39 < bridge_> Also, there are reasons I trust some binary blobs more than others 10:39 < ws-client> its the persians! 10:40 < bridge_> <01000111g> ah gg 10:40 < bridge_> Nvidia is a huge corporation, if people find a secret backdoor in there their reputation is ruined 10:40 < bridge_> <01000111g> why do you even need their client to connect? 10:40 < ws-client> idk maybe antibot @01000111g 10:41 < ws-client> @01000111g go send download link 10:41 < bridge_> It's a very effective anticheat 10:41 < ws-client> @learath2 ppl still use windows 10:41 < bridge_> didn't persian people who had access to database inserted fake records? xd 10:41 < bridge_> i wouldn't trust them 😬 10:41 < bridge_> Whenever I use windows I just hope that I'm not important enough for the NSA to use their secret zero days 10:42 < bridge_> Not the same group of people to be fair 10:42 < ws-client> yes but i mean that windows is known spyware and people don't care. So companies dont have to worry too much about their reputation. 10:42 < bridge_> <01000111g> https://cdn.ddper.ir/downloads/DDPER-v7.0-linux.zip 10:42 < bridge_> <01000111g> 10:42 < bridge_> <01000111g> gl hf with this sus thing 10:42 < ws-client> thanks @01000111g 10:42 < ws-client> wish me luck 10:43 < ws-client> wait i wrote tw client in assembly .. 10:43 < ws-client> every binary is open source to me now 10:43 < bridge_> :clueless: 10:43 < bridge_> xd 10:44 < bridge_> That is true. Maybe I should run more sus binaries 10:44 < bridge_> I'm sorta surprised ddper is allowed on the masterserver tbh 10:44 < ws-client> look the sus malware client dev woke up 10:44 < bridge_> Weren't they removed? I remember heinrich working on it 10:44 < bridge_> oh idk 10:44 < bridge_> I have not checked lol 10:45 < ws-client> @totar did you know lerato hates persians? 10:45 < bridge_> ??? Slander 10:46 < ws-client> heinrich is afk i can do huge trolling now 10:46 < bridge_> I'm sueing you rn 10:46 < ws-client> i got lawyer jopsti 10:46 < ws-client> u already lost 10:46 < bridge_> He can argue how 86000 fps is better than 85750 fps 10:46 < ws-client> @totar I scrolled through the ENTIRE diff https://github.com/ddnet/ddnet/compare/master...sjrc6:TaterClient-ddnet:master and I approve 10:47 < bridge_> now I will put chiller dragon approves stamp on repo and launch menu 10:47 < ws-client> t-client at commit 2473ef86519e9b5a7548e2b7626178c74c2e0fbc is now officialy safety approved by ZillyHuhn Conglomerate Incorporated 10:48 < ws-client> I have to admit its more legit than chillerbot-ux which does ip grabbing and user tracking 10:48 < bridge_> ??? 10:49 < ws-client> ? 10:49 < ws-client> poggies the persian client ships with symbols 10:49 < bridge_> lmao 10:50 < bridge_> reminds me of that 1 time valve accidently shipped CSGO with symbols and it caused a huge increase in cheats 10:51 < ws-client> `strings DDPER` looks quite innocent 10:51 < ws-client> im tempted to yolo it xd 11:01 < bridge_> i trust tater myself, i wouldn't use anything like cactus client or s client though, theyre closed source 11:02 < bridge_> is there any benefit for tater to include malware batteries in 11:03 < ws-client> cactus is sus to me personally because they ripped off all chillerbot-ux features without credit -.- 11:03 < bridge_> to steal all ddnet coins from others 11:03 < bridge_> to steal all ddcoins from others 11:04 < bridge_> same here 11:05 < ws-client> @zhn yes there is lots of benefits of distrubting malicious software. He could scan for credentials such as crypto keys/discord tokens/credit card info/chatgpt tokens etc to gain money 11:05 < bridge_> ye and get kicked out from community immediately 11:05 < ws-client> or he could obtain power with a bot net of tw clients that could be used for ddos or for vote bots in game 11:05 < bridge_> gg 1 time money grab 11:05 < bridge_> for year of development 11:05 < ws-client> ye its exit scame unless its sneaky 11:05 < bridge_> @learath2 is it ok to build symbol table after parser made ast? 11:06 < ws-client> mine btc can be sneaky for example @zhn 11:06 < ws-client> but it also doesnt do too much harm to users 11:06 < bridge_> you could post malware.exe on a website but if you say it has a TW bot then 100s of people will run it away even if there's not even an actual client in it 11:06 < bridge_> you could post malware.exe on a website but if you say it has a TW bot then 100s of people will run it anyway even if there's not even an actual client in it 11:07 < ws-client> yea closed source bots are for sure more risky than open source legit clients 11:08 < bridge_> $1.00/day if you ship this with steam version :kek: 11:08 < bridge_> This command was not found. 11:08 < ws-client> stonks 11:09 < bridge_> BTC mining is probably less profitable than begging people to give you money 11:10 < bridge_> Can you give me some money? 11:10 < ws-client> wait but all these reasons also apply to the evil persian client right? 11:10 < bridge_> maybe if you ask a billion more times 11:10 < ws-client> also tater can just rebrand him self with a new fake nick 11:12 < ws-client> @Jupstar ✪ i can give you money! I am persian prince!!!! But I am stuck in uganda jail I need steam giftcard to get out!!!! THEN I MAKE YOU BILLION DOLLAR 11:13 < bridge_> sounds like a fair deal 11:15 < bridge_> Well ofc, he can collect discord tokens and sell them 11:16 < ws-client> it might get detected before a substential amount of money is gained 11:16 < ws-client> but yes then he just comes with the new name legitgamer69 and the l-client 11:16 < bridge_> Well ofc, you can scan through the ast in a second pass to build your symbol table 11:20 < bridge_> its easy to discover, no? 11:21 < bridge_> i mean i do read every pr popping on ddnet gh just to check if its good feature and how its implemented 11:21 < bridge_> After seeing how creative the xz backdoor was I'm not so sure 11:21 < bridge_> i bet theres someone like me but on taters master 11:21 < bridge_> With sufficient creativity you can sneak in things piece by piece 11:22 < ws-client> @zhn i really dont think there is someone like that on taters master 11:22 < bridge_> What exactly did you expect? 11:23 < bridge_> Sneak your payload into the menu screen background map 11:23 < bridge_> `string STEALDISCORDTOKEN.PY` is what he was expecting probably 11:23 < ws-client> @tactic_a i expected some suspicious strings like cnc http endpoints or evil method names etc 11:24 < bridge_> didnt u just read whole diff nobo 11:24 < ws-client> @learath2 you can also add a auto updater its free malware delivery system and the users would think its epic feature. Thats how ddnet ships most of its targeted backdoors right? 11:24 < bridge_> It's funny, sometimes I read the chats here and see comments about the DDPER server when none of them have even downloaded the client yet. 11:25 < bridge_> there http endpoints, its account based client 11:25 < bridge_> there are* 11:25 < ws-client> whats funny @tactic_a 11:25 < ws-client> are you persian client defender @tactic_a ? 11:25 < bridge_> chillerdragon literally debugging it rn 11:25 < bridge_> I did some static analysis on an old ddper client and it appeared safe to me by eye. But spotting things in assembly is pretty hard 11:26 < bridge_> he got debug symbols of ddper client and just going thru it 11:27 < ws-client> I am not sure if I understood your "It's funny" correctly but I read some subtone @tactic_a almost like you are implying that we are saying ddper is malware without having tried it or am i misinterpreting? 11:27 < bridge_> yeah literally 11:27 < ws-client> okay then i beg to disagree 11:27 < bridge_> To be fair no one is saying it is malware 11:28 < ws-client> I have downloaded the client and nobody here claimed that ddnet persian client is malware to my knowledge 11:28 < bridge_> zillyhuhn is trying to prove or disprove it 11:28 < bridge_> We were having a larger discussion about closed source binary releases in general 11:28 < ws-client> only lerato has something against persians in general 11:28 < bridge_> stop zillying 11:28 < bridge_> HEY stop slandering slanderer 11:28 < ws-client> :p 11:29 < bridge_> People will actually think you are serious then I'll get cancelled 11:29 < ws-client> @tactic_a are you associated with the project? 11:29 < ws-client> axaxaxax @learath2 11:29 < bridge_> Racist 11:29 < ws-client> already established 11:29 < bridge_> 11:29 < bridge_> ddRacist 11:29 < bridge_> heyho fokko 11:30 < ws-client> lmao ddracist 11:30 < bridge_> https://tenor.com/view/chris-pratt-wow-awesome-impressed-gif-9421746 11:30 < bridge_> Hey 11:30 < bridge_> i thought its by design 11:31 < bridge_> like why do u need change map if its still the same 11:31 < bridge_> go push ur buttons and type `reload` 11:36 < bridge_> Not sure, something definitely felt inconsistent in the behavior. If you execute a config file that contains the same `sv_map` value, should the map be reloaded? I think `change_map` in vanilla also ends the rounds and shows the scoreboard, whereas it works like changing `sv_map` on ddnet servers 11:40 < bridge_> In fact, the client does not have any additional items than other clients and ddnet, in fact, the only reason that the client is not open source is only because of the special ban system that they use and also to prevent bots from entering the servers, no virus or Malware and... have not existed and will not exist, it is not logical for them to destroy their credibility after having a server for so many years. Off topic: I think the image of Ira 11:41 < bridge_> does it? i don't even remember using change_map on 05/06 vanilla 11:42 < bridge_> and sv_map always worked like that 11:43 < bridge_> You mean always reloading? Maybe it was (unintentionally) changed at some point 11:43 < bridge_> I think it shows the scoreboard for a few seconds and then changes the map, but ddnet removed most of the round-related code I guess 11:44 < bridge_> ```cpp 11:44 < bridge_> m_MapReload = str_comp(Config()->m_SvMap, m_aCurrentMap) != 0; 11:44 < bridge_> ``` 11:44 < bridge_> found this on 07 codebase 11:45 < ws-client> 07 mentioned 11:45 < bridge_> its the only thing it does on 07 when `change_map` is triggered 11:47 < bridge_> That's ddnet's code though 11:47 < bridge_> ```cpp 11:47 < bridge_> void CGameContext::ConChangeMap(IConsole::IResult *pResult, void *pUserData) 11:47 < bridge_> { 11:47 < bridge_> CGameContext *pSelf = (CGameContext *)pUserData; 11:47 < bridge_> pSelf->m_pController->ChangeMap(pResult->NumArguments() ? pResult->GetString(0) : ""); 11:47 < bridge_> } 11:47 < bridge_> 11:47 < bridge_> void IGameController::ChangeMap(const char *pToMap) 11:47 < bridge_> { 11:47 < bridge_> str_copy(m_aMapWish, pToMap, sizeof(m_aMapWish)); 11:47 < bridge_> 11:47 < bridge_> m_MatchCount = m_GameInfo.m_MatchNum-1; 11:47 < bridge_> SetGameState(IGS_GAME_RUNNING); 11:47 < bridge_> EndMatch(); 11:47 < bridge_> } 11:47 < bridge_> ``` 11:47 < bridge_> This is 0.7 11:51 < bridge_> xd, never use github search 11:51 < bridge_> btw no its 07 code too 11:51 < bridge_> but from server.cpp 11:52 < bridge_> I searched locally, GitHub search doesn't works very well 11:52 < bridge_> I searched locally, GitHub search doesn't work very well 11:55 < bridge_> ye, i addressed this to myself 11:57 < bridge_> Here's the beta version for all arches (extract the first file with 7zip). 11:57 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1265248906925707374/DDNet-e261ab1-beta.7z.002?ex=66dcce9e&is=66db7d1e&hm=2756d9cba3ac5b7f62058b7e26a970311d6f0a53293b9c7e32b9483538b32a29& 11:57 < bridge_> Here's the beta version for all arches (extract the first file with 7zip). 12:45 < bridge_> TIL u can avoid the ABA problem using quadword compare and swaps 12:46 < bridge_> > A simple CAS operation may not be 12:46 < bridge_> > sufficient to guard against what is commonly referred to as the ABA problem in such algorithms that 12:46 < bridge_> > manipulate pointer variables. To avoid the ABA problem, the algorithms associate a reference counter 12:46 < bridge_> > with the pointer variable and perform updates using a quadword compare and swap (of both the 12:46 < bridge_> > pointer and the counter). The double and quadword CAS instructions support implementation of 12:46 < bridge_> > algorithms for ABA problem avoidance. 12:46 < bridge_> from the risc docs 13:54 < ws-client> There has to be a simple way to get this to run on my machine right? 13:54 < ws-client> https://zillyhuhn.com/cs/.1725710007.png 13:54 < ws-client> I have glew 2.2 from apt but the binary wants 2.1 13:55 < bridge_> `apt-cache search glew` 13:55 < bridge_> 13:55 < bridge_> maybe you can simply downgrade to 2.1 (e.g `sudo apt install --reinstall libglew2.1`) or smth like that 13:57 < bridge_> maybe you want to use aptitude tho because it checks if anything is dependent on glew2.2 14:21 < ws-client> meh i got no glew2.1 in cache so i can also not reinstall it 14:25 < ws-client> Well this worked but not sure how nice it is xd 14:25 < ws-client> ``wget http://ftp.de.debian.org/debian/pool/main/g/glew/libglew2.1_2.1.0-4+b1_amd64.deb`` 14:26 < ws-client> ``dpkg -i libglew2.1_2.1.0-4+b1_amd64.deb`` 14:29 < ws-client> oh gosh so many peer dependencies i might as well edit apt/sources and downgrade my debian to 11 15:01 < bridge_> chiller 15:01 < bridge_> did 0.7 touch font rendering? 15:01 < bridge_> or any graphics component 15:04 < bridge_> https://github.com/ddnet/ddnet/compare/18.4...18.5 15:05 < bridge_> The only change in the graphics backends is the removal of the unused `Cmd_Texture_Update` 15:16 < ws-client> nah @Jupstar ✪ 15:17 < ws-client> jopsti vulkan is so heavy -.- 15:18 < ws-client> i bought cheapest vps on digitalocean and running ``cmake ..`` is full denial of service for a few minutes on the step ``-- Building vulkan shaders`` 15:25 < bridge_> building rust version of ddnet takes 30 minutes on my vps xD 15:25 < bridge_> and you cry about few mins 15:33 < ws-client> it does take a lot of time to build ddnet yes but at least it does not take up 100% cpu and render the entire vps unusable 15:33 < bridge_> ah you mean bcs it uses parallel commands 15:33 < bridge_> maybe you can tell cmake to be more gentle instead of just spamming all cmds at once 15:34 < ws-client> imo it should be a bit more chill by default 15:35 < ws-client> meh 400mb ram cant run a ddnet client? 15:35 < bridge_> contribute to cmake 15:36 < bridge_> i don't like if ddnet adds workarounds for everything 15:36 < bridge_> should be enough 15:36 < bridge_> well except if u load textures 15:36 < bridge_> you should downscale all to 1x1 15:36 < bridge_> ah wait 15:36 < bridge_> better use 32x32 15:36 < ws-client> how? 15:37 < bridge_> am i bash god, or are you? 15:37 < ws-client> you mean go to data dir and edit stuff like skins and mapres? 15:37 < bridge_> yes 15:37 < ws-client> can i not just delete them 15:37 < bridge_> I guess our client even supports that 15:37 < bridge_> But if not, don't make a pr 15:38 < ws-client> im trying to launch ddper on my secure sanboxed vps 15:38 < bridge_> k 15:39 < bridge_> but pls dont contribute ddper bridge 15:39 < bridge_> thanks 15:39 < ws-client> meh deleting the data folder segfaults 15:39 < ws-client> @Jupstar ✪ cant make any promises 15:39 < ws-client> gotta support those persian protocols 15:40 < bridge_> i'd laugh now if i wouldn't know you could be serious about it 15:40 < ws-client> xd 15:54 < ws-client> jopsti sos ddpersian client segfaults 15:54 < ws-client> https://zillyhuhn.com/cs/.1725717164.png 15:54 < bridge_> install validation layers & start with "dbg_gfx 4" 15:54 < bridge_> is your VPS using a recent OS? 15:54 < ws-client> aaaa 15:54 < ws-client> im in 15:54 < bridge_> hacker 15:54 < ws-client> ez gfx_backend OpenGL 15:54 < bridge_> illegal 15:54 < ws-client> no i use debian 11 because ddper does not run on debian 12 xd 15:55 < bridge_> yeah i think lavapipe in debian11 was broken for me too 15:55 < ws-client> is ``ssh -X`` xrdp even a secure sanbox? 15:55 < ws-client> i got ddper client gui on my main desktop now xd 15:55 < ws-client> https://zillyhuhn.com/cs/.1725717345.png 15:56 < bridge_> hackerboi 15:56 < bridge_> compile to WASM, then u safe af 15:56 < bridge_> run in browser 15:57 < ws-client> ``2024-09-07 13:57:22 I chatresp: No such command: connect.`` 15:57 < ws-client> persian moment 16:05 < ws-client> oh cmn the fakin servers dont answer me 16:06 < ws-client> @tactic_a help i cant connect 16:13 < bridge_> you're still exposing your entire environment to the application through this 16:14 < ws-client> opsi 16:15 < ws-client> really? @meloƞ i mean it loads all the ddnet configs etc from the vps not from my machine 16:15 < bridge_> you're running the client on your vps like a normal application - so instead of running it on your main machine you're running it in your vps, so you "theoretically" still expose your vps to the client in one way or another 16:17 < ws-client> oh yes the vps is fully exposed but not my laptop right? 16:17 < bridge_> nah 16:17 < bridge_> ssh is secure 16:17 < ws-client> well i mean i used ``ssh -X`` and xrdp so it spawned a gui on my laptop 16:17 < ws-client> idk what black magic that was 16:17 < ws-client> the vps was a fresh server only to launch the client. I burned some digitalocean coins for that stunt. 16:17 < bridge_> remote desktop protocol 16:17 < ws-client> Total disappointment that the servers did not respond 16:17 < bridge_> :feelsbadman: 16:18 < ws-client> yo @meloƞ go try on windows 16:18 < bridge_> absolutely fuckingn ot 16:18 < bridge_> absolutely fucking not 16:18 < bridge_> :kekw: 16:18 < ws-client> pusi 16:18 < bridge_> ???? 16:18 < bridge_> dual boot windows 16:18 < bridge_> :gigachad: 16:19 < ws-client> me? 16:19 < bridge_> dont play on it if it requires a specific client 16:19 < bridge_> virtualize it 16:19 < bridge_> problem fixed 16:19 < ws-client> @meloƞ hmm how hard is that? 16:19 < ws-client> running a windows vm on debian 16:19 < ws-client> do i need to buy windows? 16:19 < bridge_> takes like 3 minutes 16:19 < ws-client> woah nice 16:19 < bridge_> it's as easy as installing debian on windows with virtualbox 16:19 < bridge_> + the downloading of the .iso 16:20 < ws-client> does windows even leak the iso? 16:20 < bridge_> yes 16:20 < ws-client> so virtualbox u say? 16:20 < bridge_> VMware, virtualbox, kvm 16:20 < bridge_> you name it 16:20 < ws-client> which should i use xd 16:20 < bridge_> whichever u want 16:20 < bridge_> are u on mac 16:20 < ws-client> debian 16:21 < bridge_> do u have secure boot 16:21 < ws-client> dont think s 16:21 < bridge_> use virtualbox 16:21 < ws-client> k 16:21 < bridge_> cuz virtualbox sux with secure boot, I mean u'll have to sign the modules at each boot 16:21 < bridge_> also vmware since they got bought by Broadcom sux, u need to search the installers on google 16:21 < bridge_> also vmware, since they got bought by Broadcom, sux, u need to search the installers on google 16:22 < ws-client> virtualbox is propiratary <:justatest:572499997178986510> 16:22 < ws-client> vmware too 16:22 < bridge_> it's opensource 16:22 < ws-client> https://zillyhuhn.com/cs/.1725718965.png 16:23 < bridge_> then use kvm/qemu 16:23 < bridge_> :reeeeeee: 16:23 < bridge_> https://www.qemu.org/ 16:23 < bridge_> where did u find that, what's the link 16:23 < ws-client> omagwd there is GNOME BOXES 16:23 < ws-client> https://wiki.debian.org/VirtualBox 16:24 < bridge_> bro that's written "extra" 16:24 < bridge_> u don't even need it bru 16:26 < ws-client> ok im stoopid xd 16:54 < bridge_> че 16:55 < bridge_> ой, тоесть 16:55 < bridge_> what 16:55 < bridge_> @robyt3 че тип стал админ и крутой? 16:56 < bridge_> jq 16:56 < bridge_> ой 16:56 < bridge_> @gerdoe can you time him out 😬? 16:56 < bridge_> не нада 17:06 < bridge_> hi I have added an entry in Menus_start and Menus_settings, but when I click on the button I created, it does not go to that section. What should I tell it to go to Settings from the start menu when the button is clicked? 17:07 < bridge_> Enter the page I made through this 17:07 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1281994163260358736/screenshot_2024-09-07_18-36-37.png?ex=66ddbd9a&is=66dc6c1a&hm=1acff4df22f880809e44f5627c30b9bf37970e4610d0a5aae7661fe32953fec5& 17:30 < bridge_> struggling with git 😂 17:55 < bridge_> :kek: need help ? 18:00 < bridge_> solved 18:00 < bridge_> i had to revert fork and it closed the pr 18:06 < bridge_> i wuznt here 18:06 < bridge_> what happened 18:27 < bridge_> Today I learned another c shenanigan. 18:27 < bridge_> 18:27 < bridge_> If you memcpy where src == dst. it's not UB 18:27 < bridge_> but if src and dst overlap it is 18:29 < bridge_> Interestingly it's hard to find evidence for that. but asan & ubsan decided so 18:29 < bridge_> @learath2 where in the spec can you explain this? 18:33 < bridge_> Mh, it should be completely insane. `s1` and `s2` are restrict. Maybe ubsan is wrong? 18:34 < bridge_> That could be the reason too yeah, but would be surprising 18:34 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1282016051487313972/image.png?ex=66ddd1fd&is=66dc807d&hm=0bce6a0a130daee87b3f95fb640c6431643275cc8bfdc30d5495395999a5b768& 18:34 < bridge_> as if they dont have tests for that 18:34 < bridge_> yes, but i checked it with asan & ubsan 18:34 < bridge_> so maybe there is a hidden extra detail somewhere on page 55434324 where it says in font size 1 that if they are equal it's fine 18:35 < bridge_> They actually might have forgor that specific case since it's an edge case? 18:35 < bridge_> I could imagine past me tested the code exactly like that 18:35 < bridge_> Have you enabled all warnings? 18:35 < bridge_> Yes and if i only add 1 byte difference to it, it also crashes 18:37 < bridge_> Well idk any exception, and restrict clearly disallows those referring to the same object in anyway 18:37 < bridge_> tja 18:37 < bridge_> I wait for ryo to say it 18:38 < bridge_> If you wanna know for certain check in ##c on libera irc 18:38 < bridge_> There are some big c wizards there 18:38 < bridge_> I learned my C by being berated and insulted on there 18:39 < bridge_> Ah perfect 18:39 < bridge_> that totally motivates me to install a libera client 18:40 < bridge_> Do you actually not have an irc client? 18:40 < bridge_> Do you not want to be called a retard? 18:40 < bridge_> I really don't have irc 18:40 < bridge_> i am huge GUI enjoyer 18:41 < bridge_> give me a vulkan enhanced irc with webrtc voice chat using 500MB ram 18:41 < bridge_> and i am in 18:41 < bridge_> it also has to use electron 18:59 < bridge_> idk tbh this is more a libc wrapper impl detail is it not? 18:59 < bridge_> rust equivalent is tthis https://doc.rust-lang.org/std/ptr/fn.copy_nonoverlapping.html 19:00 < bridge_> ubsan shouldn't care about the actual implementation for std function IMO. 19:00 < bridge_> 19:00 < bridge_> So even if it's not a c thing, ubsan should still detect it 19:00 < bridge_> how isn't that UB when they overlap 100% ? 19:00 < bridge_> i dunno why ubsan cannot detect it, maybe the memcpy has a check for ptr equally and skips the whole function 19:01 < bridge_> or it just copies and given they are equals, it's an idempotent function call 19:02 < bridge_> i mean the asan warning is literally called `memcpy-param-overlap` 19:02 < bridge_> how can they not add a test for that then 19:02 < bridge_> then asan is wrong 19:02 < bridge_> @jupeyy_keks i guess ubsan is not at rust level 19:02 < bridge_> possible, but would be just as insane as c allowing it xd 19:03 < bridge_> the funny thing is the memcpy intrinsic in llvm is a c call 19:03 < bridge_> @ryozuki llvm contributor 19:03 < bridge_> when fix that bug 19:03 < bridge_> but there is a memcpy inline intrinsic 19:03 < bridge_> but it only works with stack allocated arguments iirc 19:03 < bridge_> @jupeyy_keks i only contributed to MLIR project in llvm 19:04 < bridge_> tbh i dont care about ubsan or asan or tsan 19:04 < bridge_> cuz the fix for that is Rust 19:04 < bridge_> :gigachad: 19:06 < bridge_> https://gist.github.com/Const-me/3290266d2a5f51409eb813d39b28007c 19:07 < bridge_> @jupeyy_keks depends on the size of the buffer 19:07 < bridge_> it does different routines 19:08 < bridge_> i think the most efficient is using rep 20:29 < bridge_> @learath2 I dided it 🥹 i can use types which are declared after the place where they are used 20:29 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1282044992868712488/image.png?ex=66ddecf1&is=66dc9b71&hm=b3524df0d2fd5dd57b6ff3f2345f0ef96531565a08698e8ba1eb8140b679d5d4& 20:30 < bridge_> now there're two functions which go thru ast, first one checks if all symbols exist and second one checks variables types 20:31 < bridge_> aaaand when I used `Foo` as type for struct `Foo` stack overflowed :santatrollet: 20:32 < bridge_> aaaand when I used `Foo` as type for field lol in struct `Foo` stack overflowed :santatrollet: 20:51 < bridge_> it feels so goood 20:51 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1282050608739647579/image.png?ex=66ddf22c&is=66dca0ac&hm=37b2fe363ef71537656fd659388daf28637fdfcf78280819e4ce7e49858cdbeb& 20:51 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1282050609041772584/image.png?ex=66ddf22c&is=66dca0ac&hm=a2891708e3453808ddfb22504c2ebab49d4164c59c33124453eb0a9d51077d0f& 21:01 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1282053195388157992/RDT_20240907_200113894864526992471819.jpg?ex=66ddf495&is=66dca315&hm=ff45a1a4b44202ca3ffbd7934f8ee0a972d2c67c2a7060ac96ac7a3394bf0a44& 21:01 < bridge_> @learath2 they used arch in evangelion 21:53 < bridge_> is it useful huh 21:56 < bridge_> it's useful to know that ubsan & asan are not always right xd 21:57 < bridge_> bcs this IS ub 21:59 < bridge_> > AddressSanitizer is not expected to produce false positives. If you see one, look again; most likely it is a true positive! 22:00 < bridge_> the most useless ub ever 22:00 < bridge_> its still an ub though 22:00 < bridge_> just no-op 22:02 < bridge_> yeah but that is the question with ub.. is it always noop^^? 22:03 < bridge_> but does that mean it is allowed to not produce true positives xdd 22:03 < bridge_> ask the compiler :p 22:03 < bridge_> they decide what they do with ub 22:03 < bridge_> is not generating a true positive also a false positive 22:04 < bridge_> If an error is not reported by asan it would be a false negative 22:04 < bridge_> Which are possible, e.g. https://stackoverflow.com/questions/43532316/false-negative-with-address-sanitizer 22:19 < bridge_> That seems very obvious to me, shouldn't it? 22:20 < bridge_> Today I learned another c shenanigan. 22:20 < bridge_> 22:20 < bridge_> If you memcpy where src == dst. it's not UB 22:20 < bridge_> but if src and dst overlap it is 22:20 < bridge_> 22:20 < bridge_> BUT IT IS WRONG 22:20 < bridge_> Depending on *how* it overlaps it might work and might not. 22:20 < bridge_> Depending on what memory gets read and written first 22:20 < bridge_> But if it's copying from and to the same memory it should always work 22:20 < bridge_> theoretically yes, but the post is about that ubsan didnt detect it as ub 22:20 < bridge_> which it should 22:21 < bridge_> Ahhhhh 22:21 < bridge_> Sorry didnt read the whole convo 22:21 < bridge_> Today I learned another c shenanigan. 22:21 < bridge_> 22:21 < bridge_> If you memcpy where src == dst. it's not UB 22:21 < bridge_> but if src and dst overlap it is 22:21 < bridge_> 22:21 < bridge_> BUT IT IS WRONG: 23:27 < bridge_> :Nazi_Swastika: