[00:12] Bug #1447390 was opened: mongo tools missing on centos [00:12] Bug #1447392 was opened: ssh args list too long when bootstrapping [01:05] thumper: you around? [03:16] wallyworld: http://reviews.vapour.ws/r/1472/ [03:17] ty, will look real soon [03:24] wallyworld: pushing a cleaner branch now that one got some odd merges from master [03:24] * perrito666 wonders if rb will cope with it [03:25] it did and it fits one page [03:25] k its midnight I am out cheers [04:27] wwitzel3: ping [05:07] Bug #1447446 was opened: 1.23.1: bootstrap failure, vivid, local provider [05:12] thumper: you around? === urulama|afk is now known as urulama [06:15] jam: you have a few minutes? [06:16] wallyworld: sure [06:16] what's up ? [06:16] jam: need someone to tell me i'm an idiot, can you join say the TL hangout [06:17] core-leads-call? [06:17] yeah === mgz is now known as mgz_ === liam_ is now known as Guest58476 [09:05] wallyworld: still up? [09:30] jam: poké [09:31] jam: 'm not being unreasonable right? === urulama is now known as urulama|lunch [10:57] mgz: sorry, was at soccer [10:58] wallyworld: no problem, sending email with update [11:02] wallyworld: we really need a video of you playing socker [11:02] soccer* [11:02] perrito666: no we don't :-) [11:02] for... negotiation purposes [11:03] okay, I'm having lunch now, see email/review for init woes [12:02] jam: pong === urulama|lunch is now known as urulama [12:36] hi, could somebody take a look at http://reviews.vapour.ws/r/1116/ ? === mwenning is now known as mwenning-wfh [13:21] Bug #1447595 was opened: TestLeadership fails on windows test slave === liam_ is now known as Guest34021 === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 === kadams54 is now known as kadams54-away [13:41] bogdanteleaga: when proposing crazy mps some more explaination on *why* changing the whitespace fixes the issue would be helpful :) [13:41] and what the issue is, for that matter [13:55] mgz: I accidentally discovered bash doesn't like the script with the old whitespace formatting [13:56] mgz: I'll edit the message, sure [14:02] natefinch: ericsnow: stand up === urulama is now known as urulama__ [14:04] bogdanteleaga: see, that does sound fun, I want the whole story in the mp :) [14:04] (also, I think there's an associated lp bug?) [14:08] mgz: :) [14:08] mgz: there's no bug for this one [14:08] mgz: but it would be nice to get it in along with the bugfix [15:31] ericsnow: are you looking at https://bugs.launchpad.net/juju-core/+bug/1447446 ? Or are you working on something else? [15:31] Bug #1447446: 1.23.1: bootstrap failure, vivid, local provider [15:31] natefinch: yep (forgot to assign it to me) [15:31] ericsnow: cool [15:51] ericsnow: please add that to the kanban as well [15:51] katco: will do [15:51] ericsnow: ty sir [15:54] ericsnow: pro tip: you can just paste the bug ID in the "card id" field of the card, and it will auto link everything [15:55] katco: yeah, just noticed :) [15:55] is this something awesome you have setup or is this auto-behavior? [15:55] lazyPower: it's board specific [15:55] lazyPower: the board owner must set it up [15:55] ah, we have an intermediary service we're routing through to get the functionality [15:56] i can see wher this works for your team as juju-core is one project [15:56] we're tracking across ~ 8 billion (give or take a few billion) [15:56] lazyPower: we scored a good lead with katco :) [15:56] ericsnow: she's prettttyyy cool, i'll admit. [15:56] * lazyPower hands katco a gold star [15:57] natefinch was good too :) [15:57] * katco spends the next five minutes trying to press the star onto her nose [15:57] katco: doesn't it go on your belly (or was that 2 stars) [15:58] * katco is a bit lost there [15:58] katco: Dr. Suess (star belly sneeches) [15:59] my daughter hasn't reached the age where i'm back up on Dr. S yet :p [16:08] ericsnow: katco is 1000x as organized as I was. I think we [16:08] we'll be a lot more successful with her leading :) [16:08] natefinch: :) [16:10] * perrito666 imagines moonstone conquering countries and taking power [16:11] emacs will be mandatory. [16:11] which will lead to us being overthrown eventually [16:11] * perrito666 starts a preemtive revolution [16:11] but it will be beautiful and terrifying while it lasts [16:12] ;p [16:12] :overthrow [16:15] perrito666: are you working on that issue with maas? [16:15] wwitzel3: bogdanteleaga is [16:16] there's a fix waiting for review, feel free to try it out in the meantime [16:26] natefinch, I will now bug you less. [16:27] huzzah! [16:28] * natefinch notes that katco will probably now bug him a lot more, though ;) [16:29] haha === redelmann is now known as rudi|bullingcomi === rudi|bullingcomi is now known as rudi|bullingfood [16:36] ericsnow: natefinch: it's certainly not hurting anything, but for now, don't feel the need to put points to bugs. if it makes you happy, please continue :) [16:38] katco: yeah, I meant to ask about that. [16:39] natefinch: i think we'll only need to point planned feature work [16:40] katco: fair enough [16:40] katco: maybe we should actively not put points on bugs, so we don't screw with our velocity? === kadams54 is now known as kadams54-away [16:41] natefinch: i'm really flexible... i think the reporting can sift that out === kadams54-away is now known as kadams54 [17:31] alexisb: ping [17:32] wwitzel3, omy [17:32] omw === liam_ is now known as Guest7885 [18:02] what's our restriction on Go version? [18:02] 1.2.2 [18:02] looks like the patch for the vmware provider relies on Go 1.3 features [18:03] REJECTION [18:03] (or rather struct fields that don't exist in 1.3) [18:03] wwitzel3: ericsnow: core meeting === rudi|bullingfood is now known as redelmann [19:05] gsamfira: you around? [19:11] ahh crap, I forgot the uniter tests are an annoyingly monolithic table driven test [19:12] :D yes they are [19:27] fwereade: what's wrong with this line? runCommands{`if [ $(is-leader) != "False" ]; then exit -1; fi`}, [19:28] fwereade: to be more specific, what happens when that test runs on windows? :P [19:29] the fact that is a bash ugly oneliner [19:29] * fwereade did something bashy again? sorry :( [19:29] fwereade: or you committed someone else's work so you get blamed for it ;) [19:29] natefinch, nah, that was me [19:30] fwereade: I'm looking to fix https://bugs.launchpad.net/juju-core/+bug/1446871 [19:30] Bug #1446871: Unit hooks fail on windows if PATH is uppercase [19:30] fwereade: but when I went to run the tests on windows, saw some other failures too [19:31] natefinch, I guess it should have different constants in util_*_test.go [19:34] fwereade: it would be a lot easier to understand how to fix it if I didn't need to parse a 1600 line DSL first :/ Last time I had to fix a uniter test it took me like 3 days for a relatively simple fix :/ [19:34] natefinch, which is why I've pulled so much of it out into separate packages with things resembling actual unit tests [19:35] fwereade: didn't realize you were doing that. I hugely appreciate that. [19:35] natefinch: the most succinct way to state why table tests should be used sparingly is: you are defining your own test runner which has a very small sub-set of its larger test runner. [19:35] why that is bad should be pretty obvious [19:36] sorry, very small sub-set of features of its larger test runner [19:36] natefinch, that bug looks like it should be reasonably possible to repro it in unit tests somewhere in uniter/runner [19:36] katco: ironically, we're already one more level deep using gocheck [19:36] yep [19:36] but at least gocheck is a proper test runner [19:37] katco: anyone against your argument should be forced to change the current accepted values for statuses :p it is much like a domino castle [19:37] natefinch, ...which remains less well tested than I would like, but *should* have some explicit tests for the env-var population bits [19:38] perrito666: i had to touch that code once and wowwwww [19:39] katco: it took me five minutes to change the values and validators and setters.. and 4 days to fix that test [19:40] perrito666: yeah exactly my experience [19:48] fwereade: so I'm just trying to get the tests to actually run on windows and then I'll tackle the env casing problem... is there not some more simple way to verify that the hook tool isn't there, rather than sending a command-line for the uniter to run? Yes, we could make one that runs on windows and one on linux... but that still seems like the most complicated way to test if a file exists on disk. [19:49] natefinch, well, those tests are the effectively the functional tests for the uniter [19:49] natefinch, you should be able to write a test case in uniter/runner that exposes the problem, though [19:50] natefinch, env.go [19:50] natefinch, ha: [19:50] if runtime.GOOS == "windows" { [19:50] c.Skip("bug 1403084: There are some problems regarding os.Environ() on windows") [19:50] } [19:50] Bug #1403084: Tests that need to be fixed on windows [19:50] natefinch, so I'd start there, I think === kadams54 is now known as kadams54-away [19:51] fwereade: ok [19:51] natefinch, I know there's a bit of jiggery-pokery regarding env vars for windows -- we were doing twice in some circumstances, and I distorted the code a bit to make sure we only did it once [19:53] natefinch, so there is another path you need to check somewhere to make sure it works in some weird context (juju-run, or debug-hooks, or something) [19:54] iirc that test was skipped because os.Environ() introduced some flaky variables, but it should not affect anything else [19:54] natefinch, at a guess the problem is env.go:54? [19:54] "Path=" + paths.GetToolsDir() + ";" + os.Getenv("Path"), [19:55] natefinch, a few extra tests similar to TestEnvWindows should pick it up, I think? [19:56] natefinch, although you should figure out what happens when you've got path and PATH and Path all defined -- presumably the `Path` we write is lower priority than whichever one's already set in problematic situations? [19:57] natefinch, regardless, you shouldn't need to touch the giant uniter functional tests just for that fix, so long as you can demonstrate it in the unit tests [19:57] actually, since I don't get the juju-log.exe not found on my machine, the env_test.go might reveal the issues on the problematic machines [19:58] fwereade: The uniter tests don't pass on windows right now. That's part of that bug. [19:58] fwereade: unrelated to the environment variables [20:00] natefinch, ok, and they should; but the bug has "Any windows machine with casing of the path variable other than 'Path' will fail to find hook tools." [20:00] bogdanteleaga: thanks! === mgz_ is now known as mgz [20:01] fwereade: yes, I know. I'm just trying to get the tests to a point where they only fail for that reason, then I can fix that reason [20:01] natefinch: I think it's only env issues at this point [20:02] natefinch: it complains about not finding juju-log.exe at some point [20:02] natefinch: after executing it moments before [20:03] bogdanteleaga: assign bug 1447595 to yourself :) [20:03] Bug #1447595: TestLeadership fails on windows test slave [20:03] natefinch, I submit that you will have an easier time of it if you repro and address the path issue in isolation [20:03] natefinch, lest you get caught in a morass of other unexpected problems with the uniter test on windows [20:04] mgz: done [20:04] http://reviews.vapour.ws/r/1477/ anybody in for a fast review? [20:04] bogdanteleaga: lgtmed [20:04] natefinch, I don't know what they might be but I'm not so optimistic as to assume the path issue is the only obstacle [20:06] bogdanteleaga, I don't see where it's successfully executing juju-log.exe? [20:06] brb [20:06] fwereade: on install it executes, on config-changed it says not found [20:07] fwereade: http://data.vapour.ws/juju-ci/products/version-2549/run-unit-tests-win2012-amd64/build-276/consoleText [20:07] fwereade: second test [20:10] be a bit wary of that log, it would be one with both PATH and Path set in the environment block, which could well do weird things [20:11] bogdanteleaga, ...I see [20:11] huh, interesting, for some reason go test's -test.foo style flags don't work in powershell [20:11] bogdanteleaga, well, that's exciting [20:11] basically we just need a helper in utils that handles this correctly that both utils/exec and the uniter can use [20:11] mgz: afaik, I can't merge it so you can do it if you want to [20:11] mgz, yeah, PrependToPath or something [20:12] they pass for me on both win8 and win server so I can't really reproduce this one [20:12] mgz, I am somewhat convinced that we could come up with a happier arrangement of utils/exec so we didn't have that func cloned in both places [20:13] fwereade: indeed [20:13] bogdanteleaga, can you try changing the env we set up in the tests? just tweak the value in env_test.go:125 and see what you get [20:13] but the juju-log.exe thing has been there for a while, did you have both set up for a long time? [20:14] bogdanteleaga: $$merge$$ requested - I'll look at your other branches again later if I get a mo [20:14] cool, they're just as small :) [20:14] the other complication I didn't call out in the bug - the go behaviour of os.Getenv on windows changes [20:15] it's exact case in 1.2 but uses windows api in I think 1.3 and that will retrieve Path if you ask for PATH and visa versa [20:15] now that's fun [20:17] I had the intention of getting to fix this some point this week... but many things have intervened. I'll happily throw peanuts at nate though :) [20:18] I like peanuts :) [20:19] fwereade: http://paste.ubuntu.com/10873918/ not sure what you're looking for [20:20] bogdanteleaga, I was thinking more about s/Path/PATH/ than s/bar/obar/? [20:21] and, well, it'll fail for sure, but it might fail in an interesting and instructive way... for someone running the right version of go... possibly on a suitably idiosyncratic windows box [20:22] fwereade: sounds like quite the setup [20:23] bogdanteleaga, yeah, I guess it takes some proper investigation [20:25] mgz: looks like it crashed, not sure why though [20:27] hm, godeps failed, 'unrecognized import path "gopkg.in/natefinch/lumberjack.v2"' [20:27] did someone delete nate? [20:31] mgz: better not have [20:32] mgz: works for me [20:32] mgz: godeps and go get [20:33] natefinch: likely something intermittent and networky [20:33] mgz: could be a bad HTTP response from gopkg.in confused it [20:33] I'll remerge and see [20:34] fwereade: changing it to PATH doesn't make it fail :) [20:43] mgz: that's what I get for pushing from windows with no prepush hook. can you try again? [20:43] anyone for a *really* trivial review? http://reviews.vapour.ws/r/1478/diff/ [20:45] fwereade: ship it! [20:45] natefinch, cheers [20:47] bogdanteleaga: sad gofmt :) regoing [20:57] fwereade, mgz, bogdanteleaga: for the record, doing sets and gets in a simple program, I can't get setenv and getenv to act incorrectly on 1.2.2 .... get always seems case insensitive [20:57] (on windows) [20:58] okay, maybe that bug report was wrong, good good [20:58] for me os.Environ() returns =ExitCode= in the environment on win2012r2 [20:58] (sorry, get and set are both case insensitive) [20:58] so, it's just the use of os.Environ() that's particularly suspect [20:59] mgz: probably just our use of os.Environ.... we probably expect it to be case sensitive, and it's not [21:00] well, it's case-preserving [21:01] you just can't do straight string matches vs things you've pulled out previously with os.Getenviron [21:01] yes [21:01] -iron [21:01] gotta run, talk later. [21:01] later nater [21:08] I have an even simpler review: http://reviews.vapour.ws/r/1479/ [21:08] the description is noticeably larger than the change [21:26] menn0, good morning, can I hit you up for a review or 2? [21:26] menn0, http://reviews.vapour.ws/r/1479/ is genuinely trivial [21:26] fwereade: sure [21:27] menn0, and http://reviews.vapour.ws/r/1224/ is less so, but I think and hope it's well-commented and documented, and has been used in anger in enough pending CLs, that I think it should be good [21:28] tasdomas, ...unless you're around and want to celebrate your graduation by upgrading your I-think-it-makes-sense to and LGTM? ;p [21:30] fwereade: I'll take a look === kadams54-away is now known as kadams54 [21:39] fwereade: sorry, just dropped out (keyboard problems, stuck capslock) [21:39] fwereade: looking now [21:40] menn0, no worries :) [21:42] so menn0 fair warning, critical interrupt headed your way [21:43] menn0, then definitely don't worry about 1224 [21:44] alexisb: ok... a critical bug fix? [21:44] menn0, yes, maybe you and fwereade can have a critical bug party :) [21:44] wallyworld, has the details [21:48] fwereade: ship it for 1479 [21:49] fwereade: it wasn't immediately obvious why it fixes the problem but after a bit of digging I think I get it [21:49] fwereade: at any rate, it's a more straightforward way of getting the job done [21:49] menn0, indeed === kadams54 is now known as kadams54-away [21:50] menn0, glad it passes a sniff test though, I lost much of the detailed context by not extracting it immediately [21:51] fwereade: just looking at 1224 now. i'm glad that you've been looking at this. the way works are started and managed has become a mess. [21:52] workers even [21:52] menn0, yeah [21:52] menn0, I am currently rather quailing at the prospect of fixing the machine agent [21:52] menn0, the unit agent was hard enough [21:52] menn0, but I've had some practice now :) [22:01] menn0: did you have a moment to chat? maybe in the onyx standup hangout? [22:02] wallyworld: sure. give me a minute. [22:02] np [22:21] ...do I send my daily dose of good news to the mailing list? [22:21] "hey everyone, have these orrible breaking bugs to play with..." [22:22] fwereade: are you still around? one of the bugs i'm looking at now might be related to recent uniter changes [22:24] jw4: ping/ [22:24] menn0: ola [22:24] jw4: you've been looking at bug 1438489 [22:24] Bug #1438489: juju stop responding after juju-upgrade [22:25] jw4: where are things at right now? [22:25] menn0: yes, I'm afraid I'm responsible for that one [22:25] menn0: I think the cleanest might be to back out my hook changes from a few weeks ago [22:25] menn0: see also https://chinstrap.canonical.com/~gz/ for that, some logs and things that may be of interest [22:26] jw4: what's the PR with your hook changes? [22:26] menn0: let me find it [22:27] mgz: thanks [22:28] menn0: https://github.com/juju/juju/pull/1897 [22:29] menn0: I'd prefer to fix it though rather than backing it out [22:30] menn0: I haven't figured out why the hooks quit firing after the upgrade - I just assumed it was because of those changes of mine [22:31] jw4: shall I take a look? [22:31] agreed that fixing is preferrable to backing out if possible [22:31] menn0: feel free - the repo is easy [22:31] s/repo/repro/ [22:32] all I did to reproduce was to install 1.22, install charm, upgrade to 1.23, observe that hooks quit firing [22:33] jw4: cool [22:33] menn0: mgz just added a simple repro step to the bug [22:33] jw4: what about the recent attempts to fix this? should they stay or be pulled? [22:34] jw4: PRs 2067 and 2058 [22:34] menn0: if I understand correctly, the earlier landing was just making trying to make the error not as fatal, didn't change the upgrade step itself [22:34] menn0: the other fixes are actually valid... [22:34] jw4: ok. just confirming. [22:34] mgz: menn0 yeah.. actually this upgrade issue shouldn't be related to the upgrade steps [22:35] more likely that it's related to the uniter logic itself that changed, if indeed it was caused by my original PR [22:36] jw4: what about the errors related to not being able to read the uniter state? [22:36] (the upgrade steps are effectively a no-op, because of a misunderstanding in how upgrades were handled) [22:36] this is one of those kinda-shoulda just backed out in response to the bug cases, but the fact we weren't yelling because our upgrade job passed let it slip [22:37] menn0: that was because of tightened validation logic. Since the upgrade steps actually didn't work it was reverted to what was originally there [22:38] mgz: yeah... however, I haven't established yet that the hooks not firing is a result of the original PR, but it sure looks suspicious [22:39] jw4, mgz: ok well let me run with it for a bit and see what I find [22:39] menn0, mgz originally this bug was about the uniter getting into a validation error loop, but now we're past that because of the other fixes, and now we're encountering this issue with hooks not firing [22:40] jw4: understood, thanks [22:40] * jw4 needs to drop off to take son to drum lessons... bbl [22:41] jw4: np, talk to you later [22:41] mgz: do we still have a problem with upgrades to 1.23 as well? [22:42] mgz: or is it just 1.24 at this stage? [22:42] menn0: the critical part is the upgrade path from 1.22 to 1.23, which exhibits this bug [22:42] I've not seperately tested 1.23 to 1.24 but the next CI run of a trunk branch will do that for us. [22:43] mgz: ok, i'll focus on the upgrade to 1.23 to start [22:52] Bug #1447841 was opened: eu-central-1 AWS region V4 signing required and not supported [23:04] Bug #1447841 changed: eu-central-1 AWS region V4 signing required and not supported [23:06] mgz: I think I see the problem. just trying to confirm now. [23:07] menn0: ace [23:07] mgz: but wallyworld needs something reviewed first [23:08] circular favours! I have a branch I'd like wallyworld to review (it's not urgent though :) [23:09] i'll get to it soon [23:19] Bug #1447841 was opened: eu-central-1 AWS region V4 signing required and not supported [23:26] mgz: why is Shutoff considered to be alive? [23:29] wallyworld: I presume because it's fine if you then manually nova start it, want be to dig up the change it was added in? [23:30] wallyworld: I also wanted to allow BUILD(anything) but was scared we actually depend on the machine to be in a somewhat usable state elsewhere [23:30] mgz: i ask because the behaviour is being changed from active | build and i'm not sure we want to do that [23:31] wallyworld: bug 1382709 [23:31] Bug #1382709: Openstack provider, Instance-state doesn't change on instance shutdown [23:31] wallyworld: ah, in AllInstances? that is actually dead code, I probably should have left alone [23:32] yeah, in AllInstances [23:32] you saying we don't call that anymore? [23:32] no usage of a provider in the juju codebase ever calls AllInstances [23:32] it's just part of the provider api :) [23:32] mgz: nah, it's called in bootstrap [23:33] and AllInstances should be a superset of Instances [23:33] so i'm worried about changing that [23:35] oh, right, i read the bug. doing stuff out of band we seem to be [23:36] hm, so it is, somewhat oodly [23:37] wallyworld: anyway, change just makes it more like the Instances() call so finds more stuff [23:37] yeah, fair enough [23:37] wallyworld: I'm not sure on the logging I added [23:38] I want some ammount more, but not completely sure on the balance between useful debugging and spam [23:38] make it trace perhaps [23:40] wallyworld: that AllInstances call in bootstrap is new, and puzzling... [23:41] well, new, 2014... new since I looked at that code [23:41] i can't recall the specifics [23:42] mgz: i'm not comfortable about landing this without tests - the goose test service should be updated to match [23:43] awesome [23:43] provider/cloudsigma/config.go:97: no formatting directive in Errorf call [23:43] why was stuff landed when there was a govet error [23:43] i thought we rejected such things now [23:43] mgz: ? [23:44] wallyworld: hm, is that still not fataled in the check script? I thought that had been flipped [23:44] mgz: me too, but i just pulled master [23:44] and now get that error [23:45] ./scripts/verify.bash; echo $? [23:46] could someone spare we a review on a small patch: https://github.com/juju/govmomi/pull/1 [23:47] menn0: you figured it out? [23:48] jw4: still reviewing wallyworld's change. almost done. [23:48] ah. kk [23:48] jw4: but what i think is happening is that the upgrade step runs while the machine agent is upgrading [23:49] jw4: but at that point the unit agent is still running the previous juju version [23:49] jw4: so when the unit agent shuts down it overwrites the changes made by the upgrade step [23:49] Bug #1447846 was opened: Hooks don't fire after upgrade 1.23.0 [23:49] jw4: sound plausible/ [23:49] ? [23:49] menn0: oooh interesting. [23:50] ericsnow: i'm not sure the build directives are correct. don't we just want go1.2 and !go1.2 [23:51] menn0: I don't think the hook.Info upgrade step *ever* runs, because the upgrade step is supposed to find all the units for a given machine and run the upgrade on each one manually [23:51] otherwise how would it work on go1.4 etc [23:51] i.e. I don't think the upgrade process automatically runs upgrade steps on units, only on machines [23:52] maybe I'm wrong though... [23:52] jw4: yeah you're right... so there's 2 problems [23:53] jw4: the upgrade mechanics only run on the machine agents so the check for a unit tag in the upgrade step is never going to be true [23:54] menn0: I backburnered my upgrade steps problem by reverting the validation logic... but how does your proposed scenario cause the hooks to stop firing after upgrade? [23:55] (I think it's plausible, but I'm missing the connecting steps) [23:55] jw4: i haven't quite figured it out either [23:56] menn0: kk - well I'm glad to have your eyes on it... I'm embarassed by this whole issue [23:56] :) [23:56] jw4: but i'm wondering if the uniter state file hasn't been upgraded then we can end up with the "unexpected hook info with Kind Continue" error [23:57] menn0: yes - that error will always be logged - it's almost certainly a red herring to the real problem [23:57] when I 'fixed' the validation I just changed it so that instead of crashing the uniter, it just logs the problem once and then continues [23:58] wallyworld: go1.2 means Go 1.2 and later [23:58] so the error will always show once when the uniter starts up (until I/we fix the upgrade steps), but it shouldn't prevent the uniter from continuing normally after that [23:59] ericsnow: ah, i see, thanks [23:59] wallyworld: review done. for some reason RB has duplicated one of my comments for a particular section of code and I can't figure out how to fix it. please ignore the dup. [23:59] menn0: tyvm