Times are UTC Toggle Colours
00:06:01 *** gelignite has quit IRC 00:25:08 *** HerzogDeXtEr has quit IRC 01:45:46 *** Wormnest has quit IRC 02:11:13 *** D-HUND has joined #openttd 02:14:40 *** debdog has quit IRC 02:23:11 *** glx has quit IRC 02:24:27 *** D-HUND is now known as debdog 02:33:58 *** Smedles has quit IRC 02:34:07 *** Smedles has joined #openttd 06:21:51 *** nielsm has joined #openttd 06:44:54 *** Smedles has quit IRC 06:45:04 *** Smedles has joined #openttd 07:08:02 *** Flygon has joined #openttd 07:20:47 *** andythenorth has joined #openttd 07:39:24 <andythenorth> hmm 07:39:30 <andythenorth> AC vs DC electric 07:39:56 <andythenorth> inherent property of specific python subclasses, or a property ;P 07:40:57 <andythenorth> quite often I subclass for things like this, it reduces boilerplate when instantiating the object 07:41:27 <andythenorth> but then I'd have duplicate 11 existing subclasses for things like ElectricEngineUnit and ElectroDieselEngineUnit 07:41:36 <andythenorth> just for AC/DC 07:42:35 <andythenorth> and also for multi-systems 07:43:42 <andythenorth> maybe I just set them all as potentially multi-system, and have a list of supported electrification types as an instance property 07:43:48 *** HerzogDeXtEr has joined #openttd 07:43:50 <andythenorth> thanks, nice chat, helped a lot 07:48:55 *** andythenorth_ has joined #openttd 07:55:00 *** andythenorth has quit IRC 07:58:01 <TrueBrain> Happy to help 08:01:42 <Rubidium> maybe just a set of supported ways the vehicle can be propelled? 08:03:27 <andythenorth_> rainbows 08:03:33 <andythenorth_> dinosaur juice 08:03:38 <andythenorth_> gravity 08:12:00 <TrueBrain> coverage 8.11%, no crashes yet 08:12:13 <TrueBrain> I think I am going to call it .. seems most variations of commands are explored now :) 08:12:26 <TrueBrain> Total run time : 1 days, 23 hours 08:17:55 *** sla_ro|master has joined #openttd 08:31:18 *** gelignite has joined #openttd 08:38:00 *** nielsm has quit IRC 08:41:33 <TrueBrain> https://github.com/google/oss-fuzz/pull/7987 <- let's see if that is an option .. would solve the resource issue :P 08:46:37 *** andythenorth has joined #openttd 08:47:09 *** andythenorth_ has quit IRC 08:47:51 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #9949: [Bug]: MSAN fails to run settingsgen https://github.com/OpenTTD/OpenTTD/issues/9949 08:56:18 *** andythenorth_ has joined #openttd 09:01:38 *** andythenorth_ has quit IRC 09:01:40 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #9949: [Bug]: MSAN fails to run settingsgen https://github.com/OpenTTD/OpenTTD/issues/9949 09:01:43 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #9949: [Bug]: MSAN fails to run settingsgen https://github.com/OpenTTD/OpenTTD/issues/9949 09:02:23 <LordAro> could compile without ICU for MSAN purposes... 09:02:50 *** andythenorth has quit IRC 09:07:09 <TrueBrain> yeah, but what is the next? :P 09:07:11 <TrueBrain> SDL? 09:07:16 <LordAro> likely :) 09:07:21 <TrueBrain> I mean .. it is the gift that keeps on giving :) 09:07:42 <TrueBrain> it's okay; I couldn't understand the error, but your comment makes sense .. I did not consider one of those "70 captures" wouldn't capture this 09:15:54 <TrueBrain> https://github.com/OpenTTD/OpenTTD/compare/master...TrueBrain:OpenTTD:fuzz-network <- for those interested how I did the fuzzing :) 09:42:47 <TrueBrain> so taking bets .. how hardened you think our NewGRF loader is? 09:43:11 <LordAro> not 09:44:11 <TrueBrain> hrash 09:44:15 <TrueBrain> without the typo 09:51:05 *** frosch123 has joined #openttd 09:51:15 <LordAro> quak 09:51:56 <frosch123> moo 09:52:25 <frosch123> jeff bezos' ex-wife wants to donate 100M to us 09:52:32 <TrueBrain> FINALLY! 09:52:38 <TrueBrain> I have been asking her for weeks now 09:52:46 <TrueBrain> she kept saying: LET ME SLEEP 09:52:48 <TrueBrain> so annoying 09:53:08 <LordAro> :D 09:53:32 <TrueBrain> LordAro: you would be surprised, but the NewGRF loader refuses to load most garbage so far :P 09:54:05 <frosch123> i am not surprised, that's just the normal case for newgrf 09:54:11 <TrueBrain> haha 09:56:01 <TrueBrain> first crash it detects is in my glue code to read files from a buffer :P Nice 09:57:32 <LordAro> :D 09:58:38 <TrueBrain> print (this->buffer_end - this->buffer_start) 09:58:38 <TrueBrain> = -140737435587526 09:58:41 <TrueBrain> I think I made a mistake :P 10:01:33 <DorpsGek> [OpenTTD/BaNaNaS] frosch123 opened pull request #119: Change: migrate OpenTTD user George to GitHub user George-VB https://github.com/OpenTTD/BaNaNaS/pull/119 10:01:42 <TrueBrain> he wasn't migrated yet?! 10:01:45 <LordAro> :o 10:01:53 <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain approved pull request #119: Change: migrate OpenTTD user George to GitHub user George-VB https://github.com/OpenTTD/BaNaNaS/pull/119#pullrequestreview-1033616286 10:01:58 <LordAro> no need to migrate until you have something to release, i guess 10:02:16 <frosch123> there are plenty of people who have not been active in the past years 10:02:27 <DorpsGek> [OpenTTD/BaNaNaS] TrueBrain merged pull request #119: Change: migrate OpenTTD user George to GitHub user George-VB https://github.com/OpenTTD/BaNaNaS/pull/119 10:02:45 <TrueBrain> okay, the fuzzer is having a really hard time generating new paths for the GRF loader :P 10:03:01 <TrueBrain> even with a valid GRF to work from 10:03:11 <frosch123> though i was surprised there are only 16 george sets on bananas 10:03:23 <frosch123> most of the old ECS and LV versions are pre-bananas 10:03:23 <TrueBrain> ghehe, indeed 10:03:52 <TrueBrain> hmm .. this is a bit odd ... if I load multiple GRFs in a single OpenTTD instance, things influence each other in an unexpected way 10:03:56 <TrueBrain> even if they are all invalid GRFs 10:11:33 <TrueBrain> lol .. GLS_INIT is never assigned? Sometimes code is cryptic :) 10:12:16 <TrueBrain> ah, enumeration 10:13:08 <frosch123> huh? what reported an enum value to be unassigned? :p 10:13:29 <TrueBrain> grep 10:13:32 <TrueBrain> I think you misread me :P 10:13:57 <LordAro> TrueBrain. TrueBrain reported an enum value to be unassigned 10:13:58 <LordAro> :p 10:14:15 <TrueBrain> that would be a proper translation, yes :D 10:15:33 *** wallabra has quit IRC 10:17:32 *** wallabra has joined #openttd 10:19:09 *** andythenorth has joined #openttd 10:21:39 <TrueBrain> even only doing GLS_FILESCAN has an influence on the next grf I read 10:21:40 <TrueBrain> hmm 10:21:45 <TrueBrain> that is a bit surprising :) 10:22:15 <TrueBrain> I was hoping that all made no state changes 10:27:02 <LordAro> what influence is there? 10:27:16 <TrueBrain> that I cannot see, sadly 10:27:25 <TrueBrain> just that if you load GRF A first and B after, it is different from B first, A after 10:27:32 <TrueBrain> (the trace is different) 10:27:48 <andythenorth> possibly I should just use this existing structure :P https://github.com/andythenorth/iron-horse/blob/master/src/vehicles/shoebox.py#L13 10:28:02 * andythenorth back doing grfs 10:28:04 *** lobstarooo has joined #openttd 10:28:49 <TrueBrain> hmm .. and GLS_RESERVED crashes when fuzzing, but not when I execute it manually .. also annoying! (as you cannot see why it crashes during fuzzing) 10:29:20 <TrueBrain> ah, no, I can .. GRFConfig destructor is being an ass 10:29:38 <TrueBrain> it does "delete this->error" 10:29:46 <TrueBrain> but one of the ctors doesn't actually allocate it 10:30:36 <LordAro> :o 10:30:55 <LordAro> delete on a null should be fine though..? 10:31:17 <frosch123> it uses ZeroedMemoryAllocator to set stuff to nullptr 10:31:31 <TrueBrain> yet it crashes :P 10:31:37 <frosch123> i thought someone removed that already< 10:31:44 <TrueBrain> https://github.com/OpenTTD/OpenTTD/blob/master/src/newgrf_config.cpp#L67 10:31:51 <TrueBrain> when not-nullptr 10:31:57 <TrueBrain> so in all cases it is a nullptr for my setup 10:32:04 <TrueBrain> so ... why does it crash :D Let's find out ... 10:33:41 <TrueBrain> the value is 0x5 10:33:42 <TrueBrain> lol? 10:33:48 <LordAro> lol 10:34:54 *** lobster has quit IRC 10:34:55 *** lobstarooo is now known as lobster 10:35:06 <TrueBrain> after initialization, it already is that value 10:35:07 <frosch123> so you triggered some buffer overrun/underrun? 10:35:19 <TrueBrain> I just did "GRFConfig grf_config(filename);" 10:35:42 <TrueBrain> but I guess the ZeroedMemoryblabla did not expect that :P 10:35:54 <frosch123> i think ZeroedMemoryAllocator only works for heap stuff 10:36:14 <LordAro> all it does is override new/delete with calloc/free 10:36:37 <frosch123> yeah, so it only initialises when using new, not when on stack 10:37:15 <TrueBrain> so when do we switch to class-member initialization bla? :D 10:38:10 <LordAro> looks like the constructor already does nearly everything 10:38:49 <frosch123> LordAro: the filename-constructor does nearly nothing :p 10:38:58 <LordAro> oh, lol 10:39:01 <LordAro> was looking at the other one 10:45:58 <TrueBrain> sometimes hacking things into existing codebase is tricky .. for some reason openttd.grf never gets into the GCS_INITIALISED state 10:46:13 <TrueBrain> but I might want to use another grf as example grf :P 10:46:21 <TrueBrain> where can I find the smallest possible valid grf? :D 10:49:45 <TrueBrain> downloaded one from TrueGRF :D ME SMART 10:54:17 <TrueBrain> lol ... I was seeking to the beginning of the file with SEEK_CUR 10:54:19 <TrueBrain> that .. is not working :P 11:01:05 <TrueBrain> yippie, I can finally load a GRF correctly from a buffer ... now let's see if the fuzzer can do anything with it :D 11:01:18 <TrueBrain> the domain is way too big for it to be actually useful I am afraid, but .. we will see 11:10:42 <TrueBrain> lol, it actually found a bug already :) 11:10:43 <TrueBrain> nice :) 11:10:54 <TrueBrain> but they seem to be somewhat rare .. so we sanitize the user input pretty decent :) 11:11:25 <TrueBrain> ReadRecolourSprite can cause an issue in DeleteEntryFromSpriteCache 11:11:50 <TrueBrain> if (best == UINT_MAX) error("Out of sprite memory"); 11:11:51 <TrueBrain> lol 11:11:59 <TrueBrain> okay, maybe not a bug 11:12:10 <TrueBrain> just "error" is a bit harsh I would think for a DeleteEntry function :D 11:12:40 <TrueBrain> mem_req=2130706616 11:12:41 <TrueBrain> haha :D 11:31:20 *** andythenorth has quit IRC 11:31:39 <frosch123> maybe just fuzz DecodeSpecialSprite 11:37:39 *** andythenorth has joined #openttd 11:41:12 *** andythenorth has quit IRC 11:54:08 *** sla_ro|master has quit IRC 11:58:35 <TrueBrain> would avoid these crashes indeed :P 11:59:00 <TrueBrain> euh, no, it wouldn't 11:59:06 <TrueBrain> lol, I should look at backtraces more carefully :D 11:59:25 <TrueBrain> this is an action12 crashing because of too little memory ;) 12:00:27 <frosch123> at least it is the least used action :p 12:00:37 <frosch123> hmm, no, action13 is even less used 12:02:22 <TrueBrain> it found 40 ways to crash so far, all because of ReadRecolourSprite :D 12:03:08 <TrueBrain> we could just return a nullptr and make it exit gracefully 12:07:52 <TrueBrain> yeah, that seems to fix the issue too :) 12:11:06 <TrueBrain> but I like your idea of fuzzing that specific function only... lot quicker at least I imagine 12:11:09 <TrueBrain> let's find out! 12:12:31 <TrueBrain> wow, DecodeSpecialSprite does influence a lot of state .. haha 12:14:40 <TrueBrain> problem of only calling DecodeSpecialSprite, that a lot of actions do things like LoadNextSprite 12:14:47 <TrueBrain> which crash if that isn't setup correctly :) 12:17:25 <TrueBrain> NewGRF loading makes a lot of assumptions on the state of _cur, basically :) 12:32:17 <TrueBrain> no, tried a few things, but that is too heavily coupled .. too bad :P 12:33:41 <TrueBrain> heavily? Strongly? Pick one, I don't care 12:41:07 <frosch123> too bad, so we have to keep on relying on truegrf output to fuzz ottd 12:41:31 <TrueBrain> well, I am fuzzing complete GRFs now, which somewhat works 12:41:38 <TrueBrain> it already found 1600 unique ways to make an invalid GRF :P 12:41:52 <TrueBrain> just slow .. 200 executions per second slow 13:31:29 *** andythenorth has joined #openttd 14:02:44 *** Samu has joined #openttd 14:02:50 <andythenorth> could we port this from JGRPP? https://media.discordapp.net/attachments/919788785217179738/995605806902935622/unknown.png?width=1736&height=1269 14:03:02 <andythenorth> it's immediately better, with minimal downsides 14:07:31 <peter1138> Mmm, 78 kmh downhill 14:09:02 <Samu> my best attempt! https://i.imgur.com/kAOOcQV.png 14:11:16 *** virtualrandomnumber has joined #openttd 14:11:37 *** virtualrandomnumber has quit IRC 14:12:16 <andythenorth> peter1138 :o no headwind? 14:12:27 <andythenorth> that's quite fast 14:12:36 *** virtualrandomnumber has joined #openttd 14:13:06 *** virtualrandomnumber has quit IRC 14:14:13 *** andythenorth_ has joined #openttd 14:16:07 <peter1138> Steepest part of that descent is 15%, one of the steeper ones around here, but nothing compared to some places. 14:21:40 *** andythenorth has quit IRC 14:32:13 *** andythenorth_ has quit IRC 14:47:55 *** andythenorth has joined #openttd 15:05:38 *** sla_ro|master has joined #openttd 15:07:43 *** Montana_ has joined #openttd 15:09:33 *** Wormnest has joined #openttd 15:20:44 *** nielsm has joined #openttd 15:32:56 *** Montana_ has quit IRC 16:12:43 *** andythenorth has joined #openttd 16:15:34 *** rafalk42 has joined #openttd 16:38:51 *** Smedles has quit IRC 16:39:01 *** Smedles has joined #openttd 16:52:45 *** jinks has quit IRC 16:53:06 *** jinks has joined #openttd 17:01:25 *** HerzogDeXtEr has quit IRC 17:02:32 *** HerzogDeXtEr has joined #openttd 17:05:28 *** lobstarooo has joined #openttd 17:05:45 *** lobstarooo_ has joined #openttd 17:12:44 *** lobster has quit IRC 17:12:49 *** lobstarooo_ is now known as lobster 17:13:30 *** lobstarooo has quit IRC 17:18:39 <nielsm> any opinions whether #9923 should be closed, or something done to detect the invalid GRF configuration and do something about it (even if just show a warning)? 17:22:36 <andythenorth> how did an invalid configuration arise? :P 17:22:40 <andythenorth> changed grfs? 17:22:41 *** glx has joined #openttd 17:22:41 *** ChanServ sets mode: +v glx 17:22:53 <nielsm> the gamelog doesn't show anything suspicious 17:23:20 <nielsm> honestly I'm not sure how it can have happened 17:23:38 * andythenorth wonders if grf can re-write it's own params 17:23:50 <andythenorth> can definitely assign params at some point during loading 17:24:18 <nielsm> could it maybe be editing the config file before starting the game? and then the range doesn't get validated or something 17:24:19 <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/ActionD 17:24:32 <frosch123> you can enter grf parameters in openttd.cfg 17:24:55 <andythenorth> 14 years of OpenTTD, this is the first confirmed report I've seen of this issue 17:24:56 <frosch123> yes, there is no real validation, it's just the gui not offering all parameters 17:25:07 <andythenorth> I've caused my own invalid parameters many times in grf dev 17:25:27 <andythenorth> not convinced this needs a fix, but eh 17:42:29 <Samu> holy crap, I think I did it1 17:42:33 <Samu> https://i.imgur.com/cngOEC4.png 17:43:35 <Samu> it's so slow at pathfinding 17:43:44 <Samu> but... looks like it works 17:43:49 <nielsm> 90 deg turns 17:43:49 <Samu> need to test on a larger map 17:44:32 <Samu> or maybe i'm seeing this wrong 17:46:02 <Samu> there's still something amiss 17:46:35 <Samu> the diagonal tracks could be a bit more closer 17:46:41 <Samu> but it is leaving a gap 17:51:59 <Samu> let me try 90 degrees 17:54:51 <glx> next step will be to find shorter path 17:56:16 *** Smedles has quit IRC 17:56:24 *** Smedles has joined #openttd 18:00:49 <Samu> well, 90 degrees isn't working :( 18:01:24 <Samu> dont really understand why... 18:01:33 <Samu> well, another think to look for 18:42:35 *** felix_ has joined #openttd 18:42:35 *** felix has quit IRC 18:54:09 <Samu> i dont understand why 90 degrees isn't being detected, the code is there! something is broken 19:01:10 <peter1138> It's not quite 90 degrees today, more like 85. 19:01:48 <andythenorth> nearly warm enough 19:06:56 <nielsm> ohttps://www.tt-forums.net/viewtopic.php?p=1254188#p1254188 still trying to call in the construction crew for a skyscraper to get a dog house built 19:08:30 <andythenorth> bit odd 19:08:36 <andythenorth> world has many people in it 19:09:18 <frosch123> another reason for not adding vehicles to truegrf :p 19:11:23 <Samu> found the issue, for some reason pprev_tile is 0 :( 19:11:54 <Samu> it's official, i suck at getting the previous tile 19:14:22 <LordAro> peter1138: feels like more than that 19:17:25 *** frosch123 has quit IRC 19:25:33 *** Wormnest has quit IRC 19:26:03 <Samu> i actually feel like reworking GetPreviousNode 19:26:41 <Samu> it's slow, and apparently it's cumbersome 19:32:10 *** tokai has joined #openttd 19:32:10 *** ChanServ sets mode: +v tokai 19:36:58 *** Etua has joined #openttd 19:38:20 *** Etua has quit IRC 19:38:45 *** tokai|noir has quit IRC 19:44:00 <NGC3982> so how's openttd-vr going along? 19:44:11 <NGC3982> been investing in oculus ever since i heard the news 19:44:47 *** gelignite has quit IRC 19:45:44 *** gelignite has joined #openttd 19:50:47 <andythenorth> nearly done 19:51:38 <peter1138> LordAro, Strava says 16 degree C... maybe at 8.30 it was! 19:56:10 *** nielsm has quit IRC 20:02:18 *** Wormnest has joined #openttd 20:04:36 <Samu> 90 degrees detected! I think i solved GetParents for now (again) 20:07:50 <Samu> there, this is what it does with 90 degrees https://i.imgur.com/RL00jJy.png 20:09:07 <Samu> but im still unhappy 20:27:29 *** geli has joined #openttd 20:27:29 *** gelignite has quit IRC 20:39:08 *** WormnestAndroid has quit IRC 20:39:10 *** WormnestAndroid has joined #openttd 20:40:07 *** Flygon has quit IRC 20:51:08 <Samu> wow, the GetParents was more buggy than I thought 20:51:35 <Samu> I even get confused, thinking the behaviour i had before was okay for everything else, but it wasn't 20:53:29 <Samu> it surprises me how this even made tracks connected 20:53:45 <Samu> it's because pprev_tile wasn't really being tested 21:06:25 *** geli has quit IRC 21:14:41 *** Montana_ has joined #openttd 21:36:11 *** andythenorth has quit IRC 22:06:05 *** Samu has quit IRC 22:13:44 *** bootmii has joined #openttd 22:14:11 <bootmii> why is FluidSynth so quiet 22:31:08 *** HerzogDeXtEr has quit IRC 22:45:14 *** sla_ro|master has quit IRC 23:10:57 *** esselfe has quit IRC 23:20:27 *** esselfe has joined #openttd 23:23:05 *** bootmii has quit IRC 23:41:10 *** rafalk42 has quit IRC