github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
01:12
Altai-man_ joined
01:15
sena_kun left
03:12
sena_kun joined
03:14
Altai-man_ left
05:12
Altai-man_ joined
05:14
sena_kun left
06:52
brrt joined
|
|||
brrt | \o | 06:59 | |
nwc10 | o/ | 07:01 | |
07:12
sena_kun joined
07:14
Altai-man_ left
07:25
zakharyas joined
|
|||
brrt | ohai nwc10 | 07:46 | |
nwc10 | GC_DEBUG at 3 is slow | 07:48 | |
and Promises make my head hurt (that's $ork currently) | |||
more, that the code is an aysnchronous tangle of things happening simultaneously, and it seems that it doesn't recover (well) from DB timeouts | 07:49 | ||
and no, I did not create this architecture | |||
of the various errors I have seen logged, this was my favourite "Failed fetch: Cannot resolve. Already resolved" | 07:50 | ||
we also have "can't reject, alreay rejected" and at least 1, if not both of the remaing contradictions | 07:51 | ||
it's partly because of limitations of DBD::Pg for a couple of things, which probbly are it, not libpq | 07:52 | ||
like, it always attempts a (blocking) network round trip on a ping. When we'd like a timeout on *everything* | |||
and this is soooooo off topic. :-) | |||
08:37
sena_kun left
08:44
sena_kun joined
|
|||
brrt | are you working with assync perl? | 08:52 | |
*async | |||
nwc10 | new $ork thing is | ||
brrt | blegh | 08:56 | |
nwc10 | yes, I can see why it makes sense. | 08:57 | |
But it turns out to be complex to answer the question "what is it doing currently?" when all the state is hidden in closures | |||
(Because promises) | |||
and there are lots of little race conditions when your 3 data sources are all moving (you're getting updates on them) and then your actions are a bit slow, so you start to queue them up | |||
and it turns out that sometimes when the slow action has finished (a download) the data that made it useful might have been deleted again. | 08:58 | ||
I *think* that I have them all now. | |||
We're only using Rakudo at work for the office time tracking system (the web frontend, and integration to the phone system and doors) | 08:59 | ||
but I'm wondering if most of this would be easier with Channels and stuff | |||
or if, again, it would be "all your data is held in a queue, and by the time it reaches the front of the queue it may no longer be relevant" | 09:00 | ||
life is hard, etc, | |||
but I've been told by a couple of people that sheep farming is harder. So that is not a good "get away from it all" plan. | |||
09:01
brrt left
|
|||
nwc10 | it all stills like "the 90s called and want their multitasking back" | 09:01 | |
I read things like "At this point, our async operation is running, but we have not yet given it anything to do when the callback is fired." and I think *no*, it's not actually running. It's queued to run, but nothing will happen until you return control to the event loop. | 09:06 | ||
and also I'm very scared by "who actually owns which objects, so as to avoid reference loops, or things going away early" | |||
the memory management seems to be regressing back to what one has to do with C | |||
that isn't the future that I was hoping for | 09:07 | ||
oh, he fell off | 09:08 | ||
.tell brrt, also these folks seem to have 8Gb Raspberry PIs in stock, and what seems to be a very good price on 32Gb micro SD cards: www.welectron.com/Raspberry-Pi-4-M...ampaign=gh | 09:09 | ||
tellable6 | nwc10, I'll pass your message to brrt | ||
nwc10 | yes, I'm aware that there's a promo link there :-) | ||
09:12
Altai-man_ joined
09:14
sena_kun left
|
|||
timotimo | nwc10: this is perl5, correct? having something buggy and very asynchronous might be interesting to develop the moar debug bridge further | 09:58 | |
nwc10 | it's perl 5 | ||
timotimo | it currently knows nothing about rakudo builtins, so when you see a Promise, you'll have to traverse it manually to get to, for example, the closure's values | ||
nwc10 | at the moment I have enough other complex "fun" things to juggle | 09:59 | |
timotimo | right | 10:00 | |
also, i've always wanted to build something that visualizes supplies and their chains | 10:02 | ||
10:57
sena_kun joined
10:58
sena_kun left
11:12
sena_kun joined
11:14
Altai-man_ left
|
|||
Geth_ | MoarVM: Kaiepi++ created pull request #1327: Improve serialization of C types |
11:23 | |
11:26
zakharyas left
11:29
sena_kun1 joined,
sena_kun1 left
11:43
sena_kun1 joined,
sena_kun1 left
|
|||
nwc10 | bah, after another 25 hours building rakudo | 12:53 | |
Stage start : 0.062 | |||
Method 'hash' not found for invocant of class 'Capture' | |||
no GC errors | |||
some *other* wierder problem then. Which doesn't show up in any NQP regression test | |||
sena_kun | nwc10, what CPU do you have? | 12:55 | |
nwc10 | that's, um, some sort of x64_64 machine. But I'm testing local changes. | 12:57 | |
it builds from master just fine | |||
sena_kun | nwc10, not sure how helpful, I recently got 3900X with enough ram on board, which is kind of fast, so if it can be helpful, I can run stuff. | 12:59 | |
nwc10 | whilst this thing is a VM, it's 24 cores, I think 128G (in the host) and I think most of the "load" is other VMs on it using lots if inotify handles to keep npm happy. | 13:00 | |
(thanks for the offer) | |||
but 24 cores don't help you when the build goes serial | |||
sena_kun | Then never mind. :) | 13:01 | |
nwc10 | anyway, now that I've ruled out "GC problem" I can go back to faster builds | ||
sigh | |||
and more head scratching. | |||
I'm going to make some tea, and maybe retreat to the hammock (although that also has to be done serially, else me and the hammock get wet) | 13:02 | ||
timotimo | did i ever complain that we have no unified way to tell spesh "when you continue optimizing, please consider this op next" | 13:06 | |
when i turn an elems on a P6opaque into a "get attribute from slot, then elems that" i would like spesh to do this elems one next | 13:07 | ||
13:08
zakharyas joined
|
|||
timotimo | right now i can turn the existing elems op into the p6oget_o and then put a new elems op after that, and spesh will pick that up as the "next" | 13:08 | |
but i'd much prefer keeping everything on the existing elems op, like define/use chain info and such | |||
13:12
Altai-man_ joined
|
|||
timotimo | (the same goes for {bind,at}{key,pos} ops on p6opaque objects) | 13:12 | |
13:14
sena_kun left
|
|||
timotimo | implementing constant-folding of unbox_n hits whenever the thread pool scheduler's manager thread starts up | 13:52 | |
because we use a Num to sleep for the interval with | |||
so... worth it! ...? | 13:54 | ||
Geth_ | MoarVM: 32ce5f9738 | (Timo Paulssen)++ | src/6model/reprs/P6opaque.c constant-fold spesh-time-known unbox/decont_n/s |
14:03 | |
MoarVM: a4cb0c5167 | (Timo Paulssen)++ | 2 files give io loop thread and spesh thread a name continuous integration shall help me figure out how to make this not explode on non-gnu systems |
14:10 | ||
MoarVM: 2a3290df9a | (Timo Paulssen)++ | 2 files let's see if this code taken from stackoverflow is right |
|||
timotimo | i wonder how properly to get rid of the undefined warning for the setname_np functions | 14:13 | |
if the same glibc vars are set at the point before we include pthread (probably indirectly via uv.h) we define GNU_SOURCE? | 14:14 | ||
even when i directly include <pthread.h> just after #define _GNU_SOURCE it complains | 14:25 | ||
Geth_ | MoarVM/give-threads-names: 183becd24e | (Timo Paulssen)++ | src/moar.h ensure _GNU_SOURCE is defined when including pthread so we can have pthread_setname_np. hopefully. |
14:36 | |
14:55
Geth_ left,
nebuchadnezzar left
14:57
Geth_ joined,
nebuchadnezzar joined
15:13
sena_kun joined
15:14
Altai-man_ left
16:49
patrickb joined
17:01
zakharyas left
17:12
Altai-man_ joined
17:15
sena_kun left
17:26
sena_kun joined
|
|||
Geth_ | MoarVM/give-threads-names: 0a0a9ba961 | (Timo Paulssen)++ | 6 files use Configure.pl to find out if pthread_setname_np exists |
17:37 | |
timotimo | setting a thread's name will get its own nqp:: op i guess *shrug* | 17:38 | |
17:55
patrickb left
|
|||
Geth_ | MoarVM/give-threads-names: 44504309e9 | (Timo Paulssen)++ | 9 files introduce the setthreadname op sets the current thread's name (at least on linux) |
18:01 | |
timotimo | imgur.com/4lWsQUY | 18:09 | |
imgur.com/a/eMCXI7d | 18:14 | ||
Geth_ | MoarVM/master: 4 commits pushed by (Timo Paulssen)++ | 18:25 | |
18:52
patrickb joined
18:58
sena_kun left
18:59
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined
|
|||
timotimo | so, um | 18:59 | |
is MVM_string_utf8_encode_substr not supposed to stop encoding after the length you pass in gets reached? | 19:00 | ||
because, um | 19:02 | ||
it kind of gives you until the end of the string? | 19:03 | ||
am i holding it wrong? | 19:09 | ||
19:12
sena_kun joined
19:14
Altai-man_ left
|
|||
[Coke] | timotimo: hoi | 19:16 | |
ww. | |||
Geth_ | MoarVM: 8e75378f1e | (Timo Paulssen)++ | src/core/threads.c go through some pains to cut string length to 15 bytes cutting apart graphemes would be quite the bad look. |
19:25 | |
19:28
zakharyas joined
|
|||
timotimo | timo@schmand ~/p/moarvm (master)> xxd /proc/962066/task/962072/comm | 19:33 | |
00000000: 0102 0304 0506 0708 090a 0b0c 0d0e 0f0a ................ | |||
^- by using utf8-c8 you can even put arbitrary buffer data in there | |||
htop just displays this as "???????????????" | |||
Geth_ | MoarVM: 1d52655e25 | (Timo Paulssen)++ | src/core/threads.c decode threadname with utf8-c8 so that arbitrary buffer data as well as non-normalized strings can be used if necessary for whatever terrible reason |
19:34 | |
19:37
sivoais_ joined,
sivoais left,
japhb left,
japhb joined
|
|||
timotimo | this can also be supported by the deb server | 19:50 | |
20:20
vesper11 left
20:21
vesper11 joined
|
|||
Geth_ | MoarVM: 707f6ce704 | (Timo Paulssen)++ | 2 files Debugserver Protocol 1.2: add thread "name" field (in Thread List Response) |
20:22 | |
MoarVM: 1278032475 | (Timo Paulssen)++ | src/debug/debugserver.c set debugserver's thread name |
|||
20:25
zakharyas left
21:12
Altai-man_ joined
21:14
sena_kun left
|
|||
patrickb | timotimo: Did you notice the comments in github.com/MoarVM/MoarVM/commit/8e...f55283090b | 21:40 | |
timotimo | i did not! | 21:54 | |
sorry :) | |||
used to be a return in there | |||
Geth_ | MoarVM: d564695f6d | (Timo Paulssen)++ | src/core/threads.c fix the most obvious use-after-free in history thx @MasterDuke17 |
21:55 | |
22:29
patrickb left
22:34
leont left,
leont joined
23:12
sena_kun joined
23:15
Altai-man_ left
23:16
Geth_ left,
nebuchadnezzar left
23:23
Geth_ joined,
nebuchadnezzar joined
23:40
sena_kun left
|