Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2019-05-29 00:00:00Z and 2019-05-30 00:00:00Z
Avatar
Hey, does someone have an idea why my client sometimes crashes if i try to connect my dummy on my server if there are more than 64 players?
Avatar
@fokkonaut because of bugs
Avatar
but is it clientside or serverside? because it only crashes sometimes
Avatar
make a debug build and look at the core dump
Avatar
how?
Avatar
every crash in the client is a client-side bug
11:56
every crash in the server is a server-side bug
11:56
cmake -DCMAKE_BUILD_TYPE=Debug
Avatar
how do i get the core dump? is it possible in vs
Avatar
oh, Windows
Avatar
xd
Avatar
Not sure, google how to debug a crash in VS
Avatar
I can't seem to crash the client in debug mode xd
12:26
im running the vs compiled release version now and i also cant xD?
12:27
does anyone has another idea?
12:27
on how to debug this
Avatar
maybe u fixed when u compiled xd
Avatar
i havent changed client code
12:31
yea, i can crash the release version from ddnet.tw, but not the self compiled one
Avatar
weird xd
Avatar
try compiling the version from ddnet.tw not latest master
Avatar
there is basically no difference and i just pulled, before i tried it with a version thats about 2 weeks old
12:32
also didnt crash
Avatar
debug mode doesnt apply optimizations
12:33
ddnet binaries are crosscompiled mayb it has to do with it
12:33
delete windows
Avatar
xd
12:36
u use windows
Avatar
oh man i want to debug this :(
12:38
but i cant
Avatar
:x
Avatar
seems like its the cross compiling
12:41
hey @archimede67 do you have a second?
Avatar
ye
Avatar
can you join me?
Avatar
where
12:42
oof
Avatar
did your client crash?
Avatar
man its instant
12:42
xd
12:42
ye
Avatar
lol?!?!?!?!?!
12:43
but this seems ot be only for you
Avatar
its weird like its not responding but i can see that its showing connection problems xd
12:43
crash
Avatar
nobody ever had this before tbh :D
Avatar
maybe its my pc
12:44
its too old
Avatar
i mean, the code is kinda non-client-crashable xd
12:44
probably your pc, yea
Avatar
xd
Avatar
BlockDDrace is a mod for Teeworlds, developed by fokkonaut - fokkonaut/BlockDDrace
BlockDDrace is a mod for Teeworlds, developed by fokkonaut - fokkonaut/BlockDDrace
Avatar
man i know
12:46
Avatar
oh, so you get a timeout?
Avatar
yeah
Avatar
i thought your client crashed
Avatar
me too
12:46
its not responding
12:47
but it responded again
12:47
and this happend xd
Avatar
lol @archimede67 for me first try xD
12:52
@archimede67 also this time
12:53
doenst it crash for you?
Avatar
no xd
12:53
oof u timed out
Avatar
can you give me your settings_ddnet.cfg in pm?
Avatar
do you have x64 or x86?
Avatar
x64
Avatar
yea, well, no XD it is still crashing
12:59
i just tested it with my brothers pc, it also crashes there
Avatar
lmao my pc is just weird af
13:00
when it needs to crash it doesn't, but when not it does xd
Avatar
@deen we should get UndoDB for ddnet 😛
Avatar
[quakenet] deen BOT 2019-05-29 14:17:41Z
I'd be happy enough with a coredump for now
Avatar
help me pls i have "error sound"
Avatar
[quakenet] deen BOT 2019-05-29 14:36:04Z
Tysou: can you be more specific?
14:37
but french
14:37
error audio
14:37
reload pc
14:39
rep
14:39
same
Avatar
[quakenet] deen BOT 2019-05-29 14:41:07Z
ok, what error do you get on the black cmd window?
Avatar
dont have cmd
14:42
ddnet
14:42
??
Avatar
[quakenet] deen BOT 2019-05-29 14:42:54Z
You're on Windows? There should be a black window in the background showing the log
Avatar
yes windows
14:44
but i dont know how to do sry french ..
Avatar
[quakenet] deen BOT 2019-05-29 14:45:12Z
then ingame f1, logfile "client.log", restart client
14:45
and check the client.log file
Avatar
@tysou_ normalement quand tu ouvres ton jeu t'as une fenêtre de commande qui s'ouvre aussi
Avatar
non ddnet j'ai pas
14:46
😭
Avatar
ça
14:46
Avatar
dont have
Avatar
tu es sur?
Avatar
oui j'ai que celle de droite
Avatar
ok vas dans les paramètres
14:46
dans le jeu
Avatar
dans "Général"
Avatar
et coche cette case
14:47
14:47
puis redémarre ton jeu
Avatar
c'est là que s'affichent les logs que @deen te demande
14:48
mr
14:48
c
14:48
then ingame f1, logfile "client.log", restart client and check the client.log file
Avatar
ça pas besoin, regarde juste les messages dans la console quand tu as l'erreur
14:49
14:50
[quakenet
14:51
@[quakenet] deen
Avatar
no just @deen
Avatar
xd
Avatar
pardon xD
Avatar
sry deen you'll have 6000 notifications troll
14:53
...
Avatar
Is it that short?
14:56
Nothing after the colon at the end?
Avatar
@tysou_ y'a pas marqué plus sur cette ligne ?
Avatar
@Learath2 xd nice debug
Avatar
pas mon faute
14:59
its "ma faute"
14:59
:p
Avatar
knew that was feminine the second i pressed enter
Avatar
xD
Avatar
just didn't sound right
15:00
also it's sdl's fault really
15:00
we just call SDL_GetError()
Avatar
lol
15:01
nice sdl debug
Avatar
comprend pas xD
Avatar
@Learath2 so what can he do?
Avatar
makes two of us that comprends pas 😛
15:02
gimme a minute I'll take a look
Avatar
what's even weirder is that the SDL source code doesn't have that colon, neither does our code
Avatar
@archimede67
Avatar
oh, it's winapi returning nothing for the error
15:05
hmm
15:06
@tysou_ quelle version de windows?
15:06
10
Avatar
@Learath2 wait wat
15:07
how is that even possible
Avatar
yeah makes no sense
15:08
@tysou_ did you try redownloading the client?
15:09
and delete config
15:09
same
15:11
@Learath2
15:12
my name _TPS_Dragon
Avatar
Yeah I don't really see how that ever happens, It doesn't make sense that windows doesn't return a proper message for an error it produced
15:14
c'est un mystère 😛
Avatar
😂 its so funny to see you speak french xd
Avatar
quelle da dada
Avatar
tf does that mean xd
15:14
it sounds funny
Avatar
ryozuki is obv better then me at french 😛
Avatar
obv
Avatar
and now ?
Avatar
SDL calls IAudioclient_Initialize, which returns an error as a HRESULT which SDL passes to FormatMessage to get the error message, It makes no sense at all that the message is empty
15:17
dont understand xD
15:17
@archimede67
Avatar
short answer: Je ne sais pas aussi 😛
15:18
or should that be a "non plus", meh, either way idk
Avatar
non plus is better
Avatar
i dont know
15:19
yeah
Avatar
Bonjour je ne connais pas le français mais je sais comment utiliser un traducteur :)
Avatar
maybe theres no error xd
15:19
@Ryozuki lol nobo
Avatar
Use the free DeepL Translator to translate your texts with the best machine translation available, powered by DeepL’s world-leading neural network technology. Currently supported languages are English, German, French, Spanish, Portuguese, Italian, Dutch, Polish, and Russian.
Avatar
DeepL works pretty well actually
15:20
i work better
Avatar
but it doesnt has japanese
15:20
have
15:20
xd
Avatar
oof
Avatar
du coup ?
Avatar
learn english
Avatar
and now
Avatar
@deen you seem to be the last one to touch the sound code, any idea why it'd fail like that?
Avatar
i guess we'll have to wait deen
Avatar
no matter how many times you ask @tysou_ we just don't know, and it's really hard to know when it doesn't happen on our computers
Avatar
yep
Avatar
your best chance would be if deen somehow knows of this one 😛
Avatar
whats the problem btw
Avatar
@Ryozuki SDL_OpenAudioDevice fails, the error is ""
Avatar
sound is broken
15:24
on his pc
Avatar
i had the same on arch but i installed pulseaudio to fix it ;)
15:24
xdd
Avatar
pulseaudio
Avatar
im joking u wont fix it u windows peasant
Avatar
Well technically the error is "WASAPI can't initialize audio client: "
Avatar
idk about windows api so
Avatar
But that part is returned by SDL, winapi seems to return ""
Avatar
i once had to change it to use directsound on ddnet
15:25
but idk if it was changed again
Avatar
we cant do everything ?
Avatar
u can try SDL_AUDIODRIVER=somewindows api ./DDNet
15:26
or smth like that
Avatar
@tysou_ just wait now until we go back to u i guess
15:27
@Ryozuki how to
Avatar
ignore me
Avatar
xd
Avatar
okkk xD
15:30
but stressing if i dont play with sound
Avatar
when did this happen anyways?
Avatar
@tysou_
Avatar
in other news, i'm starving and youtube keeps showing me food videos
Avatar
@tysou_ c'est arrivé quand ton problème de son?
Avatar
yesterday
Avatar
Ah the discussion is here
15:41
I had the same problem once i guess
15:42
And it happend when i opened a corrupted demo by dragging it on ddnet.exe
15:43
The client bugs. And from then on. It tries to open it every time you launch the client, because it is still in the config
15:44
@Learath2
Avatar
how is it possible that the problem persists
Avatar
I dunno which bind this caused, i should look it up when i am home
15:46
But i removed that bind and the problem was gone.
Avatar
a bind?
15:46
for what
Avatar
Apparently to open a demo. I dunno
Avatar
wot
Avatar
I am home in 15 min maybe i got time to check it out then
Avatar
k but it sounds strange xd
Avatar
i'm trying to understand how the actual TStaticRingBuffer works xd
Avatar
Problem was caused by ui_demo_selected
Avatar
@Learath2 how should i use TStaticRingBuffer with the replay having a variable length?
Avatar
@archimede67 I'm not even sure if my idea would work tbh, I just put it out there, you'll have to stitch it together yourself
Avatar
😭 xd
Avatar
you might need to mess around a little
17:05
e.g. it comes to mind that snapshots are by definition, not complete
17:06
but I guess demos aren't complete either
Avatar
its hard stuff
Avatar
I think demos record one complete snapshot every 5 seconds
Avatar
that's why i used a demorecorder xd
Avatar
yeah I know, but the easiest solution is rarely the best solution 😛
Avatar
but
17:08
now i have a ringbuffer with CSnaphost but idk if it acutally works xd
Avatar
well write it out to a file and see if it works? 😛
Avatar
i need to write demo header and all that stuff before xd
Avatar
Create a demo recorder
17:09
Start it
17:09
feed it the snapshots using RecordSnapshot
Avatar
oh yeah
17:10
and i need it to not record the actual gameplay
17:10
ok i see
Avatar
but now i go eat xd
Avatar
trying to craft a demo by hand is a futile effort 😛
17:12
too much work
Avatar
Rofi needs a better fuzzy search
Avatar
i never had problems
17:30
xd
Avatar
well i'm sure firefox should match fire better then "file creator" 😄
Avatar
@Learath2 even my fuzzy searcher does better than that 😛
Avatar
@Learath2 werent u the one complaining about a unthemed rofi xd
Avatar
@Ryozuki don't judge me, I'm just setting up 😛
Avatar
i also got a good theme now
Avatar
Lol only the f matches in firefox when u type fire? xd
18:08
poggers
18:08
maim -d | xclip -selection clipboard -t image/png
18:08
so complicated to screenshot rofi
18:08
xd
Avatar
xD
18:38
Still cannot stream?
Avatar
oof
18:55
i guess what i did doesn't really work xd
Avatar
@archimede67 du coup on peut rien faire pour moi ?
Avatar
pas pour l'instant xd
Avatar
@jao be nice
Avatar
@Ryozuki I just gave up and took the photo with a phone 😛
19:06
@archimede67 hf debugging that
Avatar
xd
19:06
what i'm doing is fukin ugly xd
19:08
ah maybe its because i didn't stop the recorder xd
19:09
oh i heard hammer sound 😮
Avatar
lol, did you manage to record only a hammer sound?
Avatar
idk xd
19:12
actually
19:12
i don't even know what size the ringbuffer should be
Avatar
well I guess the amount of seconds you want to record times 50
Avatar
why 50?
19:12
50 fps?
Avatar
there are 50 ticks in a second
Avatar
oh
19:13
for now the size is 64*1024
19:13
and i get 0s demo from that
Avatar
0s doesn't really make sense
Avatar
or at least 0.xx seconds
19:14
like 0.2 or something because only like 12 snapshots can fit in this buffer
Avatar
show me how you are adding the snapshots to the buffer
19:14
64*1024?
Avatar
there // replay: add snapshot to ringbuffer if(g_Config.m_ClRaceReplays) { //dbg_msg("replay", "snapsize: %d", SnapSize); CSnapshot *pSnapshot = m_ReplayBuffer.Allocate(sizeof(CSnapshot) + SnapSize); mem_copy(pSnapshot, aExtraInfoRemoved, SnapSize); } (edited)
Avatar
I meant of seconds you want to record times 50 snapshots obv
19:15
not bytes 😛
Avatar
ok lemme tryagain xd
19:17
OH
19:17
i got a 6s demo now
19:17
but is it working
Avatar
idk, you tell me 😛
Avatar
LMAO
19:17
Its fully bugged 😂
Avatar
wtf the teeworlds music is playing from everywhere xD
19:18
k
19:18
but be ready
19:18
and its so speeded up xd
Avatar
I'm guessing CSnapshot doesn't really take too well to being mem_copy'd 😛
19:19
oh dang it xd
19:19
Avatar
lol it's not as broken as i expected
Avatar
xd
19:21
its still broken
19:21
you want to see a better broken demo? xd
19:23
brilliant
19:23
need to be fixed xd
Avatar
@archimede67 first of all, the timing
19:25
are you passing in the correct ticks?
Avatar
idk
19:25
like
Avatar
to Record snapshot that is
Avatar
i added a thing in the ringbuffer to get the number of actual allocations it has
19:26
so i can loop through it and get all the snapshots
19:26
there
19:27
CSnapshot *pEntry = m_ReplayBuffer.First(); dbg_msg("replay", "number of snapshots in buffer: %d", m_ReplayBuffer.Allocations()); ReplayRecorder.RecordSnapshot(0, pEntry, pEntry->GetDataSize()); for(int i = 1; i < m_ReplayBuffer.Allocations(); i++) { pEntry = m_ReplayBuffer.Next(pEntry); ReplayRecorder.RecordSnapshot(i, pEntry, pEntry->GetDataSize()); }
19:28
each snapshot is recorded on a tick no?
Avatar
that is definitely not how you use a ringbuffer 😄
Avatar
ah
19:28
rip
19:28
i thought (edited)
Avatar
while(buffer->Next()) { void *first = buffer->First(); .... buffer->PopFirst(); }
19:28
is the idiom
Avatar
but the buffer is used
19:29
i should make a copy?
Avatar
while(buffer->First()) sorry
19:29
see that is a problem I haven't actually considered
Avatar
xd
19:30
it'll be fucked up if i pop it as i add items into it xd
19:30
it will never ends
19:31
if i pop items*
Avatar
you could lock it, when you produce the demo
19:31
but then it'll be missing snapshots
19:32
but then it'll be missing snapshots
19:32
it might be*
Avatar
hmm
19:33
but i need to have the correct ticks also
Avatar
ticks you could just store along with the snapshot, that's not the hard part
19:35
I guess you do need a copy, but you can't really just copy a ringbuffer
19:35
not the kind we have in the codebase atleast
Avatar
nice... xd
Avatar
you could allocate an array of snapshots in your thread, then copy into that from the ringbuffer
Avatar
ah ye
Avatar
like while(pEntry != buffer->Last()) { copystuff; pEntry = buffer->Next(pEntry); }
19:38
for(void *pEnt = buffer->First(); pEnt != buffer->Last(); pEnt = buffer->Next(pEnt))
19:38
even looks cute as a for loop 😛
Avatar
ok thanks xd
Avatar
I mean this is looking more and more horrible every second 😛
Avatar
yeah xd
Avatar
@heinrich5991 maybe you can come up with a decent idea 🙂
Avatar
@archimede67 CSnapshotStorage looks interesting
Avatar
hmm yeah
19:50
but what's the Tagtime?
Avatar
I have no idea, looks like it's the current time
19:55
could maybe tack on a GetInterval function to return all the snapshots between two given ticks
19:56
but it's a linked list, not a ringbuffer, so it might be a tad unwieldy to use as such
19:56
you'll need to drop old snapshots
Avatar
oh man i need to record snapshot from dummy as well
20:12
i'm lost
Avatar
this seems like it's getting lost
21:11
in the intial version, how much did it lag?
21:11
perhaps we can just merge the single-threaded variant
Avatar
I did a version with a thread which was safe i guess, you can take a look at it if u want, the only problem i could fine is that when you were playing for a long time (>50 mins) then save a replay, there is some delay (it gets bigger the more you play) like 3-4 seconds before seeing the notification, but you dont notice any freeze as it is in a thread
Avatar
how did you deliver the notification back?
Avatar
i wait for the thread to be done in the client loop
Avatar
ah
21:20
do you know why it takes longer if you are playing for a longer time?
Avatar
ye
21:21
the file size is bigger, so when loading the actual demo it takes more or less time, depending on that size
Avatar
ah
Avatar
to create a replay i use the slice method of the demoeditor, which loads first the demo then record it from a starttick to an endtick (edited)
Avatar
ah
21:22
I mean if that version is safe from races, we could probably merge it and look onward from there
Avatar
yeah just need to make sure i didn't do shit xd
Exported 422 message(s)