08:06 <+bridge> [ddnet] It's time to leave for the new version if u still there 10:30 <+bridge> [ddnet] ``` 10:30 <+bridge> [ddnet] SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/chiller/Desktop/git/DDnetPP/src/game/server/gamecontext.cpp:213:23 in 10:30 <+bridge> [ddnet] /home/chiller/Desktop/git/DDnetPP/src/game/server/gamecontext.cpp:214:27: runtime error: nan is outside the range of representable values of type 'int' 10:30 <+bridge> [ddnet] #0 0xf050a3 in CGameContext::CreateDamageInd(vector2_base, float, int, long) /home/chiller/Desktop/git/DDnetPP/src/game/server/gamecontext.cpp:214:27 10:30 <+bridge> [ddnet] #1 0xec1f30 in CProjectile::Tick() /home/chiller/Desktop/git/DDnetPP/src/game/server/entities/projectile.cpp:237:18 10:30 <+bridge> [ddnet] #2 0x11f8eaf in CGameWorld::Tick() /home/chiller/Desktop/git/DDnetPP/src/game/server/gameworld.cpp:272:11 10:30 <+bridge> [ddnet] #3 0xf24ebf in CGameContext::OnTick() /home/chiller/Desktop/git/DDnetPP/src/game/server/gamecontext.cpp:893:10 10:30 <+bridge> [ddnet] #4 0x57c4a9 in CServer::Run() /home/chiller/Desktop/git/DDnetPP/src/engine/server/server.cpp:2697:19 10:30 <+bridge> [ddnet] #5 0x5b3b2b in main /home/chiller/Desktop/git/DDnetPP/src/engine/server/server.cpp:3770:21 10:30 <+bridge> [ddnet] #6 0x7f9ea2ed3d09 in __libc_start_main csu/../csu/libc-start.c:308:16 10:30 <+bridge> [ddnet] #7 0x42fde9 in _start (/home/chiller/Desktop/git/DDnetPP/build/DDNetPP+0x42fde9) 10:30 <+bridge> [ddnet] ```sorri irc \:D 10:31 <+bridge> [ddnet] how do i find the root cause of a ubsan error? Pretty much all those files server.cpp gamecontext.cpp gameworld.cpp projectile.cpp have no diff to ddnet src code. So I am not sure how to figure out why it gets a NaN there 10:38 <+bridge> [ddnet] use valgrind to check if uninitialized memory 10:38 <+bridge> [ddnet] else track all writes to that variable 10:38 <+bridge> [ddnet] oke lemme try valgrind \:) 10:38 <+bridge> [ddnet] nan usually happens when deviding by zero 10:38 <+bridge> [ddnet] are you casting a float to int? 10:39 <+bridge> [ddnet] yea maybe but idk where 10:39 <+bridge> [ddnet] i do it all 10:39 <+bridge> [ddnet] gamecontext.cpp\:214\:27 10:39 <+bridge> [ddnet] there 10:39 <+bridge> [ddnet] yes! 10:39 <+bridge> [ddnet] https://github.com/DDnetPP/DDnetPP/blob/29a062e598b2fc80b9af5a16054b28f56e5f079e/src/game/server/gamecontext.cpp#L213-L214 10:39 <+bridge> [ddnet] whatever that var is, it is either uninit or you devide it by zero somewhere 10:40 <+bridge> [ddnet] oke nice 10:41 <+bridge> [ddnet] is there a known issue of mixing asan with valgrind? it does not seem to start at all 10:42 <+bridge> [ddnet] yeah dont do that 10:42 <+bridge> [ddnet] oke 10:43 <+bridge> [ddnet] if you can reproduce it ez, you can also set a breakpoint and see what variable exactly caused the problem 10:43 <+bridge> [ddnet] might be faster 10:43 <+bridge> [ddnet] i can reproduce 10/10 directly on server start 10:43 <+bridge> [ddnet] where do i set my breakpoint? In create damage ind and then look at all the vars? 10:44 <+bridge> [ddnet] yes 10:44 <+bridge> [ddnet] omg im too stupid to turn asan off xd 10:44 <+bridge> [ddnet] ok lemme try 10:45 <+bridge> [ddnet] image.png 10:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/940906357933084722/image.png 10:45 <+bridge> [ddnet] this looks promising 10:47 <+bridge> [ddnet] Is the Angle wrong? 10:49 <+bridge> [ddnet] was the line even executed 10:49 <+bridge> [ddnet] eee 10:49 <+bridge> [ddnet] no omg 10:49 <+bridge> [ddnet] wow u gdb pro 10:49 <+bridge> [ddnet] i thought step shows last executed line not next \:D 10:50 <+bridge> [ddnet] isnt every debugger showing the current line (not executed yet) 10:50 <+bridge> [ddnet] do i look like i debug? 10:50 <+bridge> [ddnet] yes 10:50 <+bridge> [ddnet] im more the print driven debugging guy 10:51 <+bridge> [ddnet] ok so "s" eventually becomes -1 10:52 <+bridge> [ddnet] but f is fine hmm 10:52 <+bridge> [ddnet] it probs happens in a later call 10:53 <+bridge> [ddnet] the ubsan in ur pic is somewhere else 10:53 <+bridge> [ddnet] yea 10:56 <+bridge> [ddnet] oke got it 10:56 <+bridge> [ddnet] image.png 10:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/940909100219379712/image.png 10:58 <+bridge> [ddnet] Okay I assume latestinput is not set 10:59 <+bridge> [ddnet] Indeed! 10:59 <+bridge> [ddnet] thanks [Jupstar ✪](https://matrix.to/#/@jupeyy:matrix.org) i love u 12:39 <+bridge> [ddnet] You're invited to talk on Matrix 12:39 <+bridge> [ddnet] You're invited to talk on Matrix 12:44 <+bridge> [ddnet] You're invited to talk on Matrix 12:47 <+bridge> [ddnet] You're invited to talk on Matrix 12:47 <+bridge> [ddnet] (@bencie) 13:25 <+bridge> [ddnet] You're invited to talk on Matrix 13:37 <+bridge> [ddnet] [Jupstar ✪](https://matrix.to/#/@jupeyy:matrix.org)\: ma boiii 13:37 <+bridge> [ddnet] image.png 13:37 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/940949617892261888/image.png 13:38 <+bridge> [ddnet] any idea what is unitizalized here? 13:38 <+bridge> [ddnet] https://github.com/DDnetPP/DDnetPP/blob/ddf04c1ff2de7fcbae7a299d3cbb499b4f59ca13/src/game/server/gameworld.cpp#L99 13:38 <+bridge> [ddnet] breakpoint again? 13:42 <+bridge> [ddnet] image.png 13:42 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/940950733803646976/image.png 13:42 <+bridge> [ddnet] those two look fine tho 13:56 <+bridge> [ddnet] if you'd show the whole valgrind output it would tell us 13:56 <+bridge> [ddnet] ou there isnt much more 13:57 <+bridge> [ddnet] `valgrind --show-reachable=yes --show-possibly-lost=yes --error-limit=no --log-fd=2 --track-fds=yes --trace-children=yes --redzone-size=256 --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=valgrind-out.txt --fair-sched=yes` 13:57 <+bridge> [ddnet] ah dat 13:57 <+bridge> [ddnet] that's what i usually use 13:57 <+bridge> [ddnet] --track-origins=yes 13:57 <+bridge> [ddnet] ye i started using those but not as many yet 13:57 <+bridge> [ddnet] sec 13:57 <+bridge> [ddnet] especially that is important i think 13:58 <+bridge> [ddnet] Still don't see where it tells it \:c 13:59 <+bridge> [ddnet] wait maybe i got one 13:59 <+bridge> [ddnet] usually it says smth like "uninitialized value create by ..." 13:59 <+bridge> [ddnet] yes 13:59 <+bridge> [ddnet] but then some heap allocation 13:59 <+bridge> [ddnet] new CGameContext 13:59 <+bridge> [ddnet] and im like ok bro .. 14:00 <+bridge> [ddnet] but luckily i got enough valgrind issues to pick an easy one 14:00 <+bridge> [ddnet] found a stack init 14:00 <+bridge> [ddnet] is cgameworld a member of cgamecontext? 14:00 <+bridge> [ddnet] maybe its m\_pNextTraverseEntity that is uninit 14:01 <+bridge> [ddnet] yes 14:01 <+bridge> [ddnet] but m\_pNextTraverseEntity has all the same occurences in ddnet++ as in ddnet so not sure 14:02 <+bridge> [ddnet] the server code is a mess, maybe valgrind just thinks its uninitialized but it isnt 14:02 <+bridge> [ddnet] but it does not think its uninitilaized in ddnet 14:02 <+bridge> [ddnet] so there its fixed somehow 14:02 <+bridge> [ddnet] just show the valgrind output 14:02 <+bridge> [ddnet] oke 14:02 <+bridge> [ddnet] u rly want dat big boi? 14:02 <+bridge> [ddnet] make a spoiler 14:03 <+bridge> [ddnet] or send the txt 14:03 <+bridge> [ddnet] https://paste.zillyhuhn.com/0x 14:03 <+bridge> [ddnet] 3k lines 14:03 <+bridge> [ddnet] there is probably even my creditcard info in that memory somewhere 14:04 <+bridge> [ddnet] gamecontext.cpp\:3890 doesnt match for me i think 14:04 <+bridge> [ddnet] are you coding rn ? 14:05 <+bridge> [ddnet] im pretty sure i run master 14:05 <+bridge> [ddnet] ah ok your above commit was outdated then i guess 14:07 <+bridge> [ddnet] yeah just set m\_pNextTraverseEntity to nullptr 14:07 <+bridge> [ddnet] in the constructor 14:07 <+bridge> [ddnet] ddnet does not do it right? 14:08 <+bridge> [ddnet] let me see why it works in ddnet 14:08 <+bridge> [ddnet] image.png 14:08 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/940957281862959104/image.png 14:10 <+bridge> [ddnet] i actually have a valgrind .txt here locally in my ddnet branch that also complains xd 14:10 <+bridge> [ddnet] but no idea how old that is 14:10 <+bridge> [ddnet] oh 14:10 <+bridge> [ddnet] i thought i checked ddnet 14:10 <+bridge> [ddnet] lemme run the extensive one on ddnet 14:11 <+bridge> [ddnet] i'd say ddnet just doesnt remove entities before the first tick or smth and then the var is set 14:12 <+bridge> [ddnet] its from 25 nov 2020 btw 14:13 <+bridge> [ddnet] https://paste.zillyhuhn.com/valgrind_ddnet 14:14 <+bridge> [ddnet] initializing PR will be accepted anyway 14:14 <+bridge> [ddnet] ddnet looks fine 14:17 <+bridge> [ddnet] wanna pr it chillerdragon 14:18 <+bridge> [ddnet] maybe you can reprod it in ddnet when you craete and delete a entity directly 14:19 <+bridge> [ddnet] yea might be some config or ddnet++ related thing 14:19 <+bridge> [ddnet] like sixup or serverside dummys 14:20 <+bridge> [ddnet] sure i can pr but its ur fix imo makes more sense if u pr but i have time if you are too lazy 14:22 <+bridge> [ddnet] Yes indeed that fixed it for me \:) nice 14:24 <+bridge> [ddnet] just PR it 14:25 <+bridge> [ddnet] ^^ 14:25 <+bridge> [ddnet] and fix it for prediction too 15:28 <+bridge> [ddnet] <20R0> Hi 15:28 <+bridge> [ddnet] [chillerdragon](https://matrix.to/#/@chillerdragon:matrix.org)\: you were supposed to join me, not fight me xd 15:31 <+bridge> [ddnet] hi whats up 15:31 <+bridge> [ddnet] (@20R0) 15:34 <+bridge> [ddnet] lol i just dont wanna steal ur contribution sorry i got distracted 15:34 <+bridge> [ddnet] hi 15:35 <+bridge> [ddnet] like i care about one liners xD 15:36 <+bridge> [ddnet] like i care about credits, i just want 1 trillion FPS you know 15:38 <+bridge> [ddnet] its all about the rankings 15:38 <+bridge> [ddnet] @Chairn\: when are you available today? i read that older nvidia drivers didnt like swapchain recreation when window is minimized, that would explain why it only crashed in fullscreennewer drivers are more relaxed but the spec also doesn't forbid this behavior as android for example relies on it 15:45 <+bridge> [ddnet] image.png 15:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/940981651763265556/image.png 15:45 <+bridge> [ddnet] [Jupstar ✪](https://matrix.to/#/@jupeyy:matrix.org)\: ^^ 15:46 <+bridge> [ddnet] \:D 16:01 <+bridge> [ddnet] <20R0> Why is there no youtuber in the game? 16:01 <+bridge> [ddnet] there is wdym 16:01 <+bridge> [ddnet] what defines as youtuber? 16:03 <+bridge> [ddnet] There are some big ass influencers in the asian space 16:03 <+bridge> [ddnet] some ruski did it too at some point 16:03 <+bridge> [ddnet] and we have our in house youtubers with lower subscriber count but good tw related content such as Aoe 16:12 <+bridge> [ddnet] not sure if i can tonight [Jupstar](https://matrix.to/#/@jupeyy:matrix.org) 16:12 <+bridge> [ddnet] dang, cant hide links in message 😦 16:13 <+bridge> [ddnet] you can hilite him by mentioning his name exactly 16:13 <+bridge> [ddnet] Jupstar ✪: ^ 16:13 <+bridge> [ddnet] indeed chairn tagged me, you not \:D 16:13 <+bridge> [ddnet] he said that doesn't work 16:13 <+bridge> [ddnet] wat 16:13 <+bridge> [ddnet] Jupstar ✪ 16:13 <+bridge> [ddnet] does this work? 16:14 <+bridge> [ddnet] i copied the link from a previous bot message from chillerdragon 16:14 <+bridge> [ddnet] thought it would work 😄 16:14 <+bridge> [ddnet] chairn big hacker 16:14 <+bridge> [ddnet] @jupeyy:matrix.org 16:14 <+bridge> [ddnet] image.png 16:14 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/940988962837762078/image.png 16:14 <+bridge> [ddnet] apparently it does 16:14 <+bridge> [ddnet] hacker 16:14 <+bridge> [ddnet] nothing works only what chairn did xD 16:14 <+bridge> [ddnet] https://matrix.to/#/@jupeyy:matrix.org 16:14 <+bridge> [ddnet] well, good to know ^^ 16:15 <+bridge> [ddnet] so only this works? ^ 16:15 <+bridge> [ddnet] is there a way we can remove discord visualisation? 16:15 <+bridge> [ddnet] yeah that works \:D 16:15 <+bridge> [ddnet] the embeds you mean? I opened an issue: https://github.com/Half-Shot/matrix-appservice-discord/issues/772 16:17 <+bridge> [ddnet] test for no preview , sorry jupstar 😄 16:17 <+bridge> [ddnet] ah seems, to work 😉 16:17 <+bridge> [ddnet] oh thats what the Yore invited to talk on matrix thing was a bout \:D 16:17 <+bridge> [ddnet] i disabled tagging anyway, i just see my name in a beautiful way xd 16:18 <+bridge> [ddnet] @jupjapjapstur 18:00 <+bridge> [ddnet] chillerdragon: it seems your client on the german multeasymap server is doing automated input. can you please leave and stop doing that? 18:02 <+bridge> [ddnet] His public client has that 18:18 <+bridge> [ddnet] dummy hammerfly is automated input 18:20 <+bridge> [ddnet] and we only allow the automated input possible with the official client 21:05 <+bridge> [ddnet] Hi devs. 21:05 <+bridge> [ddnet] 21:05 <+bridge> [ddnet] Hi @Learath2, is there a strong reason why bind modifier mask should not be zero? 21:05 <+bridge> [ddnet] 21:05 <+bridge> [ddnet] ``` 21:05 <+bridge> [ddnet] bool CBinds::OnInput(IInput::CEvent e) 21:05 <+bridge> [ddnet] { 21:05 <+bridge> [ddnet] // ... 21:05 <+bridge> [ddnet] if(!Mask) 21:05 <+bridge> [ddnet] Mask = 1 << MODIFIER_NONE; 21:05 <+bridge> [ddnet] ``` 21:05 <+bridge> [ddnet] 21:05 <+bridge> [ddnet] and 21:05 <+bridge> [ddnet] ``` 21:05 <+bridge> [ddnet] int CBinds::GetModifierMask(IInput *i) 21:05 <+bridge> [ddnet] { 21:05 <+bridge> [ddnet] // ... 21:05 <+bridge> [ddnet] if(!Mask) 21:05 <+bridge> [ddnet] return 1 << CBinds::MODIFIER_NONE; 21:05 <+bridge> [ddnet] ``` 21:05 <+bridge> [ddnet] 21:05 <+bridge> [ddnet] On the other hand, the default bindings are set up via calls like `Bind(KEY_A, "+left");` which expands to `Bind(KEY_A, "+left", /* FreeOnly */ false, /* ModifierCombination */ 0);` 21:05 <+bridge> [ddnet] 21:05 <+bridge> [ddnet] This leads to a bug — binds which just set from the user input events are saved in e.g. m_aapKeyBindings[1]['a'], and the default binds are still there in m_aapKeyBindings[0]['a'] which leads to binds duplication in the UI. 21:06 <+bridge> [ddnet] 21:06 <+bridge> [ddnet] https://github.com/ddnet/ddnet/blob/15.5-devel/src/game/client/components/binds.cpp#L143 21:10 <+bridge> [ddnet] I'm going to use zero mask to prevent the bug and then we'll have an empty unused array at [1]. 21:10 <+bridge> [ddnet] Please guide me what can go wrong 🙂 21:10 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/941063552494628924/unknown.png 21:30 <+bridge> [ddnet] Yes it has automated vote no, emotes, swap, dummy connect and emotes. For farming slowest rank on the map. Is this an issue? 21:30 <+bridge> [ddnet] (@heinrich5991) 21:31 <+bridge> [ddnet] I did not expect that to be illegal. 21:35 <+bridge> [ddnet] Okay i shut it down for now since i have to go afk now. Also fyi @bencie i saved the run hook me up if you want the save and continue on your machine. 21:37 <+bridge> [ddnet] chillerdragon: same code the one you leaked to me? :D also ill prob only run it for a few hours since i dont trust my net to go sleep while afking 21:39 <+bridge> [ddnet] wiat what you said you didnt recive my private code!!! 21:39 <+bridge> [ddnet] but yes same -.- 21:39 <+bridge> [ddnet] i literally copy pasted the server message but left out code to not leak it to others :kek: 21:39 <+bridge> [ddnet] so do you have it or not? 21:40 <+bridge> [ddnet] yes i do 21:40 <+bridge> [ddnet] oke nice 21:40 <+bridge> [ddnet] so thats why you asked for my username on the other site i reused this pw? \:p 21:40 <+bridge> [ddnet] no hahaha i was joking 21:42 <+bridge> [ddnet] im rly confused now 21:43 <+bridge> [ddnet] said i was joking to this, if that clears it up ^^ 21:45 <+bridge> [ddnet] btw new tp feature is really good, ty devs 💙 21:46 <+bridge> [ddnet] I don't quite remember, but whenever someone touches that code it breaks 21:53 <+bridge> [ddnet] I think I fixed most of the bugs there: https://github.com/ddnet/ddnet/pull/4668 21:54 <+bridge> [ddnet] Kaffeine#4088\: go fix binds in teeworlds. Ddnet binds are fine \:) 21:55 <+bridge> [ddnet] I'll do a client with zero mask for modifiers and we'll see how it goes (with maybe 5-8 testers/the client users). 21:55 <+bridge> [ddnet] Compose binds in upstream is what made me downgrade to 0.6 \:D 21:58 <+bridge> [ddnet] The mod I'm maintaining (`infclass`) is not compatible with 0.7 so I have little interest in the upstream (I send PRs to the upstream just because it is "the right way" but probably DDNet have more reasons to be *the upstream*. Oh, I don't want to start a holy war 😄 ) 22:00 <+bridge> [ddnet] The mod I'm maintaining (`infclass`) is not compatible with 0.7 so I have little interest in the upstream (I send PRs to the upstream just because it is "the right way" but probably nowadays DDNet have more reasons to be *the upstream*. Oh, I don't want to start a holy war 😄 ) 22:00 <+bridge> [ddnet] The mod I'm maintaining (`infclass`) is not compatible with 0.7 so I have little interest in the upstream (I send PRs to the upstream just because it is "the right way" but probably nowadays DDNet have more reasons to be considered as *the upstream*. Oh, I don't want to start a holy war 😄 ) 22:06 <+bridge> [ddnet] The mod I maintain (`infclass`) is not compatible with 0.7 so I have little interest in the upstream (I send PRs to the upstream just because it is "the right way" but probably nowadays DDNet have more reasons to be considered as *the upstream*. Oh, I don't want to start a holy war 😄 ) 22:12 <+bridge> [ddnet] mind a quick open source license related question? 22:34 <+bridge> [ddnet] go ahead 22:35 <+bridge> [ddnet] not related to ddnet tho 22:35 <+bridge> [ddnet] i also didn‘t understand this last i read it 22:36 <+bridge> [ddnet] The mod I maintain (`infclass`) is not compatible with 0.7 so I have little interest in the upstream (I send PRs to the upstream just because it is "the right way" but probably nowadays DDNet have more reasons to be considered as *the upstream*. Oh, I don't want to start a holy war 😄 ) 22:36 <+bridge> [ddnet] 22:36 <+bridge> [ddnet] I actually tried to rewrite the mod ontop of 0.7 but they screwed up mods support so why mod dev would care of teeworlds if teeworlds does not care about mods? Okay, they partially restored the ability to change skins, but e.g. 'global sound' is still missing, gametypes squashed into the generic game controller, etc. What a mess. 22:45 <+bridge> [ddnet] sorry, I've got my answer already 22:46 <+bridge> [ddnet] iirc I took this directly from upstream 22:46 <+bridge> [ddnet] https://discord.com/channels/407308363031117832/510879693982007316/832999976325611550 22:47 <+bridge> [ddnet] if you are on te tw dc 22:47 <+bridge> [ddnet] s\/te/the/ 22:48 <+bridge> [ddnet] Can I ask why sometimes downloading a 1 megabyte map can take a long time 22:49 <+bridge> [ddnet] On good download speed ethernet 22:49 <+bridge> [ddnet] Is it because my client isn't downloading from a web server? 22:52 <+bridge> [ddnet] If it's a map that's not on https://maps.ddnet.tw it'll be downloaded over the gameserver, which isn't very fast 23:04 <+bridge> [ddnet] And moving aswell as target position movement 23:05 <+bridge> [ddnet] https://github.com/teeworlds/teeworlds/pull/3062 23:05 <+bridge> [ddnet] for ddnet pls ^ 23:40 <+bridge> [ddnet] idk, automated input seems bad, chillerdragon 23:40 <+bridge> [ddnet] (also it was hurting for me to see all the spam emojis going into the teehistorian 😛 ) 23:41 <+bridge> [ddnet] thats also possible with bind 23:41 <+bridge> [ddnet] not 24/7? 23:42 <+bridge> [ddnet] Tru