IRC logs for #openttd on OFTC at 2020-12-04
⏴ go to previous day
02:00:12 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
02:44:25 *** Wormnest has quit IRC (Quit: Leaving)
03:57:33 *** debdog has quit IRC (Ping timeout: 480 seconds)
06:00:05 *** m1cr0man has quit IRC (Quit: G'luck)
06:03:44 *** m1cr0man has joined #openttd
07:36:43 *** andythenorth has joined #openttd
07:43:07 <TrueBrain> whoho, Google removed 20 most common broken links from its results .. finally, pfft
07:50:06 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8346: Fix #6598: Added company id check for connect console command. https://git.io/JIOmL
07:56:12 <andythenorth> bright and early
08:11:34 *** HerzogDeXtEr has joined #openttd
08:15:21 <TrueBrain> orudge: I am scared, we now have our third overdue notice ... I am afraid you are going to close our account if this continues! Can you please pay your bill? :D :D (sarcasm fully implied)
08:15:56 <TrueBrain> (for those who don't know, it is a bill he has to pay to "himself" in sorts :P)
08:35:20 <TrueBrain> LordAro: I just changed bananas-server on staging to use the two VPSes as storage .. as far as I can tell, it works
08:35:29 <TrueBrain> did you still want to provision one from scratch?
08:36:18 <LordAro> i guess i would like to
08:36:22 <LordAro> not sure it's strictly necessary though
08:36:37 <TrueBrain> just let me know when-ever you have to time :)
08:36:54 <TrueBrain> it should be easy to wipe a VPS .. fixing the IPv6 is the biggest "challenge" :P
08:40:17 <LordAro> could add it to ansible, i just don't really see a good way of doing it
08:40:55 <TrueBrain> well, honestly, I do :) I now realise while documenting this :P At least, you could provision the "60-ipv6" file of course
08:41:13 <TrueBrain> owh, and even the disable-network-config part
08:41:21 <TrueBrain> yeah, this should be easy enough .. did not realise that yet, lol
08:41:33 <TrueBrain> let me make a gist for you
08:42:20 <LordAro> oh, it's absolutely doable
08:42:26 <LordAro> but not without making a load of host-specific variables
08:42:32 <TrueBrain> I think it is trivial even :P
08:42:35 <LordAro> which is not a "good" thing
08:42:37 <TrueBrain> you only need 2 variables per host
08:42:44 <TrueBrain> that is doable, not?
08:43:06 <TrueBrain> you are the ansible expert :P
08:43:13 <TrueBrain> but doesn't it have a nice way of defining variables per host?
08:43:18 <LordAro> doable != good doable
08:44:13 <LordAro> it's configuration that's specific to the current VPS and setup
08:44:41 <LordAro> ideally, the playbook would work just as well on some other VPS with some other hosting provider (that provisions IPv6 "properly")
08:45:35 <TrueBrain> well, it is always a bit specific to the provider you use, of course, but I get what you mean
08:50:12 *** sla_ro|master has joined #openttd
08:50:33 <TrueBrain> LordAro: ^^ is the alternative, honestly
08:51:43 <LordAro> should presumably write the IP(v6) addresses for the current hosts somewhere too
08:51:56 <TrueBrain> if we do that, we can make ansible provision it too
08:52:02 <TrueBrain> I mean .. it is either or or :P
08:52:55 <TrueBrain> so we either don't mention the IPs at all, and leave that up to the manual provisioning step, or we automate it, honestly :)
08:53:11 <TrueBrain> it would be very weird to have the README mention the IPv6, but ansible not provision them :P
08:54:23 <TrueBrain> so either we make an ovh_ipv6 role, or we leave it like this, I think
08:54:41 <TrueBrain> I suggest, maybe a better way of formulating my words :D
08:54:45 <TrueBrain> I can be convinced otherwise :P
08:56:54 <DorpsGek> [OpenTTD/OpenTTD] Foxar updated pull request #8346: Fix #6598: Added company id check for connect console command. https://git.io/JkpLU
08:58:00 <TrueBrain> anyway, just let me know when you have to time reset a VPS LordAro ; I can do when-ever, honestly, and it only takes a few minutes to do from the OVH console. If that all works out, we can roll this out to production :) No rush, but before the end of the month :P
09:00:02 <TrueBrain> owh, I can even pre-install SSH keys .. let me put yours in there
09:01:50 <DorpsGek> [OpenTTD/OpenTTD] Foxar commented on pull request #8346: Fix #6598: Added company id check for connect console command. https://git.io/JIOl4
09:03:13 <TrueBrain> wow, the OVH dashboard is slow as fuck :P
09:08:31 <TrueBrain> lol ... OVH has black friday deals .. it is almost cheaper to cancel the current VPSes, and get 2 new ones :P
09:08:40 <TrueBrain> 4 pound a month -> 3.33 pound a month for 1 year contracts
09:09:10 <TrueBrain> @calc (4 - 3.39) * 12
09:09:10 <DorpsGek> TrueBrain: 7.3199999999999985
09:09:16 <TrueBrain> that is 7 pounds baby!
09:10:09 <LordAro> probably won't have time today, maybe tomorrow?
09:10:40 <TrueBrain> we will do both btw, just to have them both clean and nice :)
09:10:47 <TrueBrain> also removes all the bash history and other shit :P
09:14:48 <TrueBrain> I configured Sentry to email us every 30 minutes if 2 or more healthchecks were missed in the last hour
09:14:59 <TrueBrain> just so we know when one goes down :)
09:18:05 <TrueBrain> well, I say "us", but I am not sure you signed up for our sentry instance :P
09:34:38 <andythenorth> TrueBrain I want a VPS!
09:34:48 <andythenorth> they're so cheap, I'll get 2
09:35:00 <TrueBrain> your AWS bill was cheaper
09:35:06 <andythenorth> but that was USD
09:35:18 <andythenorth> these are English pounds!
09:35:22 <TrueBrain> what are the exchange fees in that weird backwards country of yours?
09:35:58 <andythenorth> TrueBrain let's say the AUD money in my australian business is now worth a lot to me in Uk than it was in 2016
09:36:02 <andythenorth> if I bring it back
09:36:19 <TrueBrain> that happens if businesses make profit
09:36:24 <TrueBrain> you do understand that concept, right? :D :D :D
09:37:11 <LordAro> it is depressing how pronounced 23 Jun 2016 is
09:37:56 <andythenorth> I don't do much Eur business
09:38:04 <andythenorth> we were expecting to do a lot more
09:38:09 <andythenorth> oddly we've had to cancel that plan
09:38:26 <TrueBrain> what can I say ..... weird country being weird :P
09:38:47 <andythenorth> I just lost market of 300m potential customers, but nvm
09:39:11 <TrueBrain> if I close my eyes, I MAKE A LOT OF MONEY
09:39:36 <TrueBrain> it is funny how stupid things look from the outside .. but our country has weird fucked-up things too :P
09:39:51 <LordAro> yes, the EU will be completely closed off to the UK after brexit
09:39:55 <TrueBrain> so who I am to judge :)
09:40:10 <andythenorth> LordAro for digital services handling PII it's very very difficult
09:40:15 <TrueBrain> well, we no longer want your "kind" of people, so there is that :P
09:40:34 <andythenorth> we have no data equivalency, and EU is unlikely to grant it as we've shown we're willing to break international treaties
09:40:53 <andythenorth> as a data haven we're basically fucked
09:41:06 <TrueBrain> I know a lot of companies that made it very explicit their data is no longer allowed in the UK .. as "they didn't want to be the first to find out if EU law holds up"
09:41:25 <andythenorth> well they don't need to find out, our parliament has shown it will sign into law treaty-breaking
09:41:30 <TrueBrain> (mostly reffering to GDPR, of course)
09:41:48 <andythenorth> we have no data protection law after brexit transition ends, it's lolz
09:42:01 <TrueBrain> "everything will be fine"
09:42:03 <andythenorth> I thought we could rely on DPA 2018, but apparently that instrument delegates to GDPR
09:42:14 <andythenorth> so it has no legal foundation after transition
09:42:14 <LordAro> last time i checked GDPR had been "translated" to a UK law
09:42:29 <LordAro> but you probably know more about the topic than i do
09:42:51 <andythenorth> "it will all get sorted out"
09:43:06 <andythenorth> this is the standard English muddle, sit back and enjoy the lolz
09:44:04 <TrueBrain> LordAro: many companies are not as much afraid of what "should" be in place, but what, when the time comes, EU regulators say about it .. which is a very tricky thing to defend against
09:44:12 <TrueBrain> so it might be part of UK law -now- .. but how about in 6 months?
09:44:33 <TrueBrain> and that scares companies away .. it is a risk
09:44:36 <TrueBrain> one you cannot mitigate easily
09:44:43 <TrueBrain> (and companies work based on risk :P)
09:44:44 <andythenorth> they'll end up doing some kind of instrument
09:45:36 <andythenorth> once UK can no longer accept tourism bookings from European travel websites
09:45:41 <andythenorth> it will get sorted
09:46:24 <TrueBrain> I still wonder how long it takes before UK goes: no no, we were only joking, we are not leaving, no no, why did you think that? Nothing happened here? YOU WERE SERIOUS? Dude, no, of course not, you are our best buds! We never leave you!
09:47:20 <andythenorth> a certain cohort of voters needs to die before that happens
09:47:23 <andythenorth> being crude about it
09:47:42 <andythenorth> and I don't think we'd rejoin anyway, we'd just try and negotiate an actual deal
09:48:01 <TrueBrain> well, best of luck with that :P
09:48:02 <andythenorth> in the national interest, not in the narrow interest of a certain voting group
09:48:36 <TrueBrain> anyway, when you google "openttd cheat" now, you no longer end up on a broken page
09:48:39 <TrueBrain> instead, you find a reddit page :P
09:49:36 <DorpsGek> [OpenTTD/OpenTTD] orudge closed issue #8249: CMake: Not possible to cross-compile due to settinsgen/strgen https://git.io/JJvbJ
09:49:39 <DorpsGek> [OpenTTD/OpenTTD] orudge merged pull request #8350: Fix: [CMake] cross-compiling requires native tools https://git.io/JImEo
09:49:46 <TrueBrain> wait, mb is still active on the forums?
09:50:04 <TrueBrain> it was not a question ;)
09:50:15 <TrueBrain> why does this always get lost on the English people? :D
09:51:50 <TrueBrain> I like how he still signs his replies :) I think he always did that, didn't he? :D
09:51:57 <orudge> Regarding OVH, if you want to cancel and order new VPSes, feel free :P I was intending to renew them for a year if we're happy with the new CDN stuff (don't know if it's live yet?)
09:52:23 <TrueBrain> I mean .. really? :)
09:52:30 <orudge> Not sure it's worth the effort :D
09:52:34 <TrueBrain> pretty sure it is not :P
09:52:44 <TrueBrain> I am Dutch, but I am not that cheap :P
09:53:02 <TrueBrain> renewing for a year sounds fine by me, honestly
09:53:20 <TrueBrain> I will most likely contract the AWS instances too for a year
09:53:24 <TrueBrain> saves 30% on the instances
09:53:32 *** Speedyn has quit IRC (Read error: Connection reset by peer)
09:53:32 <orudge> [09:52:46] <TrueBrain> I am Dutch, but I am not that cheap :P <-- like I said, I'm Scottish ;)
09:53:55 <orudge> If it's contracted in that way, is it still charged monthly (but a penalty of some sort if you pull out) or is it charged upfront?
09:53:59 <TrueBrain> and it is live on staging .. production follows as soon as we wiped them once :)
09:54:02 <orudge> I also need to check what card is linked to AWS
09:54:08 <orudge> not actually been charged anything on it for a while
09:54:09 <TrueBrain> you can do both on AWS
09:54:14 <TrueBrain> if you pay upfront, it is a bit cheaper
09:54:21 <TrueBrain> but you just say: I will use this amount of resources for a year
09:54:30 <TrueBrain> no, in 2020 you are not charged :)
09:54:35 <TrueBrain> something something open source credits :P
09:56:43 <orudge> Just checked, the card is fine
09:58:15 *** Speedy` has joined #openttd
09:58:40 <orudge> Oh, and yes, I cancelled the SSL certificate, so no more renewal notices :P
09:58:59 <orudge> Just need to wait now for the OVH e-mails to stop, in a few days I suspect
09:59:15 <TrueBrain> they will bug us a few times more, but that is fine :)
10:14:31 <TrueBrain> meh, I wish emscripten cmake would add a few FindNNN files, as now it requires modifying in projects
10:14:56 <TrueBrain> (they implemented libpng for example by doing "-s USE_PNG=1" to any em* command)
10:15:07 <TrueBrain> which is fine .. but .. they do not define a FindPNG.cmake that does this
10:17:29 <TrueBrain> that is some damn ugly code in CMake project files to make that work :P
11:33:54 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #8346: Fix #6598: Added company id check for connect console command. https://git.io/JIOMZ
12:09:06 *** jottyfan has joined #openttd
12:34:03 *** JohnnyB has joined #openttd
12:34:47 <TrueBrain> year 4431023 is out of range
12:34:50 <TrueBrain> well .. that makes sense
12:35:23 <TrueBrain> 'Thu, 15 May 4431023 00:28:00 GMT'
12:35:28 <TrueBrain> that does not look like a valid date :D
12:35:51 <TrueBrain> request from a bot ... clearly it is testing out something there :P
12:46:03 *** JohnnyB has quit IRC (Read error: Connection reset by peer)
12:46:47 *** JohnnyB has joined #openttd
12:50:32 <reldred> TrueBrain: I've flicked an email through to info@, completely missed the github transition for bananas, I'm the belligerent formerly known as Aegir if that helps
12:59:37 <TrueBrain> reldred: if you mailed info@, your request will be picked up sooner or later :)
13:00:56 <reldred> I've just posted in my own dev thread for the first time in four years so I'll let people chew on that for a few days before I fix up the files in bananas
13:08:51 *** gnu_jj has quit IRC (Remote host closed the connection)
13:26:33 <TrueBrain> meh, game crashes on change of month .. sometimes
13:26:42 <TrueBrain> sadly, the backtrace is not useful :D
13:26:52 <TrueBrain> (as in, it is only pointers to a blob)
13:30:15 *** WormnestAndroid has quit IRC (Remote host closed the connection)
13:31:18 *** WormnestAndroid has joined #openttd
13:42:16 *** jottyfan has quit IRC (Quit: jottyfan)
13:49:41 <TrueBrain> "unreachable executed,MoveToNextTickerItem()" <- this is happening a lot and often with "master"
13:49:59 <andythenorth> is that in news ticker?
13:50:24 <andythenorth> does it have a loop that terminates if a news item is opened?
13:50:55 <andythenorth> there's a behaviour on mac build, I have seen it many times, but there's no trigger step
13:51:01 <andythenorth> game fps drops and drops
13:51:14 <andythenorth> until a news item is opened, then fps returns to normal
13:53:01 <andythenorth> I videoed this behaviour last time, it may or may not be related
13:53:24 <TrueBrain> pretty sure a crash has little to do with slowdowns :P Unless you are running a build that doesn't crash on NOT_REACHED, ofc
13:55:13 <andythenorth> probably unrelated to the crash, but odd behaviour
13:55:53 <andythenorth> 30fps on ffwd, until news window is open, then animation knocks it down to 10fps or so, then it goes to 120fps for a bit
13:56:18 <andythenorth> closing the news window drops it back to 30fps
13:56:45 <andythenorth> oh it runs up around 200-300fps for a bit
13:57:11 <TrueBrain> not sure why you are typing that all here; sounds like it should be in an issue ;)
14:00:52 <andythenorth> like all the best problems, maybe I'll look at it later :|
14:05:21 <TrueBrain> meh, I do not get linenumbers back to the errors .. so it is a bit guessing where exactly shit goes wrong .. /me adds tons of DEBUG() commands
14:21:53 <TrueBrain> lol .. WSL crashed \o/
14:22:38 <TrueBrain> (pretty sure it was out of memory)
14:28:16 <TrueBrain> okay, the problem is with ReadValue() of a news setting
14:37:46 <TrueBrain> another WSL crash, okay, that is just odd :P
14:43:09 <TrueBrain> okay, the OpenTTD crash seems to be an optimization error .. a debug build works fine
14:43:14 <TrueBrain> well ..... aint that just perfect :P
14:47:14 <glx> oh not the first time optimisations breaks stuff
14:47:48 *** nielsm has quit IRC (Ping timeout: 480 seconds)
14:54:34 <TrueBrain> the issue mostly is, a debug build is a lot quicker to link than a release build
14:54:40 <TrueBrain> as in .. 10s vs 3 minutes or something? :P
14:55:02 <glx> yeah but it slower to run
14:56:09 <TrueBrain> for debugging these kind of things, I rather have it slower to run :P
14:56:19 <TrueBrain> now adding DEBUGs(), trying to see if I can find what exactly fails optimization
15:02:35 <TrueBrain> okay, most likely has nothing to do with the code I was debugging itself, but with SDL2 .. nice :D
15:28:42 <_dp_> hm, I just realized neither jgrpp nor cmclient are really patchpacks
15:28:56 <_dp_> as they just fork openttd insttead of 'packing' patches
15:29:41 <FLHerne> _dp_: JGR used to keep each patch in a separate branch and then rebase/merge them all onto upstream periodically
15:29:54 <FLHerne> He might have stopped bothering
15:30:09 *** Progman has joined #openttd
15:31:10 <TrueBrain> also, a bit splitting hairs is it not? :)
15:33:10 <_dp_> with the amount of changes in jgrpp I kinda doubt original patches can even be separated meaningfully at this point
15:33:50 <_dp_> TrueBrain, idk, I'm just having trouble figuring how should i call cmclient xD
15:34:00 <FLHerne> (which could probably do with review or something)
15:34:04 <_dp_> as it's not just a client and apperently not rly a patchpack xD
15:34:09 <TrueBrain> _dp_: does the name really matter? :)
15:34:29 <TrueBrain> sometimes it seems people are creating problems where there are none :D
15:34:34 <TrueBrain> but I might be missing context
15:36:18 <_dp_> TrueBrain, well, I've been calling it randomly all this time so not rly :p
15:37:03 <FLHerne> (just mentioning in case it overlaps with whatever triggered your CMake complaints)
15:37:51 <TrueBrain> I am trying to understand asyncify, but pffft
15:38:12 <TrueBrain> documentation is and always will be a bit of an issue
15:40:56 <TrueBrain> but I guess the good thing is that my patch so far is only 6 lines of code .. but it crashes after each month :D
15:41:12 <TrueBrain> owh, and fast forward no longer has any meaning
15:48:01 *** Flygon has quit IRC (Read error: Connection reset by peer)
15:55:03 *** frosch123 has joined #openttd
15:55:21 <TrueBrain> glx: a nice addition on your "host-tools" patch would be something that only configures that build for host tools .. now it errors out if it cannot find SDL for example :P Which is a bit silly .. of course you can fix that by saying: dedicated server only, but still :)
16:00:13 <frosch123> but i guess it confirms that is was good to move those pages into "archive"
16:00:31 <frosch123> should we exclude "archive" pages from indexing? :p
16:02:12 <TrueBrain> and excluding stuff will take months, we have now noticed :P
16:10:44 <frosch123> grep on a file is so much easier than phpldapadmin
16:11:22 <TrueBrain> haha, I believe you :)
16:14:01 <TrueBrain> it is scary how much better Chrome is at rendering graphics (over Firefox)
16:15:00 <TrueBrain> meh .. for some reason our News ticker runs into an issue with wasm, and I do not understand what the issue is .. but it seems to be very specific to the news ticker :P
16:15:52 <frosch123> browsers have not yet recovered from marquee
16:16:09 <frosch123> its ai probably recognises the pattern
16:16:22 <TrueBrain> it is very odd, it is always in the same function, but .. I do not understand why
16:16:44 <TrueBrain> in the end it is ReadValue() failing
16:16:47 <TrueBrain> but .. it is just odd
16:16:58 <TrueBrain> might be heap related, honestly
16:19:12 <milek7> I didn't have problem with it
16:19:26 <milek7> yeah, ffwd is problematic with emscripten
16:20:04 <TrueBrain> milek7: it is a change in SDL2, pretty recently
16:20:35 <TrueBrain> well, the SDL2 port
16:20:47 <milek7> sdl2 broke news ticker?
16:20:48 <TrueBrain> basically, they added asyncify support, and that kinda breaks some use-cases
16:21:05 <TrueBrain> and for some fucked up reason ... it happens on the news ticker
16:21:15 <TrueBrain> there might be something underneath that issue, embedded in OpenTTD :)
16:21:30 <TrueBrain> otherwise, with asyncify, only CMake files need changes for it to work
16:21:35 <TrueBrain> it is pretty nifty, honestly
16:23:33 <TrueBrain> just the mouse isn't locked inside the window, which is somewhat annoying :D
16:24:59 *** crem has quit IRC (Ping timeout: 480 seconds)
16:25:12 <frosch123> assuming you would probably use a browser version only on tablets anyway, that sounds like no issue
16:25:41 <TrueBrain> I think you might be missing a complete market there :D
16:25:51 *** Wormnest has joined #openttd
16:25:59 <TrueBrain> I mean, Stadia runs in a browser :P
16:26:17 <frosch123> osx? public employees?
16:26:52 <milek7> I'm not a fan of implict magic..
16:27:05 <milek7> where it waits for requestAnimationFrame? and what happens to these CSleep calls in loop?
16:27:21 <TrueBrain> it is not magic; it is well documented and explained how it works :)
16:27:36 <frosch123> but i got ads for server graphic cards with mp4 stream output
16:27:56 <TrueBrain> it is pretty cool how far wasm is getting these days :)
16:28:09 <TrueBrain> still a bit of a shit-show in terms of tooling and debugging, but .. it is a lot better than a while ago :)
16:28:48 <TrueBrain> (I just disabled the news ticker in the code btw; fixed the issue, strangly enough)
16:29:16 <TrueBrain> owh, it is 15MiB, so downloading takes a bit of time
16:30:20 <frosch123> it downloads/starts faster than my native openttd takes to scan newgrf :p
16:31:20 <frosch123> reldred: content migrated, you should now see your stuff after login
16:32:08 <milek7> I feel this works smoother
16:33:30 <milek7> yeah, make some smooth movement and it is visible
16:33:33 <FLHerne> TrueBrain: I pressed 'pause' and it hung the entire game
16:33:54 <milek7> eg. make circles with cursor, in your version it is choppy
16:34:26 <FLHerne> And yes, I see the same; milek7's version has much smoother interaction
16:34:34 <FLHerne> OTOH, it has some weird font issue
16:34:41 <TrueBrain> FLHerne: haha, I know why :) that is funny :D
16:35:09 <FLHerne> The font is blurred, but only in some areas
16:35:56 <milek7> resize window slightly
16:36:01 <FLHerne> In milek7's version, pressing 'pause' does *not* hang the entire game :-)
16:36:34 <FLHerne> Resizing and then returning to the original size solved it
16:37:04 <TrueBrain> it is funny that Pause hangs the game .. tells a lot more about OpenTTD than anything else :D
16:37:19 <FLHerne> This one is basically indistinguishable from the native version, it's neat
16:38:11 <milek7> multiplayer could also work but requires server proxied to websocket
16:39:17 <FLHerne> Given that I rarely use either of those, it's still indistinguishable to me :p
16:40:05 <TrueBrain> btw, the jitter "my" version has, is most likely as it is not an optimized build :P
16:40:11 <TrueBrain> it has debug symbols and shit loaded
16:40:16 <TrueBrain> as ... it kept crashing :D
16:40:37 <TrueBrain> any other differences are most likely more due to the OpenTTD version than anything else, as there is code-wise not much difference :P
16:40:45 <TrueBrain> (assuming the PR is up-to-date)
16:41:03 <milek7> difference is likely in loop scheduling
16:41:38 <TrueBrain> but either way, "my" version is not meant to be a competition of any kind :)
16:41:45 <TrueBrain> more an exploring in what emscripten has been up to
16:43:26 <milek7> yours runs closer to intended speed, my is capped to requestAnimationFrame and probably that's why it is smoother
16:46:37 *** Progman has quit IRC (Remote host closed the connection)
17:05:30 <TrueBrain> SDL and intended speed are stretching words :D the SDL driver is a bit weird, always has been
17:05:56 <TrueBrain> But possible it is a bit more sluggish as there is no vsync in place
17:07:25 <TrueBrain> Anyway, seems with CMake we can merge the build part in the repo
17:09:52 <milek7> have you resolved that ticker crash?
17:11:34 <TrueBrain> Nope .. that is the big mystery
17:12:08 <TrueBrain> The setHint that should solve it, combined with your patch, doesnt solve it
17:12:25 <TrueBrain> I am puzzled why exactly that function causes it
17:31:04 <milek7> btw asan/ubsan complains a bit
17:31:22 <milek7> I guess ZeroedMemoryAllocator is fine, just that asan doesn't like it?
17:31:38 <milek7> (I wanted to see if there's something ticker related, but no)
17:34:47 <TrueBrain> I have no clue what you just showed :D
17:35:09 <TrueBrain> okay, possibly this has nothing to do with asyncify, and it just happens to output identical errors ..
17:36:12 <milek7> I built with this: CXXFLAGS='-fsanitize=address -fsanitize=undefined' LDFLAGS='-fsanitize=address -fsanitize=undefined'
17:43:51 <TrueBrain> ";; .... text is truncated due to size" <- fucking debuggers being twats
17:49:15 <andythenorth> TrueBrain swears like a naturalised English person
17:54:29 *** D-HUND is now known as debdog
17:56:58 <TrueBrain> increased stack-sizes, also not the cause ... the error is so non-descriptive .. and every search says: it is asyncify .. but even with that disabled, it happens at the exact same place :P
17:57:02 <TrueBrain> this is just weeiiirrrrrdddd
17:57:06 <TrueBrain> right, inline debugging it is
18:00:36 * andythenorth does one last QA crawl
18:00:40 <andythenorth> oof I want to stop working
18:00:52 <andythenorth> did 15 hours straight yesterday
18:12:35 <TrueBrain> that ... is not good
18:12:40 <TrueBrain> go do something else now
18:22:22 <frosch123> ah, found why spritelayout needs a dict for register_map
18:23:00 <TrueBrain> that took a bit of searching :)
18:23:47 <frosch123> now i know what was intended, but i don't think it worked :p
18:24:50 <TrueBrain> finally figured out what crashes EXACTLY ... just no clue what causes it :P
18:25:07 <TrueBrain> it dereference a pointer, and that crashes everything
18:25:35 <TrueBrain> it seems to be a valid pointer
18:31:45 <FLHerne> frosch123: That's always fun :-)
18:33:07 <glx> looks like a lot of nml things ;)
18:33:48 <TrueBrain> anyone any idea how to debug an error on dereferencing a pointer?
18:34:13 <glx> step by step in debugger ?
18:34:20 <TrueBrain> I know exactly where it crashes
18:34:58 <frosch123> then you know whether it is a dangling pointer
18:36:44 <TrueBrain> good idea, will try
18:37:59 <TrueBrain> 0x1139f04 <- valid pointer
18:38:02 <TrueBrain> 0x113b050 <- invalid pointer
18:38:06 <TrueBrain> that .. is too close to be true :P
18:43:43 <TrueBrain> nope, with asan, same issue, no further details .. bah
18:53:20 *** JGR has quit IRC (Quit: Leaving)
18:55:55 <TrueBrain> turns out, if you run "make -j9" with emscripten
18:56:03 <TrueBrain> it does linking 9 times
18:57:20 <frosch123> usually that results in a broken file
18:57:33 <TrueBrain> it does a move at the end, so it doesn't, surprisingly :)
18:57:47 <TrueBrain> but it does consume a bit of CPU power :P
18:58:30 <frosch123> does it compare the results and make a majority decision?
18:59:03 <TrueBrain> ah, no, it just looked like it was the -j9
18:59:07 <TrueBrain> but it forks 9 times
18:59:53 <TrueBrain> haha, asan requires ... a bit more memory and stack space :P
19:01:34 <TrueBrain> okay ... I fixed the bug .. but ... I don't really understand it yet :D
19:08:05 <TrueBrain> I think LLVM does something wrong in optimizing
19:08:14 <TrueBrain> it almost has to be something like that
19:08:58 <TrueBrain> void *ptr = GetVariableAddress(nullptr, &sd->save);, and *ptr crashes
19:09:19 <TrueBrain> void *ptr = GetVariableAddress(&_settings_game, &sd->save);, and it works
19:09:24 <TrueBrain> but ... sd->save.global is 1
19:09:30 <TrueBrain> and ptr is the exact same pointer
19:09:48 <TrueBrain> so .. I am guessing .. LLVM does something because of nullptr?
19:10:18 <TrueBrain> the original code is weird anyway, as it doesn't check if global is 1, but just blindly assumes it is
19:10:33 <TrueBrain> haha, even (void *)0x1, and it works
19:12:26 <frosch123> mostly likely we rely on undefined behavior then
19:12:41 <TrueBrain> codewise I don't see anything weird tbh
19:12:49 <TrueBrain> return const_cast<byte *>((const byte*)(sld->global ? nullptr : object) + (ptrdiff_t)sld->address);
19:12:56 <frosch123> "void*" i weird enough :)
19:12:58 <TrueBrain> okay, my client ate some *
19:13:34 <TrueBrain> but that line looks fine too
19:13:49 <frosch123> we need c++20 to make it better
19:13:50 <TrueBrain> especially as the pointers are identical in both runs
19:15:59 <TrueBrain> but yeah, as the current code looks weird anyway, and works "by accident", I can just "fix" it :P
19:16:12 <TrueBrain> would be funny if it solves andythenorth's problem too :D
19:16:16 <TrueBrain> (doubtful, but funny)
19:17:15 <FLHerne> And magically fixes the crash on whichever macOS versions it is
19:17:40 <TrueBrain> as MacOS uses LLVM, that wouldn't surprise me :)
19:19:58 <andythenorth> QA crawl finished
19:20:02 <andythenorth> FML it's now Friday
19:20:32 <andythenorth> I started drinking anyway, so any fixes would be dubious
19:21:13 <FLHerne> andythenorth: Just make sure you drink the right amount, Ballmer peak
19:21:38 <andythenorth> an XKCD for every occasion
19:34:42 <milek7> >especially as the pointers are identical in both runs
19:34:52 <milek7> TrueBrain: but surely generated assembly is different?
19:53:43 <TrueBrain> milek7: didn't check; couldn't find how easily
19:54:07 <TrueBrain> and for sure it is different: one crashes, the other does not :P
20:02:44 *** Progman has joined #openttd
20:04:00 *** otetede has joined #openttd
20:06:41 <andythenorth> should autorenew be on by default?
20:06:49 <andythenorth> seems to come up a lot as a question
20:07:00 <andythenorth> or is it on by default? :P
20:08:07 * andythenorth tries to find it in src
20:09:46 <andythenorth> let's assume it's off
20:10:52 <TrueBrain> I forgot how annoying sound is in OpenTTD :P
20:14:19 <TrueBrain> that the mouse is not locked to the window is very annoying with the way OpenTTD does map control :P
20:14:24 <otetede> yes, cars could play the boot sound effect only those in the open window
20:17:31 <frosch123> TrueBrain: change the default for the scroll setting :)
20:20:08 <milek7> I think sdl emscripten uses pointer lock api but only in relative mouse mode
20:20:24 <TrueBrain> but even that doesn't keep the mouse inside the screen :P
20:20:36 <TrueBrain> as in, it shows that it does, till you reach the border
20:21:02 <TrueBrain> you do get this nice popup the mouse is being captured
20:21:21 <TrueBrain> window resize events also don't trigger
20:22:52 <TrueBrain> ha, got it to work :D
20:24:52 <TrueBrain> does need the sroll_mode=2 to feel correct :P
20:25:25 <TrueBrain> now, why does resize not work and/or fullscreen :P
20:36:48 <TrueBrain> lol @ default HTML generated, holy crap :D
20:37:01 <TrueBrain> its lines and lines and lines of SVG, etc
20:40:52 <TrueBrain> milek7: did you try fluidsynth btw?
20:41:51 <milek7> that's probably dependency hell
20:43:02 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
20:43:45 *** gelignite has joined #openttd
20:45:27 <milek7> afair it requires GLib
20:46:02 <milek7> it scared me away, maybe I was overreacting
20:46:51 <TrueBrain> I know so little about music drivers :P
20:47:48 <milek7> tbh it probably makes sense to cheat and play pregenerated .ogg
20:48:26 <milek7> because soundfonts are heavy
20:48:57 <TrueBrain> in general, it is really heavy :P
20:49:28 <milek7> that loads pretty long (and it uses freepats, some samples are missing even)
20:49:50 <TrueBrain> so no music it is :P
20:50:16 <TrueBrain> in general, a lot of none-used-files are downloaded
20:51:00 <TrueBrain> sound too, 13MB .. lol
20:51:38 <TrueBrain> yeah, let's first upstream without sound/music :D
20:53:11 <TrueBrain> so that means making a few CMake files ... something for another day :)
20:53:15 <TrueBrain> pretty funny, emscripten :)
20:53:34 <milek7> openttd-wasm (with all lang, sound, music and freepats) weights 67MiB
20:53:37 *** iSoSyS has quit IRC (Remote host closed the connection)
20:53:54 <milek7> openttd-wasm-lite (without sound, music and stripped lang) weights 12MiB
20:55:00 <TrueBrain> the wasm itself I have now is 6.8MiB
20:55:09 <TrueBrain> which is still huge, but okay :P
20:56:34 <milek7> most ugly thing in my PR is these network workaround
20:56:43 <TrueBrain> yeah .. that is just nasty
20:57:01 <TrueBrain> I did manage to clean up the SDL changes a bit
20:57:08 <milek7> though maybe they fixed something in that time
20:57:12 <TrueBrain> but the unrolling of the function is needed if we are not using asyncify
20:57:33 <TrueBrain> pthread support is funny .. it sort-of work
20:57:37 <TrueBrain> well, not for the video of course
20:57:47 <TrueBrain> still totally not worth it :D
20:59:10 <milek7> linux clang build crashes
20:59:30 <milek7> Thread 1 "openttd" received signal SIGILL, Illegal instruction.
20:59:30 <milek7> 0x0000555555a6773c in MoveToNextTickerItem() [clone .llvm.496381285297075316] ()
20:59:39 <TrueBrain> yeah ... it is an LLVM backend optimization I guess
21:00:31 <TrueBrain> you can also replace nullptr with (void *)0x1
21:00:38 <TrueBrain> just to point out this "fix" is not a fix
21:01:32 *** tokai|noir has joined #openttd
21:01:32 *** ChanServ sets mode: +v tokai|noir
21:02:58 <TrueBrain> from what I read, strictly seen, we can make language files to download upon language change .. but not sure that is worth the code :P
21:04:33 <milek7> this doesn't crash, but -fsanitize=undefined gives:
21:04:37 <milek7> test.cpp:10:99: runtime error: applying non-zero offset 94204125758480 to null pointer
21:05:10 <TrueBrain> what is stupid about the "bug", is that with my fix, it also adds a value to a null pointer
21:06:10 <TrueBrain> so frosch was right :)
21:06:15 <TrueBrain> OpenTTD depending on undefined behaviour
21:06:43 <TrueBrain> still weird, as no matter what, it is adding to a nullptr ...
21:07:54 <TrueBrain> well, I guess my patch + a fix to GetVariableAddress is the proper fix in that case :)
21:08:24 *** tokai has quit IRC (Ping timeout: 480 seconds)
21:08:43 <TrueBrain> if (sld->global) return sld->address; followed by the next line without the if, I guess
21:10:23 <TrueBrain> something like that, I guess
21:12:52 <milek7> first patch is unnecessary in that case ;p
21:14:29 <TrueBrain> but it is still going in, as that is just very stupid
21:14:36 <TrueBrain> a disaster waiting to happen :D
21:17:46 <TrueBrain> OMG I MADE A PULL REQUEST! The end is near ....
21:18:49 <LordAro> fire and brimstone, the end of days, etc etc
21:19:55 <TrueBrain> well, that only took .. what .. 3 hours? to find :P
21:21:17 <TrueBrain> it should also have crashed OSX builds .. surprised there are not more reports about that?
21:21:21 <TrueBrain> maybe it manifests differently :P
21:22:45 <TrueBrain> anyway, tnx milek7 for finding the root-cause .. it would have kept me up at night not understanding WHY the patch solved the issue :P
21:26:00 *** ChanServ sets mode: +v tokai
21:26:24 <LordAro> i missed the start of the conversation - what issues does this fix?
21:26:54 <TrueBrain> Check the link in the commit message
21:27:03 <TrueBrain> It fixes a crash :p
21:27:15 <TrueBrain> And no, we cannot assert for undefined behaviour
21:27:23 <TrueBrain> At least, I wouldn't know how
21:28:10 <TrueBrain> (More specific, news ticker crashed with LLVM)
21:28:17 <LordAro> i was thinking checking for null(ptr) on the first argumrnt
21:28:54 <TrueBrain> Owh, that part .. we could .. isn't there a C++ syntax to avoid nullptrs in parameters?
21:29:36 <TrueBrain> And yeah, that is a good idea to add honestly
21:30:13 <TrueBrain> My computer is already off, so that is for tomorrow :)
21:30:40 <LordAro> yeah, use a reference instead of a pointer :)
21:31:21 <TrueBrain> What I can do for you is add an assert. But what you suggest might be better :p
21:31:33 <TrueBrain> Feel free to force-push into my branch ;)
21:31:59 <TrueBrain> I can never guess the impact of that kind of change in C++
21:32:02 <milek7> hm, more weirdness (clang + ubsan + unoptimized build):
21:32:48 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
21:33:17 <TrueBrain> I leave this to the professionals :D
21:37:35 <michi_cc> Exactly the same UB I think. The lines resolves to use our macro cpp_offsetof, which does something like "((char*)8)->m - 8".
21:38:01 <michi_cc> Now what happens if m is at offset 0? Quoting the LLVM bug report: "or making non-nullptr a nullptr, by subtracting pointer's integral value
21:38:01 <michi_cc> from the pointer itself"
21:38:59 <michi_cc> Does anyone knows if there are platform we have that don't supply offsetof in stdint.h? Because I'd think our own macro could just go.
21:39:26 *** tokai|noir has joined #openttd
21:39:26 *** ChanServ sets mode: +v tokai|noir
21:39:59 <michi_cc> milek7: What does it say if you replace cpp_offsetof by offsetof in line 126 of oldloader.h?
21:41:39 <JGR> The cpp_offset macro nominally dereferences the pointer, so it it still UB even if the pointer is not actually 0
21:42:41 <milek7> complains a lot, many of this: /home/milek7/ottdb/src/saveload/oldloader_sl.cpp:1389:2: warning: offset of on non-standard-layout type 'Engine' [-Winvalid-offsetof]
21:42:54 <milek7> at runtime no change, still crashes
21:44:35 <milek7> ah no, I ran old binary
21:44:44 <milek7> it doesn't compile at all
21:44:46 <milek7> /home/milek7/ottdb/src/saveload/oldloader_sl.cpp:883:88: error: offsetof requires array type, 'CargoArray' invalid
21:44:46 <milek7> OCL_SVAR( OC_INT32, CompanyEconomyEntry, delivered_cargo[NUM_CARGO - 1] ),
21:46:04 <michi_cc> Okay, so basically saveload is relying on undefined behaviour. How nice.
21:46:13 *** tokai has quit IRC (Ping timeout: 480 seconds)
21:50:03 <michi_cc> For types that are not standard layout, "use of the offsetof macro is conditionally-supported (since C++17)". Anything that uses any kind of virtual function is not standard layout, i.e. UB all around.
21:53:07 <TrueBrain> You get an UB, you get an UB, all look under your chairs .. you all get an UB!
21:57:21 <milek7> this is weird in that it only happens when: clang + ubsan + unoptimized build
21:58:25 <JGR> The optimiser would normally replace all of that stuff by constants
22:04:28 *** andythenorth has quit IRC (Quit: andythenorth)
22:05:24 *** andythenorth has joined #openttd
22:09:08 *** otetede has quit IRC (Quit: Nettalk6 - www.ntalk.de)
22:12:24 *** sla_ro|master has quit IRC ()
22:13:29 *** andythenorth has quit IRC (Ping timeout: 480 seconds)
22:16:24 <Delzur> Disclaimer: I work there; I came here because the VPS link surprised me :)
22:18:44 <michi_cc> As far as I am aware, it's not about the storage space, but about the cost of external bandwidth. I can't really see anything about that at your link.
22:19:05 <Delzur> Outgoing traffic €0.01 ex. VAT/GB
22:19:34 <michi_cc> Ah, yes, looking at the right lines would help :p
22:19:36 <TrueBrain> Delzur: we did check, but cost was indeed the main factor
22:19:37 <milek7> vps egress traffic is free though?
22:19:53 <TrueBrain> We consume around 4 to 6 TB a month
22:20:31 <Delzur> TrueBrain: I see, so you're going to use VPS or something that has bandwidth included
22:21:18 <TrueBrain> And there was something else .. custom domains or IPv6 .. does it support both?
22:22:17 <TrueBrain> Sorry, we checked like 10 cloud solutions, at a certain point it becomes a bit blurry :D
22:22:33 <Delzur> This is not my product, but any question you have I can directly ask the team. I know they did sponsor some projects with credits, I'll also ask if they still do this
22:22:52 <Delzur> I'll check the online guides for now about your two questsions
22:22:58 <TrueBrain> OVH sponsored OpenTTD for years :D
22:23:16 <Delzur> Ah the dedicated was sponsorship?
22:23:27 <FLHerne> Delzur: I remember OVH did before, that was why I chose OVH for my own uses :-)
22:23:31 <TrueBrain> For a year or 4, yes
22:23:56 <FLHerne> So you can note down that sponsoring FOSS projects definitely does win some customers
22:23:56 <TrueBrain> Last few years not, but that is okay ;)
22:24:23 <milek7> custom domain with https, I think that was also the problem
22:24:32 <TrueBrain> In general I really have no complaints about OVH .. cant say the same about a lot of others that we used :D
22:24:57 <glx> like the one starting with a D ?
22:25:02 <TrueBrain> Anyway, the VPSes are a shitty solution, but a cheap one
22:25:32 <Delzur> Yeah, doesn't that mean you're going to migrate back from S3 style to something else?
22:25:52 <TrueBrain> That wouldn't be too expensive either
22:26:02 <TrueBrain> The VPSs are a proxy cache
22:26:10 <TrueBrain> So S3 is still there in the backend
22:26:28 <TrueBrain> Poor mans solution, really :D
22:27:43 <TrueBrain> "The feature works correctly with HTTP. However you will get a certificate error if you use HTTPS (as we don’t have your private certificate). You can still use HTTPS, but you will get a warning in most browsers about the certificate."
22:27:52 <TrueBrain> That was the issue with object storage
22:28:32 <TrueBrain> "You can use HTTPS, but not in any sensible way" :D
22:29:12 <TrueBrain> I would love to use object storage over the VPSes btw, but these things are blockers in the real world :(
22:31:16 <TrueBrain> And anyway, can I just say it is awesome you drop by like this? That is really cool of you :D
22:34:03 <Delzur> I did play a bit at one point, months ago. I came to check what was up, and then I saw that post and my company name ahah, so yeah could help but swing by
22:34:52 <Delzur> I'll ask around about https, see if it's on their roadmap to provide such feature
22:34:53 <TrueBrain> Well, you work for a cool company :)
22:35:05 <JGR> milek7, UBSan's vptr check on the created pointer is what is doing the dereference which results in the segfault
22:36:08 *** gelignite has quit IRC (Quit: Stay safe! Stay at home! Stop the chain reaction!)
22:38:44 *** jottyfan has joined #openttd
22:51:26 *** sla_ro|master has joined #openttd
23:08:16 *** JGR has quit IRC (Quit: Leaving)
23:33:32 *** argoneus has quit IRC (Quit: Ping timeout (120 seconds))
23:33:45 *** argoneus has joined #openttd
23:40:14 *** jottyfan has quit IRC (Quit: jottyfan)
23:40:48 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:52:36 *** sla_ro|master has quit IRC ()
continue to next day ⏵