01:01 <+bridge> [ddnet] yeah if they're saved to different files, then you could just merge them manually with a python script `set(server1Banlist.readlines() + server2Banlist.readline())` 06:22 <+bridge> [ddnet] @deen any plans to keep the current site theme as a third option after Halloween? i really like the contrast :feelsamazingman: 07:39 <+bridge> [ddnet] the current site theme is the dark theme 07:42 <+bridge> [ddnet] hmm im not sure what you mean, the link colors changed 07:42 <+bridge> [ddnet] ye cuz i changed the old theme 07:42 <+bridge> [ddnet] there is no new theme 07:42 <+bridge> [ddnet] u probs never knew about the dark theme before right 07:42 <+bridge> [ddnet] it always existed 07:42 <+bridge> [ddnet] i guess not? I thought the halloween theme was just adapted as the "dark theme" 07:43 <+bridge> [ddnet] the dark theme was originally made for halloween years back too 07:43 <+bridge> [ddnet] we just keep it cuz its a cool dark theme 07:43 <+bridge> [ddnet] well, im happy with this so im fine to not have the lower contrast "halloween" theme 07:43 <+bridge> [ddnet] :DF 07:43 <+bridge> [ddnet] ye it lacked lot of contrast 07:43 <+bridge> [ddnet] :D 07:43 <+bridge> [ddnet] looks great 07:44 <+bridge> [ddnet] does the color match the brand orange? cant tell 07:44 <+bridge> [ddnet] the logo orange 07:44 <+bridge> [ddnet] ye 07:44 <+bridge> [ddnet] okay cool 07:44 <+bridge> [ddnet] sorry web dev term 07:44 <+bridge> [ddnet] xd 07:44 <+bridge> [ddnet] well im also a web dev lol 07:44 <+bridge> [ddnet] :monkaS: 07:45 <+bridge> [ddnet] "the atc cta is not flush with the bottom of the fold" 07:45 <+bridge> [ddnet] ill start talking like that xD 07:45 <+bridge> [ddnet] wat 07:45 <+bridge> [ddnet] atc = add to cart 07:45 <+bridge> [ddnet] cta = call to action (dumb way to say button) 07:45 <+bridge> [ddnet] this looks more specific things to u than in general xd 07:45 <+bridge> [ddnet] fold = visible area without scrolling 07:45 <+bridge> [ddnet] yea i mean maybe it's more specific to e-commerse. 07:46 <+bridge> [ddnet] yea i mean maybe it's more specific to e-commerce. 07:46 <+bridge> [ddnet] the way i remember this one is like a newspaper, without opening it, you can only see the front "fold" 09:09 <+bridge> [ddnet] After Halloween we just switch the default back from dark to bright theme, but anyone that explicitly set the theme by using the "Switch Theme" button will stay on their choice 10:47 <+bridge> [ddnet] 👻 10:48 <+bridge> [ddnet] 🤖 11:24 <+bridge> [ddnet] There is some script to recompute points right? I migrated all my .dtb files to the new sqlite (poggers) and now it would be nice to add the points after the fact. 11:25 <+bridge> [ddnet] for ddnet we do it with scripts/ranks.py 11:25 <+bridge> [ddnet] but that also generates the ranks websites 11:25 <+bridge> [ddnet] whats this https://github.com/ddnet/ddnet-scripts/blob/master/servers/scripts/recalculate-points.py 11:25 <+bridge> [ddnet] ah its all mysql connect scripts 11:28 <+bridge> [ddnet] well, it's called recalculate, but it just reads the values calculated by ranks.py and fills the db with them 11:28 <+bridge> [ddnet] ok so i gotta get ranks.py running 11:28 <+bridge> [ddnet] lemme see what i have to edit 11:28 <+bridge> [ddnet] I wish i could pr against scripts did i mention this already? \:D 11:29 <+bridge> [ddnet] ``` 11:29 <+bridge> [ddnet] with Cache('/home/teeworlds/servers/players-cache', eviction_policy='none', sqlite_auto_vacuum=0, sqlite_journal_mode='off') as cache: 11:29 <+bridge> [ddnet] ```for example using a relative home path would be a start to not force using the username "teeworlds" 11:30 <+bridge> [ddnet] I don't think you want to get it running 11:30 <+bridge> [ddnet] it does so many things 11:30 <+bridge> [ddnet] better code your own points recalculation 11:32 <+bridge> [ddnet] creating a bit of html shouldnt be so bad right? 11:33 <+bridge> [ddnet] So what do you suggest? Rewriting my own script to recalculate points? \:c 11:36 <+bridge> [ddnet] yes 11:36 <+bridge> [ddnet] oky 11:36 <+bridge> [ddnet] thanks \:) 12:21 <+bridge> [ddnet] Hm, this crash is so bizarre 12:21 <+bridge> [ddnet] m_pGameWorld seems to have ended up null in the entity, however that should never really be possible 12:22 <+bridge> [ddnet] I wonder if this is somehow a stale entity wrongly considered a CCharacter due to ub 12:24 <+bridge> [ddnet] :monkaS: 12:34 <+bridge> [ddnet] Well, asan didn't catch anything weird 12:34 <+bridge> [ddnet] so that excludes most of the error sources I would have expected 14:02 <+bridge> [ddnet] Okay that script seems to work fine \:) 14:02 <+bridge> [ddnet] 14:02 <+bridge> [ddnet] https://paste.zillyhuhn.com/kQ 14:02 <+bridge> [ddnet] 14:02 <+bridge> [ddnet] can/should i pr that against some ddnet repo? 14:04 <+bridge> [ddnet] Can not only be useful for .dtb migrators but also for users that run the new sqlite servers for a while before inserting the map records that define the points 14:08 <+bridge> [ddnet] What is insane is pEnt can't possibly be null, which means the entity is still inserted in the gameworld, but such an entity cant possibly have a null gameworld pointer, but it does 14:18 <+bridge> [ddnet] Seems the entire character object we are ticking for is nulled for some reason 14:55 <+bridge> [ddnet] one could certainly test valgrind locally, which might find uninitialized values 14:55 <+bridge> [ddnet] 14:55 <+bridge> [ddnet] Else its probs a critical section issue or a logic error 14:57 <+bridge> [ddnet] [Zwelf](https://matrix.to/#/@zwelf:matrix.org)\: Am i allowed to touch the ddnet-server.sqlite file? I replaced it with a new version but points where not picked up until i restarted the server. Are points chached or was it an issue with me replacing the file? 15:40 <+bridge> [ddnet] the file is only opened once when starting the server and kept open as long as the server is open. The server is still using the file from the startup, even if you removed/moved it if I understand the linux file systems correctly 15:40 <+bridge> [ddnet] if you are touching it with the sqlite executeable, you are fine (or the sqlite python library) 15:43 <+bridge> [ddnet] so just replacing it while the server is running doesn't work 16:04 <+bridge> [ddnet] Oh okay so that was the issue then nice. But when two servers write via sql connection it syncs live. Ye linux somehow keeps some zombie files \:D 16:05 <+bridge> [ddnet] But yea good to know one shoud not replace the dtb file 17:12 <+bridge> [ddnet] https://wiki.ddnet.tw/docs/classCComponent__coll__graph_org.svg 17:12 <+bridge> [ddnet] looks cool 18:37 <+bridge> [ddnet] https://github.blog/changelog/2021-10-26-updates-to-our-issue-status-icons-and-colors/ 18:37 <+bridge> [ddnet] > As part of our roadmap issue today we are starting a rollout that updates the issue closed icon from red to purple. 18:37 <+bridge> [ddnet] we did it, communism is no more 19:01 <+bridge> [ddnet] hi! my friend have some problem: when he set cl_refresh_rate 0 it's ~4k fps 19:01 <+bridge> [ddnet] hi! my friend have some problem: when he set cl_refresh_rate 0 it's ~4k fps 19:01 <+bridge> [ddnet] but when he sets 2000, he have ~1000 fps 19:01 <+bridge> [ddnet] hi! my friend have some problem: when he set cl_refresh_rate 0 it's ~4k fps 19:01 <+bridge> [ddnet] but when he sets 2000, he have ~1000 fps 19:01 <+bridge> [ddnet] how to explain that? 19:04 <+bridge> [ddnet] gfx_refresh_rate at 0? 19:06 <+bridge> [ddnet] i'll ask 19:08 <+bridge> [ddnet] yep 19:08 <+bridge> [ddnet] it's 0 19:08 <+bridge> [ddnet] exactly, it was 1500, but he set 0 and it's the same 19:09 <+bridge> [ddnet] graphics thread might have to sometimes wait for cpu thread, so it's not that unexpected 19:09 <+bridge> [ddnet] he says when he set cl_refresh_rate to 1000 it's like V-Sync is on 19:47 <+bridge> [ddnet] https://github.com/stong/how-to-exploit-a-double-free 19:47 <+bridge> [ddnet] ARM only bug ^_^ 19:48 <+bridge> [ddnet] https://discord.com/channels/252358080522747904/757720336274948198/902976757051850814 20:01 <+bridge> [ddnet] Is it arm-only though? x86(-64) is usually the odd one out, IBM's Power CPUs have a similar memory model to ARM 20:02 <+bridge> [ddnet] Is there a way to go past the zoom out level in the editor? 20:03 <+bridge> [ddnet] i don't think so 20:03 <+bridge> [ddnet] :feelsbadman: 20:03 <+bridge> [ddnet] we could make it respect the cl_limit_max_zoom_level 20:04 <+bridge> [ddnet] would be nice 20:04 <+bridge> [ddnet] i cant select the whole map at this zoom rate 20:04 <+bridge> [ddnet] and i cant move my mouse while selecting 20:08 <+bridge> [ddnet] lol why tho 20:25 <+bridge> [ddnet] further encourages repo maintainers to just close everything now smh 20:25 <+bridge> [ddnet] further encourages repo maintainers to just close everything prematurely now smh 20:25 <+bridge> [ddnet] @deen concern about zooming in editor: it'll enable people to crash their client by zooming out too far or too fast. I guess you considered that? 20:33 <+bridge> [ddnet] i mean they have to change config for that 20:34 <+bridge> [ddnet] ah right 21:26 <+bridge> [ddnet] Um, I think I'm out of ideas for this crash 21:27 <+bridge> [ddnet] I just dont see it happening ever, let alone frequently :/ 21:28 <+bridge> [ddnet] @Learath2\: do you now the commit before these crashes happened? 21:28 <+bridge> [ddnet] Nope 21:28 <+bridge> [ddnet] ok 21:28 <+bridge> [ddnet] I've been digging into the coredump 21:29 <+bridge> [ddnet] But it makes no sense to me 21:29 <+bridge> [ddnet] but i remember the bug i introduced once 21:29 <+bridge> [ddnet] and from there i read all commits 21:30 <+bridge> [ddnet] most suspecious are the ones i dont fully understand, the removale of volatile and the teehistorian stuff 21:30 <+bridge> [ddnet] 21:30 <+bridge> [ddnet] The rest looks pretty harmless, tho i only read the history of the src/game/server history 21:32 <+bridge> [ddnet] The volatile removal should change nothing where a single thread is involved 21:32 <+bridge> [ddnet] yeah 21:32 <+bridge> [ddnet] thats what i wasnt sure about, if something like the database is async somewhere and writes to the log 21:32 <+bridge> [ddnet] Hm, that is unless ub is involved actually 21:33 <+bridge> [ddnet] but i also didnt find anything 21:33 <+bridge> [ddnet] was antibot updated? 21:33 <+bridge> [ddnet] I remember some ubsan warnings about ccharacter alignment 21:34 <+bridge> [ddnet] alignment or about using it even tho the destructor was called 21:34 <+bridge> [ddnet] I dont think we got the API change in 21:35 <+bridge> [ddnet] I wonder if it has sth to do with the virtual destructor 21:35 <+bridge> [ddnet] its bcs of the order how destructors are called 21:35 <+bridge> [ddnet] it uses a character feature in the destructor call of ientity (in the world call) but at this point its not a character object anymore 21:36 <+bridge> [ddnet] atleast the character part could be considered destructed already 21:37 <+bridge> [ddnet] ```gdb 21:37 <+bridge> [ddnet] src/game/client/prediction/gameworld.cpp:151:23: runtime error: downcast of address 0x55c0d1095db0 which does not point to an object of type 'CCharacter' 21:37 <+bridge> [ddnet] 0x55c0d1095db0: note: object is of type 'CEntity' 21:37 <+bridge> [ddnet] 00 00 00 00 98 15 ec cc c0 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0 60 c8 cd 21:37 <+bridge> [ddnet] ^~~~~~~~~~~~~~~~~~~~~~~ 21:37 <+bridge> [ddnet] vptr for 'CEntity' 21:37 <+bridge> [ddnet] #0 0x55c0ccb3e4d4 in CGameWorld::RemoveEntity(CEntity*) /media/ddnet/src/game/client/prediction/gameworld.cpp:151:23 21:37 <+bridge> [ddnet] #1 0x55c0ccb38fd2 in CEntity::~CEntity() /media/ddnet/src/game/client/prediction/entity.cpp:33:16 21:37 <+bridge> [ddnet] #2 0x55c0ccaedef6 in CCharacter::~CCharacter() /media/ddnet/src/game/client/prediction/entities/character.h:31:7 21:38 <+bridge> [ddnet] #3 0x55c0ccb21846 in CCharacter::~CCharacter() /media/ddnet/src/game/client/prediction/entities/character.h:31:7 21:38 <+bridge> [ddnet] #4 0x55c0ccb4901a in CGameWorld::CopyWorld(CGameWorld*) /media/ddnet/src/game/client/prediction/gameworld.cpp:532:4 21:38 <+bridge> [ddnet] #5 0x55c0ccacc291 in CGameClient::OnPredict() /media/ddnet/src/game/client/gameclient.cpp:1710:19 21:38 <+bridge> [ddnet] #6 0x55c0cc577bf0 in CClient::Update() /media/ddnet/src/engine/client/client.cpp:2812:20 21:38 <+bridge> [ddnet] #7 0x55c0cc583ede in CClient::Run() /media/ddnet/src/engine/client/client.cpp:3237:4 21:38 <+bridge> [ddnet] #8 0x55c0cc5a5b0e in main /media/ddnet/src/engine/client/client.cpp:4341:11 21:38 <+bridge> [ddnet] #9 0x7ff8e66a6151 in __libc_start_main (/usr/lib/libc.so.6+0x28151) 21:38 <+bridge> [ddnet] #10 0x55c0cc2f2e0d in _start (/media/ddnet/DDNet+0x705e0d) 21:38 <+bridge> [ddnet] ``` 21:38 <+bridge> [ddnet] this is also the last issue of https://github.com/ddnet/ddnet/issues/3050 21:38 <+bridge> [ddnet] and the fix is rather hard 21:38 <+bridge> [ddnet] i tried it, but it relys on so many things, kinda annoying design 21:40 <+bridge> [ddnet] (ok in this case its the prediction code, but i think its pretty similar to the server code) cant remember if that was fixed in the server code or even happened 21:46 <+bridge> [ddnet] Mh, thats clientside 21:46 <+bridge> [ddnet] did the server bug always happen on the same line (Collision()->IsSwitch)? Found that a bit strange since there are many other calls to GameContext/Collision before this one 21:47 <+bridge> [ddnet] but dont' 21:47 <+bridge> [ddnet] but don't really know how to debug these kind of things 21:48 <+bridge> [ddnet] https://github.com/ddnet/ddnet/blob/master/src/game/server/entity.cpp#L28 21:48 <+bridge> [ddnet] (@Learath2) 21:48 <+bridge> [ddnet] server uses similar code tho 21:49 <+bridge> [ddnet] but i doubt that this causes the bug 21:51 <+bridge> [ddnet] but if this was smth different can you post the bt? or add it in the issue 21:51 <+bridge> [ddnet] (@Learath2) 21:57 <+bridge> [ddnet] sad that the thread sanitizer is so hard to use \:D 21:58 <+bridge> [ddnet] :monkalaugh: 22:49 <+bridge> [ddnet] oh nice with TSAN\_OPTIONS="ignore\_noninstrumented\_modules=1" it works quite well nowadays 22:50 <+bridge> [ddnet] no idea how much it disables, but i tested it on a small program with a datarace and it detected it \:D 23:05 <+bridge> [ddnet] possibly the volatile buffer or smth, so maybe safe under x86 but not all hardware, but didnt dig deeper into it