00:01
sena_kun joined
00:03
Altai-man_ left
00:47
Kaiepi left
01:35
Kaiepi joined
01:48
vrurg left,
vrurg joined
02:00
Altai-man_ joined
02:03
sena_kun left
03:05
lucasb left
04:02
sena_kun joined
04:04
Altai-man_ left
05:24
Kaiepi left
05:25
Kaiepi joined
06:01
Altai-man_ joined
06:03
sena_kun left
06:39
lichtkind_ joined
06:51
lichtkind_ left
|
|||||||||||||||||||||||||||||||||||||||
Altai-man_ | lizmat, gist.github.com/Altai-man/026a5bb1...ed38681ca1 | 07:54 | |||||||||||||||||||||||||||||||||||||
08:02
sena_kun joined
08:04
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
nine | How can our code gen expect @END_PHASERS to be both a VMArray and an Array at the same time? | 08:31 | |||||||||||||||||||||||||||||||||||||
The answer is: it expects it to be an NQPArray type which is a VMArray with an unshift method. | 08:36 | ||||||||||||||||||||||||||||||||||||||
09:47
softmoth left
10:01
Altai-man_ joined
10:03
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
[Tux] |
|
11:14 | |||||||||||||||||||||||||||||||||||||
11:15
Kaiepi left
11:43
Kaiepi joined
12:02
sena_kun joined
12:04
Altai-man_ left
12:25
Kaiepi left,
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | sena_kun thanks for the blin run | 13:10 | |||||||||||||||||||||||||||||||||||||
looks like Log::Async is a false positive, with fb6a12a as a commit | 13:11 | ||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat, welcome. Consider taking a rest, it's Satruday. :) | ||||||||||||||||||||||||||||||||||||||
lizmat | hehe... | ||||||||||||||||||||||||||||||||||||||
sena_kun | Yeah, it is. I usually clean up false positives, but decided not to, it's a bit tiresome when blin runs are everyday. | ||||||||||||||||||||||||||||||||||||||
lizmat | okidoki... just wanted to check... | 13:12 | |||||||||||||||||||||||||||||||||||||
so Log::Async has a flapper, does its maintainer know | |||||||||||||||||||||||||||||||||||||||
? | |||||||||||||||||||||||||||||||||||||||
sena_kun | I looked at how can it be better, actually, judged I am not really good enough right now. | ||||||||||||||||||||||||||||||||||||||
lizmat, yeah | |||||||||||||||||||||||||||||||||||||||
lizmat | ok, again, thanks for the run | 13:13 | |||||||||||||||||||||||||||||||||||||
AlexDaniel sena_kun just an idea: if a commit produces identical .moarvm files to the previous commit, maybe it should be excluded from bisectng ? | 13:19 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | why? | ||||||||||||||||||||||||||||||||||||||
like, what would it solve? | 13:20 | ||||||||||||||||||||||||||||||||||||||
lizmat | in the last Blin run, having Log::Async being flagged to a comment only change commit | 13:21 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | which is very indicative that it's a flapper | ||||||||||||||||||||||||||||||||||||||
lizmat | ah, ok, well, mark a flagged module as a flapper if the bisected commit is a comment only one ? | 13:22 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | hmmmmmmmm | ||||||||||||||||||||||||||||||||||||||
lizmat | just an idea to prevent more work by sena_kun and me in this case :-) | 13:23 | |||||||||||||||||||||||||||||||||||||
sena_kun | Better to increase the number of runs to detect flapping.... Which is actually useless because you need to process around 1500 modules on a heavy-loaded machine and `sleep 0.1` code will just fail. | ||||||||||||||||||||||||||||||||||||||
The nice solution is to fix all flappers. ;) | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | sena_kun: it only attempts to deflap things that it will bisect | 13:24 | |||||||||||||||||||||||||||||||||||||
that is, only if there's good→bad transition between the endpoints | |||||||||||||||||||||||||||||||||||||||
so you can actualy increase it significantly | 13:25 | ||||||||||||||||||||||||||||||||||||||
bisection takes around 11 steps I think, so anything lower than can even speed things up (in some cases) because it will skip bisection and just say that it's a flapper | |||||||||||||||||||||||||||||||||||||||
than that* | |||||||||||||||||||||||||||||||||||||||
lizmat: it's a very interesting idea indeed. For example, there's already this check: | 13:26 | ||||||||||||||||||||||||||||||||||||||
bisectable6: old=2015.12 say rand | |||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Bisecting by output (old=2015.12 new=f1960ba) because on both starting points the exit code is 0 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, bisect log: gist.github.com/b07b235bcf160191ee...459e3d1877 | 13:27 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, (2015-12-25) github.com/rakudo/rakudo/commit/07...dc61f84053 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel, The result looks a bit unrealistic. Most probably the output is different on every commit (e.g. 「bisect: say rand」) | |||||||||||||||||||||||||||||||||||||||
lizmat | nice | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | that said, Log::Async appears as flapper for almost every blin run, so maybe just fixing the damn module is a good idea regardless of what I do to whateverable | ||||||||||||||||||||||||||||||||||||||
lizmat: I'm not sure if .moarvm file is actually identical between the commits… maybe only since reproducible builds became a thing? | 13:29 | ||||||||||||||||||||||||||||||||||||||
lizmat | lemme actually test that assumption | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I expect it to be true, but only for recent-ish rakudo commits. Which is good for Blin! But maybe not perfect for bisectable6 | 13:31 | |||||||||||||||||||||||||||||||||||||
lizmat | probably | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/match-refactor: bda3a5dcfb | (Elizabeth Mattijsen)++ | src/core.c/Match.pm6 Always look in Capture stack first for :exists Since we only want to know whether something exists, we can first go through the capture stack, as that will short-circuit when the name is found. Only if that fails, check for the name in the capnames hash. |
||||||||||||||||||||||||||||||||||||||
rakudo/match-refactor: 086a9772b4 | (Elizabeth Mattijsen)++ | src/core.c/Match.pm6 Use ifnull for the capnames test Simplifies the check for :exists, as well as AT-POS/AT-KEY |
13:33 | ||||||||||||||||||||||||||||||||||||||
nine | No, .moarvm files won't be identical since the compiler's id contains the SHA of the full source code | 13:35 | |||||||||||||||||||||||||||||||||||||
lizmat | ah, ok, then scratch that idea :-) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel sena_kun sorry for the noise | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: bummer | ||||||||||||||||||||||||||||||||||||||
github.com/Raku/whateverable/issues/378 | 13:38 | ||||||||||||||||||||||||||||||||||||||
anyway, it's an interesting idea, I like it | |||||||||||||||||||||||||||||||||||||||
I'd be really happy to remove that hardcoded check | 13:39 | ||||||||||||||||||||||||||||||||||||||
nine | Incidentally, the main reason for hashing the full source in the first place was making builds reproducible. Before that we used the build time stamp | 13:40 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | sure, using the timestamp was wrong right away… | 13:45 | |||||||||||||||||||||||||||||||||||||
but hmm another option would be to use like a hash of all source files, or something like this | |||||||||||||||||||||||||||||||||||||||
nine | that's what we do right now? | 13:46 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | ah, I completely misread you, nevermind :) | ||||||||||||||||||||||||||||||||||||||
need more coffee I guess | |||||||||||||||||||||||||||||||||||||||
nine: I confused git SHA with source code SHA x) I go hide now | 13:47 | ||||||||||||||||||||||||||||||||||||||
nine | Well, there's not much difference between those :) | 13:48 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | well, not exactly, because info of the commit itself is part of the sha | 13:50 | |||||||||||||||||||||||||||||||||||||
that is you can make many commits and you'll end up with different shas, even if the source is the same | 13:51 | ||||||||||||||||||||||||||||||||||||||
oh, TIL `git commit --allow-empty` | 13:52 | ||||||||||||||||||||||||||||||||||||||
nice | |||||||||||||||||||||||||||||||||||||||
dogbert17 | lizmat: Algorithm-ZhangShasha seems to be another false positive (or flapper) | ||||||||||||||||||||||||||||||||||||||
nine | Flappers really should be treated like any other test failure, i.e. bug. They clearly show that something's wrong. | 13:54 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: well, when Blin says that something is a Flapper it means that it flaps on both “old” and “new” revisions | 14:00 | |||||||||||||||||||||||||||||||||||||
so it's a bug, but in the module itself | |||||||||||||||||||||||||||||||||||||||
if it doesn't flap on “old”, then it will actually try to bisect it I think (but without deflapping on each step), and will give a wrong result :( | |||||||||||||||||||||||||||||||||||||||
so if you see tens of weird results in blin, it means that rakudo itself is flapping | 14:01 | ||||||||||||||||||||||||||||||||||||||
14:01
Altai-man_ joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | it can be improved, I think there's a ticket about it somewhere | 14:01 | |||||||||||||||||||||||||||||||||||||
lizmat | afk for a few hours& | ||||||||||||||||||||||||||||||||||||||
nine | Can still be a bug in rakudo, just one that's been there for longer | ||||||||||||||||||||||||||||||||||||||
Altai-man_ | Log::Async is clearly a case of tests written with sleep and on heavy load other threads don't catch up. | 14:02 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: yeah, but what can I do. Release managers or those helping with releases tend to file tickets when they notice flappers, like github.com/bduggan/p6-log-async/issues/28 | 14:03 | |||||||||||||||||||||||||||||||||||||
nine | Oh, yes, using sleep in tests is horrible | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but there are so many modules that have flapping tests that it's hard to even propose that a Flapper status in blin can mean something else than just a module having shitty tests | ||||||||||||||||||||||||||||||||||||||
14:03
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | I'm working on a PR for Log::Async, hang tight :) | 14:04 | |||||||||||||||||||||||||||||||||||||
nine | It's sad to se so much use of sleep in a language with such great async primitives. But we do that even in our own tests | ||||||||||||||||||||||||||||||||||||||
Altai-man_ applauds | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: let's see if you find and hints of frustration here | 14:15 | |||||||||||||||||||||||||||||||||||||
nine: “MoarVM panic: Internal error: Unwound entire stack and missed handler” | 14:16 | ||||||||||||||||||||||||||||||||||||||
great async primitives but you can't `return` from a react block | |||||||||||||||||||||||||||||||||||||||
14:18
camelCaser joined,
ccamel left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | bisectable6: sub foo() { react whenever Promise.in(1) { return 42 } }; say foo | 14:20 | |||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Will bisect the whole range automagically because no endpoints were provided, hang tight | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | should've given something smaller than 1… | ||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Output on all releases: gist.github.com/6d93cbb21a10eb22e0...177928edc0 | 14:21 | |||||||||||||||||||||||||||||||||||||
AlexDaniel, Bisecting by output (old=2016.11 new=2016.12) because on both starting points the exit code is 1 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | don't bother, bisectable6 | ||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, bisect log: gist.github.com/ec564c15e03d06fc01...c16ff9fd62 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, (2016-12-13) github.com/rakudo/rakudo/commit/a9...edae694199 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel, Bisecting by output (old=2016.09 new=2016.10) because on both starting points the exit code is 1 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel, bisect log: gist.github.com/34cfbaf654b765e031...eb583bc109 | 14:22 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, (2016-09-27) github.com/rakudo/rakudo/commit/22...0f14b9c05c | |||||||||||||||||||||||||||||||||||||||
AlexDaniel, Output on all releases and bisected commits: gist.github.com/d390037ed825ada196...4fdae5f809 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | R#3772 | 14:23 | |||||||||||||||||||||||||||||||||||||
linkable6 | R#3772 [open]: github.com/rakudo/rakudo/issues/3772 [ASYNC] Can't return from a react block | ||||||||||||||||||||||||||||||||||||||
nine | AlexDaniel: at least I said "great", not "perfect" :D | 14:24 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | I'd describe that as funky | 14:26 | |||||||||||||||||||||||||||||||||||||
14:32
Geth left,
Geth joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Making it work is pretty funky too: catch the control exception, somehow convey it back to the awaiting thread, and rethrow it there. | 14:42 | |||||||||||||||||||||||||||||||||||||
Probably possible. | |||||||||||||||||||||||||||||||||||||||
nine | Second in-process precomp issue fixed today. Continuing my average of 1 fix per day. 5 spec test files still failing | 15:10 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | can somebody review this? github.com/bduggan/p6-log-async/pull/30 | 15:50 | |||||||||||||||||||||||||||||||||||||
maybe there are better solutions | |||||||||||||||||||||||||||||||||||||||
nine: ↑ | 15:52 | ||||||||||||||||||||||||||||||||||||||
Altai-man_: any other common flappers? | 16:02 | ||||||||||||||||||||||||||||||||||||||
16:02
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | sena_kun: ↑ | 16:02 | |||||||||||||||||||||||||||||||||||||
sena_kun | AlexDaniel, Async::Cache, I think? | 16:03 | |||||||||||||||||||||||||||||||||||||
16:04
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
nine | AlexDaniel: why only 3 seconds time out? | 16:12 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: make it an hour to make these big endian machines happy? :) | 16:13 | |||||||||||||||||||||||||||||||||||||
nine | sure | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but seriously, what should I change it to? | ||||||||||||||||||||||||||||||||||||||
there are other tests that do `sleep 1` soo… I'm just scratching the surface here | 16:14 | ||||||||||||||||||||||||||||||||||||||
nine | I'd say even a couple of minutes would be fine. The time out only matters if there's an actual bug which would otherwise cause a hang, i.e. pretty much never | ||||||||||||||||||||||||||||||||||||||
If such a bug creeps in, you will usually not run those tests dozens of times while ignoring the bug. You'll investigate anyway and then the default timeout doesn't matter | 16:15 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | fine | 16:18 | |||||||||||||||||||||||||||||||||||||
c36052f0f793d22 | |||||||||||||||||||||||||||||||||||||||
ahhh linkable6 doesn't work that fast | |||||||||||||||||||||||||||||||||||||||
github.com/bduggan/p6-log-async/pu...7f02dcba9d | |||||||||||||||||||||||||||||||||||||||
my reasoning – if we break something in rakudo we'd have to bisect this module, so the bigger the timeout, the more you'd have to wait for bisection to finish | 16:19 | ||||||||||||||||||||||||||||||||||||||
so having it too high can also be less than awesome, especially in the presence of other sleep tests that are more sensitive | 16:20 | ||||||||||||||||||||||||||||||||||||||
nine | ok | ||||||||||||||||||||||||||||||||||||||
changes make sense to me | 16:22 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | t/spec/S17-procasync/kill.t is a wellknown flapper | 16:23 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | oooooooh spectests | 16:25 | |||||||||||||||||||||||||||||||||||||
right | |||||||||||||||||||||||||||||||||||||||
let's see | |||||||||||||||||||||||||||||||||||||||
dogbert17 | only fails under load (test #5) | 16:26 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | I've been running raku-cache-async without any issues, so yeah, next | ||||||||||||||||||||||||||||||||||||||
dogbert17 | # Failed test 'signal SIGINT got handled' - # at t/spec/S17-procasync/kill.t line 47 - # expected: '0' - # got: '2' | 16:27 | |||||||||||||||||||||||||||||||||||||
16:28
softmoth joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | yeah, it easily flaps | 16:41 | |||||||||||||||||||||||||||||||||||||
so how come SIGINT propagates to .signal sometimes? | 16:44 | ||||||||||||||||||||||||||||||||||||||
ooooooooooh it's cuz it's too fast | 16:45 | ||||||||||||||||||||||||||||||||||||||
that looks like a language trap to me, actually | 16:47 | ||||||||||||||||||||||||||||||||||||||
if you want to set up a signal handler, it has to be reaaaally early in the program | 16:48 | ||||||||||||||||||||||||||||||||||||||
and even then it's possible that your handler won't be set up in time because of the slow startup of rakudo | |||||||||||||||||||||||||||||||||||||||
interesting | |||||||||||||||||||||||||||||||||||||||
jnthn | I don't think it's about slow startup, I think it's because putting the handler in place is an async operation | 16:49 | |||||||||||||||||||||||||||||||||||||
It's the case with various things, but for most it doesn't matter. I guess here it kinda does. | |||||||||||||||||||||||||||||||||||||||
(we dedicated a thread to libuv, and send async stuff to it, and it gives stuff back to us async) | 16:50 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | well my hypothesis is that the klil signal comes before the handler is set | ||||||||||||||||||||||||||||||||||||||
but I could be wrong | |||||||||||||||||||||||||||||||||||||||
there's this other failure I see: | 16:51 | ||||||||||||||||||||||||||||||||||||||
# You planned 7 tests, but ran 8 | |||||||||||||||||||||||||||||||||||||||
jnthn | Who sends the kill signal, though? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | the test file | 16:52 | |||||||||||||||||||||||||||||||||||||
it starts a new program with `signal(\qq[$signal]).act: { .say; exit };` in it, then it kills it | 16:53 | ||||||||||||||||||||||||||||||||||||||
so I'm actually a bit surprised that it can pass | |||||||||||||||||||||||||||||||||||||||
jnthn | Ohh, I see. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | ah wait, I'm misreading it. It waits for output first | ||||||||||||||||||||||||||||||||||||||
right, but then you're actually correct, the handler setup is async so it's a bit too quick to respond there | 16:54 | ||||||||||||||||||||||||||||||||||||||
so the process does `say 'Started';`, and the test file immediately kills it, with no time for the process to get ready | |||||||||||||||||||||||||||||||||||||||
or, well, with very little time there | |||||||||||||||||||||||||||||||||||||||
jnthn | Right, the message is still being dealt with by the event loop thread while the Started output is being sent | 16:55 | |||||||||||||||||||||||||||||||||||||
I guess we'd sorta like some kinda "ack" to know it was set up | |||||||||||||||||||||||||||||||||||||||
Probably something we should fix in signal(...) | 16:57 | ||||||||||||||||||||||||||||||||||||||
If our tests run into it, somebody else will too | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | I can rewrite the test nicely with react/whenever though | 16:59 | |||||||||||||||||||||||||||||||||||||
or… hm… maybe not really | 17:00 | ||||||||||||||||||||||||||||||||||||||
jnthn | I'm not sure that'd help, if I understand the issue correctly | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | yeah, I see that now :S | ||||||||||||||||||||||||||||||||||||||
like, I can maybe hack something with SIGUSR1 to see that the handlers are kinda there… but yeaaah… | 17:01 | ||||||||||||||||||||||||||||||||||||||
ShimmerFairy | Doesn't the signal installer give you a Promise or something that can tell you when it's done installing, and you can wait to print "Started" until then? | 17:06 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | well, it gives you a supply object right away. I expected it to only do that once the supply is fully functional and the handler is there, but apparently that's not the case? | 17:11 | |||||||||||||||||||||||||||||||||||||
jnthn | No, that's not the case | 17:23 | |||||||||||||||||||||||||||||||||||||
For many things (like a timer), it doesn't much matter | |||||||||||||||||||||||||||||||||||||||
But for signals and maybe filesystem watchers it's trappy | 17:24 | ||||||||||||||||||||||||||||||||||||||
And given it's one of the easier traps to fix, I think we should do that. :) | |||||||||||||||||||||||||||||||||||||||
18:01
Altai-man_ joined
18:03
sena_kun left
20:02
sena_kun joined
20:04
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
nine | AlexDaniel++, jnthn++ # finally making sense of this flapper | 20:47 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | sourceable6: signal(2) | 21:01 | |||||||||||||||||||||||||||||||||||||
sourceable6 | AlexDaniel, github.com/rakudo/rakudo/blob/f196...ls.pm6#L16 | ||||||||||||||||||||||||||||||||||||||
21:12
softmoth left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: so I was thinking, maybe I can try passing CurrentThreadScheduler to signal() to make a difference? I don't know if it will work, but turns out it does .queue instead of .cue so I get “No such method 'queue'” currently, is it wrong? github.com/rakudo/rakudo/blob/f196...ls.pm6#L46 | 21:13 | |||||||||||||||||||||||||||||||||||||
tho, I can still give it a ThreadPoolScheduler with 1 max thread, and then do `say 'Started'` | 21:15 | ||||||||||||||||||||||||||||||||||||||
don't know if it's a big brain idea or small brain one | |||||||||||||||||||||||||||||||||||||||
I mean, .cue({ say 'Started'}) | 21:16 | ||||||||||||||||||||||||||||||||||||||
now I'm back to the other “You planned 7 tests, but ran 8” issue which seems to be different, investigating… | 21:17 | ||||||||||||||||||||||||||||||||||||||
ah no, it didn't fix anything, alright… | 21:18 | ||||||||||||||||||||||||||||||||||||||
21:19
softmoth joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Q: what is the signature for a sub to accept a native int array of *any* size? | 21:24 | |||||||||||||||||||||||||||||||||||||
m: sub a(byte @a) { dd @a }; my byte @b = 1,2,3; a @b | 21:26 | ||||||||||||||||||||||||||||||||||||||
camelia | array[byte].new(1, 2, 3) | ||||||||||||||||||||||||||||||||||||||
lizmat | which would lead you to think you could say: | ||||||||||||||||||||||||||||||||||||||
m: sub a(array @a) { dd @a }; my byte @b = 1,2,3; a @b # alas | 21:27 | ||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Calling a(Positional[byte]) will never work with declared signature (array @a) at <tmp>:1 ------> 3rray @a) { dd @a }; my byte @b = 1,2,3; 7⏏5a @b # alas |
||||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: halp. What did you mean here? d298eb2326aec66efd | ||||||||||||||||||||||||||||||||||||||
linkable6 | (2020-03-28) github.com/Raku/roast/commit/d298eb2326 Fix flappy timing based Proc::Async::kill tests | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: I'll explain. This line doesn't even run: github.com/Raku/roast/blob/998d247...kill.t#L41 | 21:28 | |||||||||||||||||||||||||||||||||||||
nine: so when it does run, the test count is wrong | |||||||||||||||||||||||||||||||||||||||
lizmat | feels to me that github.com/rakudo/rakudo/blob/mast...y.pm6#L558 should be externalized? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: if I add a sleep in between these lines, then it always runs! github.com/Raku/roast/blob/998d247....t#L34-L35 | ||||||||||||||||||||||||||||||||||||||
21:29
hoelzro left,
Xliff left,
hoelzro joined
21:36
softmoth left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | ahhhhhh it's related to stdout caching, I think… | 21:50 | |||||||||||||||||||||||||||||||||||||
not caching but buffering | |||||||||||||||||||||||||||||||||||||||
22:01
Altai-man_ joined
22:04
sena_kun left
22:10
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | so I can only .kill a process once?????? | 22:46 | |||||||||||||||||||||||||||||||||||||
whaaaaaaat | |||||||||||||||||||||||||||||||||||||||
timotimo | that can't be right | 22:47 | |||||||||||||||||||||||||||||||||||||
maybe it's for the benefit of windws systems that don't have any other signal besides "kill" | 22:48 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | whaaaaat | 22:49 | |||||||||||||||||||||||||||||||||||||
wait it does work, but then it also doesn't work… hold on | |||||||||||||||||||||||||||||||||||||||
timotimo | you should perhaps strace or perf trace it | 22:50 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: can you try it? My mind goes insane a bit. Here's a script | 22:52 | |||||||||||||||||||||||||||||||||||||
timotimo: gist.github.com/AlexDaniel/c624be8...5197795a8e | 22:53 | ||||||||||||||||||||||||||||||||||||||
so it should send SIGTERM, SIGTERM, SIGKILL | |||||||||||||||||||||||||||||||||||||||
whatever happens in the bash script doesn't really matter BECAUSE IT'S SIGKILL | 22:54 | ||||||||||||||||||||||||||||||||||||||
but the process keeps going? | |||||||||||||||||||||||||||||||||||||||
I was just playing with this flapping tests, trying out different things | |||||||||||||||||||||||||||||||||||||||
and I thought, well, what if I try to test it with SIGUSR1 first and only then try the SIGINT stuff | 22:55 | ||||||||||||||||||||||||||||||||||||||
timotimo | ah i wish the thread pool scheduler could be made to kick in a little less often | ||||||||||||||||||||||||||||||||||||||
it spams the t,race log quite heavily | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | and I wasted like an hour trying to figure out why the signal is not received, but it turns out that it is not being sent? whaaat | ||||||||||||||||||||||||||||||||||||||
I mean… SIGUSR1 is not a thing on windows, I guess? So that's a wasted effort anyway | 22:56 | ||||||||||||||||||||||||||||||||||||||
let's maybe run it on all releases? | 22:57 | ||||||||||||||||||||||||||||||||||||||
e: gist.github.com/AlexDaniel/c624be8...5197795a8e | 22:58 | ||||||||||||||||||||||||||||||||||||||
evalable6 | (exit code 1) 04===SORRY!04=== Er… | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, Full output: gist.github.com/514b1bca9616d91de8...7aff315402 | |||||||||||||||||||||||||||||||||||||||
timotimo | 0.000 ( 0.014 ms): :20677/20677 kill(pid: 20680 (bash), sig: TERM) = 0 | ||||||||||||||||||||||||||||||||||||||
TERM | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | e: gist.github.com/AlexDaniel/c624be8...5197795a8e | 22:59 | |||||||||||||||||||||||||||||||||||||
huh? | |||||||||||||||||||||||||||||||||||||||
timotimo | the process gets killed via spawn_cancel | 23:00 | |||||||||||||||||||||||||||||||||||||
so i imagine after that point there is no longer a task in the event loop that corresponds to the process | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD gist.github.com/AlexDaniel/c624be8...5197795a8e | ||||||||||||||||||||||||||||||||||||||
committable6: help? | 23:01 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Like this: committable6: f583f22,HEAD say ‘hello’; say ‘world’ # See wiki for more examples: github.com/Raku/whateverable/wiki/Committable | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD gist.githubusercontent.com/AlexDan...ll-what.p6 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Successfully fetched the code from the provided URL | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD say 42 | ||||||||||||||||||||||||||||||||||||||
I have no idea… | 23:02 | ||||||||||||||||||||||||||||||||||||||
23:03
evalable6 left
23:04
committable6 left
23:06
committable6 joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | committable6: HEAD say 42 | 23:07 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, ¦HEAD(f1960ba): «42» | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | committable6: HEAD gist.githubusercontent.com/AlexDan...ll-what.p6 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Successfully fetched the code from the provided URL | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, ¦HEAD(f1960ba): «2613TERMSIGKILL not sent, absolute failure «exit code = 42»» | 23:08 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | 6c: gist.githubusercontent.com/AlexDan...ll-what.p6 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Successfully fetched the code from the provided URL | ||||||||||||||||||||||||||||||||||||||
timotimo | did you har what i sad | 23:09 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/024379e1ccbe557a13...cb39ee25d7 | 23:10 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: yes, but I did not comprehend it | ||||||||||||||||||||||||||||||||||||||
timotimo | "yeah we'll only ever kill a process once" | ||||||||||||||||||||||||||||||||||||||
perhaps i misread the code | |||||||||||||||||||||||||||||||||||||||
because i pretty much only read like five lines | 23:11 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | 6c: gist.githubusercontent.com/AlexDan...ll-what.p6 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Successfully fetched the code from the provided URL | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: so, that kinda sucks? | 23:12 | |||||||||||||||||||||||||||||||||||||
timotimo | yeah, we'd need a separate implementation for general-purpose signal sending | ||||||||||||||||||||||||||||||||||||||
there's also processes we haven't started that we may want to signal | |||||||||||||||||||||||||||||||||||||||
we may already have wanted something for that anyway | 23:13 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but how did I write this snippet then? docs.raku.org/type/Proc::Async | ||||||||||||||||||||||||||||||||||||||
I'm pretty sure I did test the SIGKILL part | |||||||||||||||||||||||||||||||||||||||
timotimo | couldn't tell ya :| | 23:14 | |||||||||||||||||||||||||||||||||||||
didn't look when the code around that location changed | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | well, committable should come back to us soon… | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/fbad4427402b414360...81ddf10fb7 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | it needs a `done` | 23:15 | |||||||||||||||||||||||||||||||||||||
6c: gist.githubusercontent.com/AlexDan...ll-what.p6 | |||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Successfully fetched the code from the provided URL | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, gist.github.com/41c94301806b1be385...dbc7219f0a | 23:18 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: that makes sense? | ||||||||||||||||||||||||||||||||||||||
bisect: old=2017.10 gist.githubusercontent.com/AlexDan...ll-what.p6 | |||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Successfully fetched the code from the provided URL | 23:19 | |||||||||||||||||||||||||||||||||||||
AlexDaniel, Bisecting by exit code (old=2017.10 new=f1960ba). Old exit code: 0 | |||||||||||||||||||||||||||||||||||||||
timotimo | where did uname come from | ||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, bisect log: gist.github.com/964af5ee77bb8c3540...610f5ead7d | 23:20 | |||||||||||||||||||||||||||||||||||||
AlexDaniel, (2017-11-14) github.com/rakudo/rakudo/commit/03...6709fc608c | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: I think old rakudo versions did something dumb like trying to use the shell to run uname, or something | 23:22 | |||||||||||||||||||||||||||||||||||||
apparently it's not an issue anymore | |||||||||||||||||||||||||||||||||||||||
Geth: ver github.com/rakudo/rakudo/commit/03...6709fc608c | |||||||||||||||||||||||||||||||||||||||
Geth | AlexDaniel, version bump brought in these changes: github.com/perl6/nqp/compare/2017....0-g7532371 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | Geth: ver github.com/Raku/nqp/commit/7ce25e2...5309573e59 | 23:23 | |||||||||||||||||||||||||||||||||||||
Geth | AlexDaniel, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...1-g8744857 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | that's not the one | ||||||||||||||||||||||||||||||||||||||
Geth: ver github.com/rakudo/rakudo/commit/03...6709fc608c | |||||||||||||||||||||||||||||||||||||||
Geth | AlexDaniel, version bump brought in these changes: github.com/perl6/nqp/compare/2017....0-g7532371 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | Geth: ver github.com/Raku/nqp/commit/7532371...3f07de80d4 | ||||||||||||||||||||||||||||||||||||||
Geth | AlexDaniel, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...5-ge694386 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: is this anywhere near the code you were looking at? | 23:24 | |||||||||||||||||||||||||||||||||||||
timotimo | yes | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | which one? | ||||||||||||||||||||||||||||||||||||||
timotimo | github.com/MoarVM/MoarVM/compare/2...896ac76R60 | ||||||||||||||||||||||||||||||||||||||
23:24
evalable6 joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | i think this is more about "cancel before it was properly started" though | 23:24 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: alright… can you file a bug report? My brain is toast | 23:25 | |||||||||||||||||||||||||||||||||||||
timotimo | i need a nap and then i'm hoping to be continuing with new-disp, but this irclog should be enough to get me or someone else up to speed to file the bug later | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: 0378292e4^,0378292e4 gist.githubusercontent.com/AlexDan...ll-what.p6 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Successfully fetched the code from the provided URL | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, ¦0378292e4^: «TERMfinished09» ¦0378292: «TERMSIGKILL not sent, absolute failure «exit code = 42»» | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | this is absolutely the one | ||||||||||||||||||||||||||||||||||||||
okay, have a good nap! | 23:26 | ||||||||||||||||||||||||||||||||||||||
.tell timotimo please file a ticket about .kill! Thanks! colabti.org/irclogger/irclogger_lo...06-27#l261 | 23:30 | ||||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to timotimo | 23:31 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | .tell jnthn can you file a ticket about signal()? You definitely can describe it better than me. Thanks! colabti.org/irclogger/irclogger_lo...06-27#l194 | 23:32 | |||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to jnthn | ||||||||||||||||||||||||||||||||||||||
23:37
AlexDaniel left
|