🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
01:05 [Coke] left 01:07 [Coke] joined 06:29 coverable6 left, evalable6 left, shareable6 left, bisectable6 left, linkable6 left, nativecallable6 left, greppable6 left, benchable6 left, tellable6 left, sourceable6 left, quotable6 left, bloatable6 left, releasable6 left, unicodable6 left, notable6 left, committable6 left 06:32 linkable6 joined, shareable6 joined, bisectable6 joined, unicodable6 joined, releasable6 joined 06:33 nativecallable6 joined, committable6 joined, evalable6 joined, coverable6 joined, notable6 joined, benchable6 joined, quotable6 joined 06:34 sourceable6 joined, greppable6 joined, tellable6 joined, bloatable6 joined 07:25 [TuxCM] joined
timo it's still running without having crashed 08:57
10:39 finanalyst joined 11:47 finanalyst left 13:21 [TuxCM] left 13:35 [TuxCM] joined 13:54 finanalyst joined 15:21 MasterDuke joined
MasterDuke ugexe, timo: have you seen github.com/rakudo/rakudo/issues/5872 ? seems like maybe it's actually a problem in App::Prove6? or a precomp bug? or a run/locking bug? 15:23
15:24 [TuxCM] left
timo can you get the stack traces from the other threads? 2, 4 and 6 are interesting 15:25
MasterDuke heh. i forgot to get them all and closed my gdb session overnight
i'll try to repro 15:26
timo i do think we have a bug with "run" or maybe Proc::Async where making too many async processes may just create an army of workers that are blocking on something and deadlocking that way
but in this case there are not that many 15:28
if you can get an rr recording, that would also include subprocesses, which depending on what the actual bug is could also be important to have
but you can also just attach to the subprocesses at the point when it's hanging 15:29
MasterDuke it didn't take too long to happen last time, if i can't get it in a reasonable amount of time i'll trying running it under rr on the desktop 15:30
timo rr has its "chaos mode" as well which can make issues come up faster 15:32
15:32 finanalyst left
MasterDuke ah, it just hung 15:34
gist.github.com/MasterDuke17/a147c...6ccf3ecc2b 15:35
timo the workers all look like they're waiting for a task to appear on their queue 15:37
we don't really have like, a debug command to list stuff on the libuv event loop 15:38
MasterDuke i've never tried to look in the uv event loop 15:39
timo since this is working with subprocesses, there'd be some file handles / pipes with read tasks where something coming from the subprocess, or the input handle becoming writable, would cause things to move further
MasterDuke should i get a rakudo backtrace in the various threads? 15:40
timo you can. my assumption is they are all in ThreadPoolScheduler's file, the different "start bla launcher" functions
can you look at the processes that live under this rakudo process? like with `ps faux` 15:45
you could attach to them and see what they are up to
MasterDuke gist updated 15:46
15:46 finanalyst joined
MasterDuke gist updated again 15:48
15:49 finanalyst_ joined
MasterDuke no subprocesses 15:49
timo ok, next step would probably be to look exactly at App::Prove6 there 15:51
15:51 finanalyst left
MasterDuke lunchtime, so might be afk on and off. but i'll leave the gdb session open and check the logs if there's anything else i should run 15:52
timo ok 15:53
MasterDuke but i think github.com/Leont/app-prove6/blob/m...akumod#L52 is the line it's at
leont The real work there happens in TAP::Harness.run really 16:06
16:15 finanalyst_ left
timo right, the question is what's not finishing up correctly, and that's tricky to answer from within C / gdb 16:15
16:16 finanalyst_ joined
MasterDuke yeah, from the backtraces it doesn't look like any of the threads are in TAP::Harness at the point of the hang 16:16
timo right, everything in TAP::Harness is set up with like, taps on supplies and such 16:19
i'm not exactly sure which different Source and Handler classes are relevant to this use case
do you have it as a rr recording btw? or just the current state? 16:20
MasterDuke just the current state
but it reproed pretty quickly, i can try to get it in rr on the desktop 16:21
timo we could have it in "rr record" and also turn MVM_COVERAGE_LOG=blabla on 16:22
16:33 finanalyst_ left
MasterDuke hm, taking longer to repro there 16:36
timo i've been running the nqp test suite nonstop since yesterday and not a repro in sight :) 16:42
MasterDuke i usually *also* run a rakudo spectest in a loop to increase load 16:45
hm. i wonder if it needs MVM_JIT_DISABLE=1 on the desktop to repro... 16:52
timo is it arm64/aarch64 on the other machine? 17:00
MasterDuke no, x86 17:01
timo ah, 32bit
MasterDuke x86-64 17:02
zen2
hm. if i have a rr record running and raku hangs, will ctrl-c safely stop and save the recording? 17:06
timo yeah 17:08
17:08 finanalyst_ joined
MasterDuke well, i have an aarch64 recording, want that? 17:13
but rr definitely is not quite a solid on this system 17:20
timo i'm not sure if i can run an rr replay on my machine, but i also have an aarch64 qemu VM now 17:23
MasterDuke what's that website you use for sending files? 17:24
timo maybe sendfiles.dev/ 17:25
MasterDuke i know it's pretty late, but news.ycombinator.com/item?id=43751076 would be a good place for a raku comment 18:40
unrelated. i looked at the slides for archive.fosdem.org/2018/schedule/e...rivatives/ but not the talk yet. anybody know if it's relevant for rakudo/nqp/moarvm? 18:41
18:54 finanalyst_ left, finanalyst_ joined 19:21 MasterDuke left 19:28 [TuxCM] joined 21:02 [TuxCM] left
ab5tract ugexe: I just finished a first pass at Resource::Wrangler. I don't know what I was complaining about, really, it's not hard to set up the transfer of the file to a new path 21:34
but I figure it is useful to get the corner cases covered in an ecosystem module
(none of which are covered by my current implementation, but hey :) )
21:54 finanalyst_ left
ab5tract come to think of it, these corner cases are probably already well taken care of in the distibution internals 21:54
ugexe ab5tract: you'll want to account for multiple version/api/auth 22:15
i.e. the $prefix should probably default to something like like "/tmp/{nqp::sha1($?DISTRIBUTION.Str)}" 22:16
otherwise different versions can potentially overwrite the files underneath each other 22:18
github.com/raku-community-modules/...od#L31-L35 22:25
there is how i implemented in openssl long ago... it would fall victim to the version issue i just described 22:26
it could probably use your module instead
23:22 guifa joined 23:46 guifa left