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 2020-04-30 00:00:00Z and 2020-05-01 00:00:00Z
Avatar
[quakenet] Konsti BOT 2020-04-30 03:06:01Z
I would like to get my Map Intercepter rerated from 1* to 2* Brutal. Its very long and definitely does not fit a 1* map. This was already suggested right after release but didnt happen back then, i think because it didnt work somehow, so far i remember. Thanks
Avatar
change OldschoolAdventure from 1* solo to 2* solo before u do anything else lmao
Avatar
I wanted to make a patch for ghidra, the integration tests have been running for the last 14 hour
07:17
s
07:18
apparently I need more cores then a macbook has
Avatar
@deen you work on a large project which is probably mission critical, are your tests this extensive? There are more then 3500 integration tests here, it still didn't end 😛
Avatar
i think they add tests for everything they add
08:02
i saw it on a blog post
08:03
yep
08:03
@Learath2
08:04
"Hundreds of developers from all around the world are developing on about 10 million lines of C++ code and 15 million lines of Python tests."
Avatar
I wonder what kind of beastly computers they run these kinds of testsets on
Avatar
I doubt >16h is acceptable for tests
Avatar
why wonder, when it is in the blog post
Avatar
I guess I need a cluster 😛
Avatar
@Learath2 you wouldn't believe the amount of testing we do. we have a first stage of unit tests for our team (many thousands, takes a few seconds), a second stage of integration tests (takes 1-2 hours), a barrier to get into the main branches (takes 12-24 hours distributed among many systems with dozens of cores each) and then conti tests that only run weekly with the really extensive performance tests
09:21
the perf tests for the barrier run in parallel on a pool of quad socket 22 core machines (176 threads total) with > 350 GB of RAM. For larger tests we also have bigger machines with > 1 TB RAM (edited)
09:23
but yes, test times are a problem. removing tests is also bad, so you have to improve the tests to run faster and still test the relevant stuff
09:24
and yeah, customers have even crazier systems than we have internally, see @Ryozuki's list
Avatar
so much ram
09:25
09:25
24 Teras of ram
Avatar
it's always horrible when a customer has a performance issue on a large system, hard to reproduce those numa effects
Avatar
numa?
Avatar
non-uniform memory access
09:26
some memory is closer to one cpu than to the other, so it matters where you put your data
Avatar
oh god
Avatar
@Ryozuki There are larger systems as well, but maybe not off-the-shelf. At least PayPal already had a single 48 TB machine on HANA 4 years ago
Avatar
@Learath2 why not just make a test push and let their infrastructure test it?
09:36
I never ran our full integration tests on my machine, always just the ones I think are relevant, and the rest can be done centrally
10:44
d22a1a8 Remove setting ammo for freeze to 0 - fokkonaut 69a6e94 Fix two bugs - fokkonaut da72907 Fix ninja not getting removed - fokkonaut d460470 Move comment aswell - fokkonaut 5e213a2 Merge pull request #2086 from fokkonaut/master - def-
10:56
76eda61 cl_showchat 2 to always show large chat area (fixes #2153) - def- d0cf8c0 Merge #2154 - bors[bot]
11:04
65a4eb7 Fix whispering to players with quotes (fixes #2151) - def- bd3b72e Merge #2152 - bors[bot]
Avatar
They don't run their tests on a public CI, not even sure they run the tests until before a release
11:05
I tried all the relevant tests on my own computer and created a PR, guess they'll let me know 😛
11:09
@deen when you have a minute you should rebuild the dmg file on ddnet.tw, it's still built with curl that has ssl disabled
Avatar
@Learath2 I guess I should also rebuild the libs first?
Avatar
Well at the very least you'll have to rebuild curl
Avatar
[quakenet] Learath2 BOT 2020-04-30 11:39:06Z
the output of configure should be telling you whether it is building with ssl
13:04
17d1bcc Some osx cleanup - Learath2 09fad44 Strip rpath before adding the correct one - Learath2
13:06
Especially when only building server and not client
13:28
7fe8afe Don't require notify on Linux - def- e5442c4 Merge #2155 - bors[bot]
Avatar
bde7315 Rebuild mac libs (10.9 osx version, curl with tls) - def-
16:31
8c5de9b Update ddnet-libs (rebuild mac libs) - def-
16:35
Avatar
I'm wondering if I'm doing something wrong, can't build 13.1 on Mac OS X: `` + cmake -DCMAKE_BUILD_TYPE=Release -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/darwin.toolchain -DCMAKE_OSX_SYSROOT=/home/deen/git/osxcross/target/SDK/MacOSX10.13.sdk/ ../ddnet-master CMake Error at cmake/toolchains/darwin.toolchain:2 (message): Run eval osxcross-conf` before compilation Call Stack (most recent call first): /usr/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake:93...
Avatar
@Learath2
17:08
demo can save in fields>
Avatar
@deen I added the osxcross_conf requirement, we used to hard code darwin15 which is wrong, it depends on with which version of the sdk you build osxcross with
Avatar
ok, still doesn't work though
17:50
linker error now
17:50
@Learath2
17:50
So I should use darwin17 for my lib builds?
Avatar
nope, setting darwin17 still fails the same way. any suggestions?
Avatar
@deen
18:26
demo can save or no?
18:26
you mean in file based server? no
Avatar
in field
Avatar
what's a field?
Avatar
in folder
18:27
without other programms
Avatar
save as a video or as a demo file?
18:27
check out config_directory.bat
18:27
there is a demo directory
Avatar
?
18:28
@deen
18:28
how see this
Avatar
where you have the DDNet.exe there is also a config_directory.bat
Avatar
ok
18:29
@deen
18:29
i cant
18:30
its in pause
18:31
i cant
18:31
wiew it
18:31
@deen
Avatar
@Learath2 with this it builds, but not sure if it actually works: https://github.com/ddnet/ddnet/commit/e8bd8459a6f556594f48f33f4d145033bc89d46f
Avatar
Ah, @deen you need to build compiler rt in osxcross too
18:45
There is a script included in osxcross to build compiler-rt
18:46
and then rebuild libs and everything?
Avatar
Yes, that should resolve the undefined symbol without relying on weak linking
18:47
I think only libcurl uses the os version check
Avatar
@deen you could also use osxcross_conf so you dont have to hardcode dawrin17
Avatar
it passes CFLAGS?
19:02
to configure calls?
Avatar
Also isnt darwin17 10.15? I think we still cant update that far because of the sdl peoblem (it should be fine in sdl 2.0.13)
Avatar
i have 10.13, so no idea
Avatar
Ah 17 is 10.13, sorry the 5 different versionings get confusing
19:05
Re: osxcross_conf thing. I think its fine like this, nvm my earlier remark
Avatar
opinion on whether I should just force-push ddnet-libs and ddnet?
19:06
don't want to add more useless megabytes of mac libs
Avatar
I don't mind force pushing ddnet-libs
19:07
Do you need to force push ddnet too?
Avatar
Doesnt ddnet just track ddnetlibs through a commit id?
Avatar
yes, and you have to make a commit to change that
Avatar
Ye, but you can just push a new commit, but I guess that'll make the previous commit unbuildable
19:08
so I wouldn't do that
Avatar
Eh, I think it's close enough to the previous commit
19:09
It shouldnt be too bad
19:09
Would you like me to test it before you push?
Avatar
still the same failure with compiler-rt
19:11
ah no
19:11
this one linking error is gone
19:11
just 5 others left!
Avatar
Can you show me, I probably already came accross them, I built this in osxcross
19:13
oh well, the notifications ones I can fix myself
19:13
just the ssl ones are interesting
Avatar
@deen you could have a tag for the old tip of ddnet-libs
Avatar
oh, I hadn't built it with notifications
19:14
can you show me the configure output from curl?
Avatar
hm, I'm lost there we are building for 10.9 builtin_available should be dropping that call to _SSLCopyALPNProtocols
Avatar
maybe the 10.9 build is not communicated properly from osxcross-conf
19:19
I'll try entering it manually in CMakeLists.txt
19:20
is CMAKE_OSX_DEPLOYMENT_TARGET set correctly?
Avatar
never seen that
19:20
where to set it?
Avatar
well if you aren't setting it it's being set to 10.9
19:21
so that's not it
Avatar
c9dfcb2 Fix Mac OS X notifications linking - def-
Avatar
okay building libcurl
Avatar
sorry you have to do it again :/
19:33
I have no idea why this mac building is so hard
Avatar
well you are not the one that has to be sorry, I'm the one that keeps breaking it 😛
Avatar
According to https://github.com/curl/curl/issues/2835 we need -mmacosx-version-min=10.13
19:36
or 12
19:37
or linking against Security.framework: https://github.com/microsoft/vcpkg/issues/7260
19:38
seems like we are already
Avatar
that call to _SSLCopyALPNProtocols is protected by __builtin_available, it shouldn't even appear in the final curl static library :/
19:44
when compiling, if the deployment target is lower then the builtin available, clang should just optimize that out
19:44
It was doing it just fine a couple weeks ago when you "fixed" that libcurl issue by changing the deployment target
Avatar
then I should set the deployment target explicitly?
Avatar
yeah maybe try setting it explicitly
Avatar
with the cmake thing?
Avatar
maybe cmake is messing up
19:45
the cmake thing should be setting to 10.9 just fine
19:45
maybe just pass --mminblabla like we used to?
19:45
but this is something wrong with the compilation of curl then ddnet I think
Avatar
i tried that already, didn't work
19:47
I think this has the right explanation: https://github.com/curl/curl/issues/2835 Probably we use 10.13 SDK lower than 10.13.4
19:48
afk
Avatar
hm, apparently clang doesn't optimize that out, even on macOS
20:14
oh, I'm an idiot, that's the whole point of @available, it's to be able to target old macOS but still use newer functions if available
20:15
but still, it shouldn't be trying to hard-link it
Avatar
I think you are right that we need a newer sdk, that availability being wrong in the SecureTransport.h is messing with clangs mind
20:24
can you provide one for me? 😄
Avatar
I can but I need to download the xcode image that'll take a while with the shitty internet here
Avatar
5gb wow 😄
20:26
I'll go take a shower while that downloads
Avatar
@deen I think c9dfcb2b should have instead renamed notifications.mm to notifications.m as it no longer uses any Objective C++ features, but either is fine
21:13
(as Objective C++ is a superset of Objective C)
Avatar
I don't understand
21:14
It was .m before, that didn't link
21:14
I don't know details about Objective C/C++
Avatar
Ah, we don't have it extern c so calling it from C++ has mangled names
21:17
I think this is fine in that case
Avatar
right, I was always thinking about putting extern c
21:17
but we had some mm files already, so meh
21:17
could also rename system.c to system.cpp while we're at it
Avatar
Well why mess with it now? We can do that rename when we actually want to use a C++ feature in system.c no?
Avatar
because C++ has more reasonable semantics and Microsoft only supports C89 which is even worse
21:19
like declaring all variables at the start of scope
21:20
or the thing where in C a function "void x()" accepts any parameter
Avatar
I keep forgetting msvc only does c89
Avatar
Disadvantage is of course losing Vanilla Teeworlds compatibility, so I don't care much either way. Haven't cleaned up much since I don't want to put work into it if it's not getting merged anyway.
Avatar
One thing I'll miss from C will be the implicit cast of void *
Avatar
yeah, I noticed
Avatar
oh, I'm also close to getting my commit into ghidra, I'll have officially helped the NSA conquer the world by fixing a small UI oddity 😛
Avatar
@Learath2 link?
Avatar
Not completely sure if this is fine, but calling initialize here instead of setMaximum gives the task dialog a chance to call installProgressMonitor even if the delegate was changed too late and Ta...
22:10
.tbd is a very interesting idea, instead of including the actual object to link to in the sdks, they only include the uuid of the library/framework, the install-name and the symbols it exports
22:11
the linker is then able to link things together as install-name is enough to link a mach binary
22:11
(there is no static linking in mach unless you really force it)
Avatar
@Learath2 how many hours did this one-liner take? ^^
Avatar
@Learath2 now the NSA knows about you justatest
22:57
justatest
Avatar
@heinrich5991 around 5 hours to figure out what was going on, 3 to come up with a solution that's not shit
23:16
well also includes time to learn the ghidra codebase a bit
Exported 202 message(s)