🦋 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. |
|||
00:00
reportable6 left
00:02
reportable6 joined
00:51
squashable6 left
00:52
squashable6 joined
03:23
linkable6 left,
evalable6 left,
linkable6 joined
03:25
evalable6 joined
04:25
sourceable6 left,
linkable6 left,
reportable6 left,
committable6 left,
nativecallable6 left,
greppable6 left,
tellable6 left,
statisfiable6 left,
benchable6 left,
bisectable6 left,
evalable6 left,
squashable6 left,
releasable6 left,
shareable6 left,
statisfiable6 joined,
benchable6 joined,
greppable6 joined
04:26
sourceable6 joined,
reportable6 joined,
shareable6 joined,
tellable6 joined,
linkable6 joined
04:27
bisectable6 joined,
releasable6 joined,
nativecallable6 joined,
committable6 joined
04:28
squashable6 joined,
evalable6 joined
05:55
ilogger2 left,
ilogger2 joined
06:00
reportable6 left
06:01
reportable6 joined
06:53
ab5tract joined
09:58
linkable6 left,
evalable6 left
09:59
evalable6 joined
10:00
linkable6 joined
12:00
reportable6 left
12:03
reportable6 joined
12:14
ab5tract left
|
|||
Geth | rakudo/main: 2a331f1f89 | (Elizabeth Mattijsen)++ | src/Raku/ast/operator-properties.rakumod RakuAST: several fixes / additions / removals |
13:16 | |
13:34
jgaz joined
14:06
ab5tract joined
14:10
ab5tract left
14:11
ab5tract joined
14:35
ab5tract left
15:52
hythm joined
17:05
codesections joined
18:00
reportable6 left,
reportable6 joined
18:57
ab5tract joined
|
|||
Geth | roast: 3368e594d6 | (Elizabeth Mattijsen)++ | S32-list/grep-k.t Mark test as skip for now It breaks compilation with RakuAST, and since this returns bogus results with the legacy grammar anyway, it seems safe to mark this as "skip", at least for now. |
19:09 | |
19:27
ab5tract left
|
|||
vrurg | We have a huge hole in handling concurrent module loading. There is a race, likely related to modifying stashes, which with nearly 100% probablity results in SIGSEGV. :( | 20:26 | |
ugexe | github.com/rakudo/rakudo/issues/1920 | 20:28 | |
vrurg | Perhaps, that's it. My case is table. It dies at line 5230 in Perl6/World.nqp, in nqp::existskey. The exact location in MoarVM is always P6opaque.c, 1541 because del is NULL. | 20:36 | |
tonyo | why not just implemenet ugexe's code? | ||
on that issue | |||
ugexe | i'm not sure that really solves it generally. like you could do a load module workflow outside of e.g. $*REPO.need for instance | 20:39 | |
it might be possible to have such a lock somewhere else to work more generally though | 20:40 | ||
vrurg | I just hope that the lock wouldn't block loading other modules why one is precompiling. Because the entire point for me is to be able to precompile and analyze at the same time. | 20:42 | |
Yet, the only 100% valid solution would be a thread-safe Stash. | |||
ugexe | yeah hopefully the lock could go around the stash or serialization or wahtever is causing it | 20:43 | |
vrurg | I believe that the cause is in merging globals. As far as I remember it's the only location where a stash gets written into. | 20:44 | |
BTW, interesting fact is that for me it dies while looking up X::Attribute::Required – i.e. it looks like its the CORE stash which gets broken. | 20:46 | ||
Enclosing the entire `if` starting at line 622 of CURI into `$!lock.protect` doesn't help. Likely because there is a call to `.resolve` made in the other thread. Out of curiousity, I'd try to lock protect the .resolve and see if it works. But that's as much I can do for now. | 21:20 | ||
ugexe | that isn't generalized enough either | 21:22 | |
i can just do CompUnit::Repository::Installation.new(...).need(...) without interacting with $*REPO at all | |||
vrurg | Yes, protecting .resolve doesn't make difference. I'm done with it for today. | 21:46 | |
japhb | .oO( Well I guess that answers my question from this weekend about whether it's safe yet to parallelize "plugin" (runtime loaded module) loading in MUGS ... ) |
||
vrurg | Unfortunately, this makes a lot of code unsafe when 3rd party modules are used. Because sometimes they use dynamic loading. | 21:48 | |
ugexe | yep | ||
22:09
codesections left
22:12
dogbert17 joined
22:15
dogbert11 left
22:55
jjatria left,
jjatria joined
|