IRC logs of Libera.Chat #BZFlag for Saturday, 2023-09-02

TimRikerI upgraded my debian box to 12.1 which has php 8.200:18
Juestcompiling dependencies00:32
Juestit complains at linking00:32
Juestmaybe i have to clear my folders from old files00:33
blast007and you're using the latest 2.4 branch of the dependencies?00:34
Juestyup00:35
Juestit succeeded for sdl2 release but failed for debug00:43
blast007what error are you seeing?00:44
blast007throw it up on a pastebin00:45
Juesthttps://pastebin.pl/view/a4e0e74900:51
Juesthttps://pastes.io/7pkfeufhcg better pastebin site00:54
blast007from the bzflag-dependencies folder, try a 'git clean -xfd' and then run buildVC2017.bat again00:57
Juestdo you know a good man2html program for windows that works?00:59
Juesti have one from 2017 but it looks like its hung00:59
Juestfor some weird reason00:59
blast007besides the one in our misc/ directory?01:01
Juestyeah, for some reason it seems untracked or something01:02
blast007untracked?01:02
Juestwait let me compile it then01:03
Juesti dont know how it was built01:03
Juesti have a man2html.exe file from 2017 in the man folder01:03
blast007it's part of our Windows build01:03
Juestand it doesnt work01:03
Juestah okay, it'll get replaced then01:03
blast007what01:03
blast007FYI, it's not a GUI program01:04
Juestwhere does man2html from the bzflag tree get built to?01:04
Juestyeah i know its a cli program01:04
Juestit appears stuck01:04
blast007yeah, cuz that's not how it works01:04
blast007you don't just run it alone01:04
Juestsorry then01:04
blast007trying to find which project actually uses it01:05
blast007ah, there's a makeHTML.bat file in the MSVC/build/ directory01:07
Juestgot it01:09
Juestsorry for my forgetfulness/ignorance01:09
Juestdo 64 bits build work yet?01:10
blast007no01:10
Juestwhat's left?01:10
blast007I think it's the dependencies that don't all build 64-bit with their current build method01:10
blast007if I switched to calling their CMake projects it might be okay01:11
Juestinteresting01:11
Juestwhy bzflag-dependencies stopped receiving github releases?01:11
blast007cuz I got lazy01:11
Juesti wanted to disable the spectre mitigations but too difficult to figure out this setup01:12
blast007why?01:12
Juestnot needed and performance penalty01:12
blast007and the 1000+ FPS we get isn't enough?  :)01:13
Juest:)01:13
Juesti guess i could run bzflag under remote desktop01:13
Juestto reproduce with a debugger attached01:14
Juestwhich i prefer windbg01:14
blast007why would RDP help with that?01:14
blast007what you might be able to use is remote debugging: https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=vs-202201:15
Juestim aware about the remote debugger stuff01:15
Juestdont have the vs 2017 one installed here i think01:15
Juestand i still wouldnt be able to run it on my win7 if i dont copy the debug "redist" files01:16
Juestwonderful, now it succeeded01:16
blast007actually it seems like the dependencies *might* all work in x64.  (I do have the part that sets the arch to x64 commented out in the .bat file, but that can be uncommented by removing the ::)01:36
blast007but then trying to actually build the game in x64 leads to a couple errors. 2532 errors to be exact, and 466 warnings.  :)01:36
blast007might be some project settings that are messed up in the x64 configuration01:37
Juestim copying manually the pdb files to the bzflag directory01:59
Juestim going to use windbg locally01:59
Juesti dont know02:04
Juestit doesnt crash in debug blast00702:05
Juestoh i got it to crash actually02:05
Juestit's a C++ EH exception02:06
Juestblast007 https://pastes.io/xblyvve3ey02:10
Juesti have -dddd passed as argument, if it matters anything in the crash02:12
Juestokay now i actually crashed it02:15
Juestin the right condition02:15
Juesthttps://pastes.io/4t19nf4pbc02:16
Juestokay, there goes the crash02:17
Juesti reproduced it on a debug build with stack trace02:17
Juestdoes that help?02:17
Juestwow im getting a bit of a deja vu02:19
Juestthis crash happens easily on a server with players02:19
Juestthe crash doesnt happen if i am alone observing02:20
Juestawesome i crashed during the worldunpack02:22
Juest0018b090 00579ae4 bzflag!WorldBuilder::unpack(void * buf = 0x07ea5220)+0x280 [z:\bzflag\src\bzflag\worldbuilder.cxx @ 112]02:23
Juest0018b230 0057b6a6 bzflag!loadCachedWorld(void)+0x414 [z:\bzflag\src\bzflag\playing.cxx @ 1738]02:23
Juestim testing worlds with custom textures to see what happens02:25
blast007ah, I wonder if I was testing on an empty server before02:25
Juestim finding all sorts of different  bugs now02:26
Juestnow its a render crash02:26
Juestmesh draw crash02:26
Juesthttps://pastes.io/klyk3wervh02:27
Juesti've determined that im more likely to crash on custom servers that download textures and have its own world02:27
Juesti managed to crash it by reconnecting while it was trying to unpack the world02:27
Juestthose crashes are very random but they have something in common: im attempting reconnects at the same time02:28
Juesti cant crash in vanilla worlds02:31
Juestas in maps that dont use custom stuff02:32
blast007note that a backtrack from a program crash isn't always useful, since it could be a buffer overflow writing over some other memory that makes the program barf in another location02:32
Juestwhat should i be looking into?02:32
blast007something like this can help find memory-related programming errors: https://github.com/dynamorio/drmemory02:34
Juestlet me see02:35
Juestthe stacktrace is consistent when i crash on planetmofo02:37
blast007building here again to see if I can reproduce it with that additional info02:38
Juestit could be my computer02:39
Juesti have a very strange bug with a game02:39
Juestthat sticks across installations on this computer only02:39
Juestit crashes because it sets a pointer to itself at some point during initialization instead of setting the correct data02:39
blast007what cpu/gpu does the system with the crash have?02:42
Juesti7 4790k evga gtx 166002:43
Juesti'll try to reproduce this on my other computer ove remote desktop02:44
Juestover*02:44
Juestto discard that it could be a bug with my hardware instead of a bzflag problem02:44
Juesti cant get it to run02:49
Juestcrashing with a c++ eh exception02:49
blast007ooo, I got it to crash02:50
Juestokay good02:50
blast007it caught an exception in MeshDrawInfo::updateAnimation02:50
Juestin planetmofo?02:50
blast007yeah02:50
Juestweird, i was getting a crash on player02:50
Juesttwice even02:51
Juesttry it again, maybe it crashes on something else02:51
blast007I have the world file cached, but deleted the http cache for the images, and then spammed connect02:51
Juesti have everything cached02:51
blast007read access voluation. this->animInfo was 0xDDDDDDDD02:51
blast007and DDDDDDDD is a magic number for "Used by MicroQuill's SmartHeap and Microsoft's C/C++ debug free() function to mark freed heap memory"02:51
Juestthe world crash unpack crash happens if you are downloading the world and reconnect when it finished02:51
blast007https://en.wikipedia.org/wiki/Magic_number_(programming)02:51
Juestinteresting02:52
Juestyou couldnt really process the windbg output i posted?02:52
Juestthe player crash02:53
blast007ah, didn't see that02:53
blast007FEEEFEEE is another magic number02:53
Juestshould i check out the crash on release with the pdbs?02:53
blast007I don't know02:54
Juestit happens on release but i dont have debug information02:55
Juestcan you reproduce on release yourself?02:55
blast007I can reproduce it on debug, so is there a reason to reproduce on release?02:56
Juestokay, i dont know, but thought maybe things are different on release because of optimizations02:56
blast007wonder if it crashes on linux too02:57
Juesti could try to repro on mac02:58
Juestdo you have any idea where the problem might lie in?02:58
Juesti guess its in custom maps02:58
Juestconsidering that im not crashing on vanilla02:58
Juestvanilla as in maps that use stock geometries02:59
Juestrather than meshes02:59
Juestim back again at a c++ eh exception crash03:00
blast007it might be specific to maps with drawinfo, which would be very few maps03:00
Juestokay, i think its a crash that happens explicitly with maps that use meshes03:00
blast007MeshDrawInfo I *believe* would be the drawInfo object in BZW03:01
Juestcrashed on the quickshot server map03:01
Juesti had a crash on player in planetmofo03:01
Juestit seems to change03:02
Juestbut you think the meshdrawinfo was the correct stacktrace?03:02
blast007it very well could be03:02
blast007I got a crash on Linux too :)03:03
Juestawesome03:04
Juesti noticed another bug in the middle of this03:04
Juestit says error on md5 removing offending file03:04
Juestbut it gets stuck there03:04
Juestwhen i reconnect it says the same message03:04
Juestshould i open a issue on github?03:04
Juesti got the player stacktrace again03:05
Juestare you getting different stacktraces too or always the same one?03:05
blast007I didn't run in gdb on linux yet, but I ran it through valgrind (a memory error debugger) and I'm seeing issues in MeshDrawInfo::updateAnimation there too, among other MeshDrawInfo functions03:07
Juestoh wow, so it seems correct03:07
blast007so it looks like we're trying to read freed memory03:08
Juestshould i run it through drmemory?03:08
Juestshould we bisect this?03:08
blast007kinda doubt a bisect will help, since I imagine this issue has always existed since drawInfo was added03:09
Juesthmm interesting03:09
Juestwhen was drawinfo added?03:09
blast007for 2.0 I believe03:09
Juesti want to say i experienced this bug before but i cant recall03:09
blast007yeah, I believe it was you that posted an issue for it03:10
blast007https://github.com/BZFlag-Dev/bzflag/issues/12803:10
Juestthere we go03:15
Juestyeah its the same issue03:15
Juestshould i update that with the new information?03:15
Juestwell, you03:16
BZNotifybzflag: blast007 commented on issue #128 "Client crash when hitting Connect multiple times" by Juesto (https://github.com/BZFlag-Dev/bzflag/issues/128#issuecomment-1703668925): This may be an issue specific to servers running maps that use draw...03:16
BZNotifybzflag: Juesto commented on issue #128 "Client crash when hitting Connect multiple times" (https://github.com/BZFlag-Dev/bzflag/issues/128#issuecomment-1703670448): addendum:...03:19
*** TD-Linux <TD-Linux!~Thomas@user/td-linux> has quit IRC (Server closed connection)03:20
*** TD-Linux <TD-Linux!~Thomas@user/td-linux> has joined #bzflag03:20
Juestim happy that i finally got this sorted out03:21
BZNotifybzflag: Juesto commented on issue #128 "Client crash when hitting Connect multiple times" (https://github.com/BZFlag-Dev/bzflag/issues/128#issuecomment-1703670448): addendum:...03:22
Juestdoes it really deserve the good first issue tag?03:22
Juestits more complicated than it looks like, i think03:22
blast007heh03:22
Juestim sorry that i was very vague with it03:22
blast007okay.. I added a check for world in joinGame() that deletes it and sets it to null if it exists, inside the 'if (joiningGame)' block, and now it barfed on World::getPlayers called from joinInternetGame2()03:23
Juestjust now i paid better attention to what i was doing03:23
Juesthuh03:23
Juestside-quest: can you get it to crash during world unpack?03:26
Juestmaybe its the same issue altogether03:27
Juesti posted a paste of that03:27
Juestcrap i didnt post the world unpack crash03:28
Juestnevermind i did03:28
Juestbut its just the stacktrace03:28
blast007I got a crash in WorldBuilder::unpack when joining my server running Rats Nest03:30
Juestokay cool, is this related to the whole issue or not?03:31
blast007probably03:31
Juesti have my dobuts, i crashed on unpack when i joined a bzexcess server03:32
Juestcan you check if the crash is consistent?03:32
blast007oh god, a new crash in a new area...03:34
blast007in ScoreboardRenderer::newSortedList03:34
Juesthow03:35
blast007"Unhandled exception at 0x75BDD8C2 in bzflag.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0019C99C."03:35
blast007I hit connect twice or so, then let it connect, then hit esc, enter, enter to rejoin03:35
blast007let it fully connect*03:35
Juestinteresting03:35
Juesttry drmemory?03:36
Juestwhich isnt running for me on windows 703:36
Juesti downloaded the portable version03:36
blast007I'm gonna have to resume this another day03:37
Juestno problem03:38
Juestthank you for looking into it03:38
Juestand getting somewhere03:38
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag03:52
*** blast007 <blast007!~blast@user/blast007> has quit IRC (Server closed connection)05:20
*** blast007 <blast007!~blast@user/blast007> has joined #bzflag05:20
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag08:01
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 255 seconds)08:04
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag08:04
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 246 seconds)08:06
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag08:08
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 246 seconds)08:12
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag08:15
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 246 seconds)08:19
*** FastLizard4 is back08:53
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer)09:00
*** FastLizard4 is now away: AWAY from keyboard09:01
*** FastLizard4 is back09:37
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag09:57
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 248 seconds)10:00
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 245 seconds)10:07
*** FastLizard4 is now away: AWAY from keyboard10:10
*** FastLizard4 is now away: GONE - Screen Detached and Disconnected from IRC (I'm probably asleep, at work, or doing something in real life)10:39
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.12:58
*** yuitimothy is back12:58
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag13:39
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag13:39
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 255 seconds)13:43
*** Juest <Juest!~Juest@user/Juest> has quit IRC (Quit: Client closed)16:02
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag16:46
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 255 seconds)16:49
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.16:55
*** yuitimothy is back16:56
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag16:58
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 245 seconds)17:01
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag17:03
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 244 seconds)17:07
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.17:17
*** yuitimothy is back17:17
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.18:14
*** yuitimothy is back18:14
*** Optic_Delusion <Optic_Delusion!~Optic_Del@2600:4041:19d:2d00:208b:3997:7508:94db> has quit IRC (Ping timeout: 248 seconds)18:27
*** Optic_Delusion <Optic_Delusion!~Optic_Del@2600:4041:19d:2d00:3806:62b1:6a53:7d7f> has joined #bzflag18:31
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag19:03
*** Juest <Juest!~Juest@user/Juest> has joined #bzflag20:01
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.20:12
*** yuitimothy is back20:12
tuponeany reason why we use -std=gnu++11 and not -std=c++11 ? to use the last we need to pass [noext] to AX_CXX_COMPILE_STDCXX_1120:19
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.20:28
*** yuitimothy is back20:28
Agatha-std=c++20     (:20:35
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.20:43
Juesthm?20:55
blast007tupone: probably no reason20:56
Juestmaking dynamically colored tank textures would be easy, right?20:57
Juestdidn't bz used to have dynamic colors or it was just one tank color?20:57
Juesthey blast007, bothered to look at the issue with drawinfo?20:58
Juestdidnt mean to sound condescending or something like that21:00
blast007Juest: nah, not yet.  I'm working this weekend to get a bunch of stuff ready for this next week.21:02
blast007the map format does have a dynamic colors feature so objects can cycle colors21:03
*** yuitimothy is back21:09
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.21:31
*** yuitimothy is back21:31
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.21:37
*** yuitimothy is back21:37
Juestnice23:00
Juestcan that be easily ported to tanks?23:00
blast007for what purpose?23:01
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.23:03
*** yuitimothy is back23:03
Juestdynamic coloring23:05
Juestim looking at issue 12 on the github23:05
Juestdynamically colored textures23:06
Juestit would need code to support the uncolored textures23:06
blast007that's an entirely different thing23:06
blast007dynamic colors in maps is for animating colors23:06
Juestgot it23:06
blast007not just applying a static tint to a texture23:06
blast007so, one example, is that you could have functional stoplights with dynamic colors23:07
blast007or a pulsing orb23:07
Juestimagine a disco bzflag map :D23:07
blast007or blinking lights the top of radio towers (such as in the Metropolis map)23:07
Juestthat's cool23:08
blast007and the animation is time based and you can set delay offsets to sync up different objects patterns23:08
Juestis it possible to have like a realtime colored screen in a map with this?23:09
blast007screen meaning what?23:09
Juesta billboard for example23:09
blast007I don't know how well it would perform with a LOT of those  :)23:10
Juesti'd imagine it would tank the fps23:10
blast007but in theory, sure, you could probalby have a full motion video with dynamic color applied to individual "pixels"23:10
Juestwhat's the recommended max fps for bzflag before things go haywire?23:11
blast007about 200 FPS23:11
blast007I tend to limit to 18023:11
blast007much beyond that and you start to bounce off walls23:11
Juestclient issue?23:14
Juestwhy does the server allow this?23:14
blast007the server doesn't have anything to do with client-side FPS23:14
blast007the server also isn't authoritative, so it doesn't run physics or enforce player positions/movement23:15
blast007it only enforces some limits (speed, out of bounds positions, sudden jumps in position, at least relative to flag grabs/captures)23:15
Juestthe bouncing would count as sudden jumps in position?23:17
blast007no23:45
blast007sudden jumps like reporting that you captured a flag on a base halfway across the map23:45
Juestoh i see23:46
Juestbasically cheating actions23:46
blast007yeah23:46
blast007obvious stuff23:46
Juestcan this get disabled for testing in bzfs?23:46
blast007can what get disabled?23:46
Juestpreferably in the config23:46
Juestthe server enforcements23:47
blast007what would you be testing?23:47
Juestcheats for educational/research reasons23:47
Juestor hacks whatever23:47
blast007there are some BZDB settings for disabling some of the checks23:47
Juesthow are the bzdb settings stored on disk?23:48
blast007https://www.bzflag.org/documentation/map-design/bzdb/#server-administration23:48
blast007they aren't23:48
Juestthey need to be executed from a file?23:48
Juestif one wants custom bzdb variables to persist23:48
blast007it's the -set option, either on the command line or in a config file23:49
blast007bzfs command line options23:50

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!