github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
03:25
lucasb left
05:35
nativecallable6 left,
shareable6 left,
tellable6 left,
sourceable6 left,
greppable6 left,
quotable6 left,
benchable6 left,
bisectable6 left,
unicodable6 left,
committable6 left,
notable6 left,
evalable6 left,
squashable6 left,
linkable6 left,
bloatable6 left,
coverable6 left,
statisfiable6 left,
releasable6 left
05:36
bisectable6 joined
05:37
shareable6 joined,
releasable6 joined,
benchable6 joined,
statisfiable6 joined
06:34
domidumont joined
07:19
brrt joined
07:27
patrickb joined
07:45
zakharyas joined
|
|||
MasterDuke | any objections to merging github.com/MoarVM/MoarVM/pull/1475 and github.com/MoarVM/MoarVM/pull/1467 ? | 08:01 | |
sena_kun still awaits for the release blocker | 08:22 | ||
patrickb | sena_kun: That's the App::Uni failure and fix in github.com/MoarVM/MoarVM/pull/1473 correct? | 08:46 | |
sena_kun | patrickb, exactly. | ||
MasterDuke | patrickb: thanks for the quick reviews | 08:47 | |
patrickb: do you know if there's a way to start the jobs in a particular order? the windows ones take the longest, so i think it would make sense to start them first. they're listed first in the file, but order in there doesn't seem to match with order jobs are actually started | 08:58 | ||
patrickb | AFAICT there is no way to control the order. | 09:03 | |
MasterDuke | huh | 09:04 | |
[Coke]: how do you build rakudo on windows? | 09:09 | ||
jnthn | morning o/ | 09:22 | |
sena_kun | o/ | ||
nwc10 | \o | 09:23 | |
lizmat | \o/ | ||
MasterDuke | nine: did you have a suggestion for github.com/MoarVM/MoarVM/pull/1474 ? | 09:31 | |
patrickb: why is the PWSH_DEV script needed in the windows jobs? | 09:35 | ||
09:35
lizmat is now known as lizmmat_,
lizmmat_ is now known as lizmat
|
|||
Geth | MoarVM/master: 6 commits pushed by (Daniel Green)++, MasterDuke17++
|
09:47 | |
09:52
lizmat is now known as lizmat_,
lizmat_ is now known as lizmat,
lizmat is now known as lizmat_
09:53
lizmat_ is now known as lizmat
09:54
lizmat is now known as lizmat_,
lizmat_ is now known as lizmat
|
|||
Geth | MoarVM: 53312b9fd8 | (Daniel Green)++ | 8 files Deprecate now unused graphs_s op It was removed from NQP in github.com/Raku/nqp/commit/a161dbd...e88b69d945 |
09:55 | |
MoarVM: 462c41c321 | MasterDuke17++ (committed using GitHub Web editor) | 8 files Merge pull request #1467 from MasterDuke17/deprecate_now_unused_graphs_s_op Deprecate now unused graphs_s op |
|||
MoarVM: 79027bdd07 | (Stefan Seifert)++ | 6 files Fix inlines missing synthetic deopt points Since commit 3345ec36466dbae315b00960d3afedf121b08451 we have synthetic deopt points on inserted guards. These deopt points take their index from an existing deopt point they are linked with. This is important as otherwise we might miss registers we need to restore when deoptimizing. ... (8 more lines) |
10:11 | ||
MoarVM: 3013dcf3ba | (Jonathan Worthington)++ (committed using GitHub Web editor) | 6 files Merge pull request #1473 from MoarVM/fix_inlines_missing_synthetic_deopt_points Fix inlines missing synthetic deopt points |
|||
patrickb | MasterDuke: Those lines turn the Powershell into a so called "Developer Console". Technically that means setting a bunch of environment variables that the msvc build toolchain requires to work. | 10:17 | |
MasterDuke | so might only be needed if the script calls nmake? | 10:19 | |
patrickb | It's not only adapting the PATH, but I think also puts the path to the Visual Studio installation in some variable. | ||
MasterDuke | and not, e.g., when running nqp/rakudo tests? | ||
patrickb | correct. It's only needed for running nmake, cl, ... | 10:20 | |
lizmat | ok, so it's time for a bump ? | 10:21 | |
MasterDuke | ok. i think some of the jobs after building moarvm/nqp/rakudo can be simplified then. it's kind of unfortunate that testing this requires spamming everybody with github notifications though... | 10:22 | |
lizmat: believe so | |||
lizmat | ok, will do | ||
nine | MasterDuke: zctually, yes | 10:38 | |
MasterDuke: reading the docs can help tremendously from time to time :) | |||
If a write() is interrupted by a signal handler before any bytes are written, then the call fails with the error EINTR; if it is interrupted after at least one byte has been written, the call succeeds, and returns the number of bytes written. | |||
On Linux, write() (and similar system calls) will transfer at most 0x7ffff000 (2,147,479,552) bytes, returning the number of bytes actually transferred. (This is true on both 32-bit and 64-bit systems.) | |||
This actually tells us exactly what we need to do: since write() can be interrupted and not write the whole number of bytes we requested, we need to call it in a loop and keep track of how much is already written. Luckily our code does that already. | 10:40 | ||
So when we get a 64 bit number > 2^32 and can only pass on a 32 bit number, the sensible thing to do is to just pass UINT_MAX. | 10:41 | ||
The (int)bytes was not terribly wrong in so far as we would eventually write the whole buffer. But it was inefficient as worst case with a buffer size of 2^32, we'd write in 1 byte increments. | 10:42 | ||
or maybe it's 2^31, since we casted to int, not unsigned int. But you get the drift | 10:43 | ||
nwc10 | nine: likely would be better to pass an even number. Rounded down to a block size might work even better. | 10:44 | |
(And not worry about what the actual block size is - just assume 65536) | 10:45 | ||
nine | good point | 10:49 | |
nwc10 | or maybe 2M. | ||
MasterDuke | so maybe just change the `(int)bytes` to `(uint)bytes`? the problem was that the cast was going negative when bytes was too big | 10:58 | |
nine | No | ||
That would still keep that 1 byte worst case | |||
A simple "bytes > INT_MAX ? 65536 : bytes" should do | 10:59 | ||
lizmat | am I understanding that all writes in Moar are done in 1-byte increments ? | 11:00 | |
nwc10 | I don't think so. That will change to chunks of 65536 until the size drops below INT_MAX | ||
nine | Maybe "bytes > (MVMuint64)INT_MAX ? 65536 : bytes" | ||
nwc10 | I think that ((INT_MAX >> 2) + 1) would likely be easiest | ||
nine | MasterDuke: if in doubt, listen to nwc10 :D | 11:01 | |
nwc10 | or just bytes > INT_MAX ? 1073741824 : bytes | ||
nine is just an amateur at this | |||
nwc10 | I mess things up sometimes | ||
MasterDuke is less than an amateur | |||
nwc10 | and not jsut coffee | ||
see. typing. Not great at that | |||
lizmat never had any formal CS education | 11:02 | ||
nwc10 | me neither | ||
lizmat | but has been given CS classes and has been a promoter for CS students | ||
nwc10 | I haven't even done that! | ||
nine | You don't learn these things in CS anyway :) | ||
lizmat | I don't know :-) | ||
MasterDuke | final answer is `bytes > INT_MAX ? 1073741824 : bytes`? | 11:04 | |
nwc10 | m: 2**30 | 11:05 | |
camelia | WARNINGS for <tmp>: Useless use of "**" in expression "2**30" in sink context (line 1) |
||
nwc10 | m: say 2**30 | ||
camelia | 1073741824 | ||
nwc10 | yes, best suggestion for what to try | ||
MasterDuke | thanks, will do | ||
what about for send(), same value? | 11:09 | ||
nine | MasterDuke: what does the man page say? | 11:10 | |
MasterDuke | reading it now | ||
this looks like it might be slightly more complicated to pick a size. pausing for lunch | 11:14 | ||
11:31
zakharyas left
11:39
LizBot joined
|
|||
lizmat | PSA: LizBot is an experimental logger by yours truly | 11:46 | |
atm, it just logs | |||
brrt | welcome LizBot! | ||
nwc10 | LizBot: botsnack | 11:47 | |
nwc10 assumes that UGT implies it's always elevensies | |||
(on reflection, this could be an unhealthy concept) | 11:48 | ||
lizmat | yeah, always elevensies is what me big :) | ||
*made | |||
brrt | 'great', is the word :-) | 11:49 | |
lizmat | no, I meant big :-) | ||
I'm a lot smaller now, since I started losing weight about 1.5 years ago | 11:50 | ||
about 30% smaller | |||
brrt | that's pretty substantial :-) | 11:51 | |
I imagine we'll see at the next perl community conference. | |||
If indeed there will be a next one of those | |||
lizmat | I won't be visiting any Perl events anymore, I *will* be visiting Raku events | ||
brrt | Hmm. | ||
Best we start organizing those, then. | 11:52 | ||
(Why, though, what's wrong with Perl events these days? Drama?) | |||
lizmat | conf.raku.org is a good start | ||
brrt | what, august 7 we'll all be vaccinated for sure.... | 11:53 | |
lizmat | 1. I don't want to attend any Perl presentations anymore | ||
2. I'm done with certain members of the Perl community | 11:54 | ||
3. I may well visit social events around Perl conferences | |||
12:12
sena_kun left
12:14
sena_kun joined
|
|||
brrt | anyway, raku conf seems fun | 12:18 | |
12:18
Kaeipi left
|
|||
[Coke] | MasterDuke: Have not done so on a fresh box in ages, but building on windows requires a perl5 and one of the visual studios. I had made it work easily with msvc2017, but was having some difficulty getting it setup with 2019, which is probably on me. | 12:20 | |
(and then do the build from within the dev tools command prompt, which sets up all the env vars) | 12:21 | ||
Am actually trying to get this to work on a windows 10 64-bit box with 2019 this week. | |||
MasterDuke | so similar to github.com/MoarVM/MoarVM/blob/mast...#L158-L161 ? | ||
[Coke] | MasterDuke: there's a moar option that says "use the msvc toolchain" | 12:22 | |
MasterDuke | if you do, could you test whether that `set CL=/MP` does speed things up by doing the compilation in parallel or not? | ||
12:22
Kaiepi joined
|
|||
[Coke] | I'll add taht to the list of things to try on the new box, sure | 12:22 | |
MasterDuke | huh, no option like that is used in the azure jobs | 12:23 | |
patrickb | it's not actually necessary to have a full Visual Studio installed. The BuildTools package suffices. | 12:24 | |
[Coke] | fair. I just have it for work anyway. | ||
patrickb | See: github.com/rakudo/rakudo/tree/mast...de-modules | 12:25 | |
12:26
LizBot left,
LizBot joined
12:31
Kaiepi left
12:32
Kaeipi joined
12:36
Kaeipi left
12:40
Kaiepi joined
12:41
LizBot left
12:42
LizBot joined
12:45
brrt left
12:56
zakharyas joined
13:04
zakharyas left,
shareable6 left,
lizmat left,
nwc10 left
13:05
zakharyas joined,
shareable6 joined,
lizmat joined,
nwc10 joined
13:08
zakharyas left
|
|||
Geth | MoarVM/new-disp: 80fc8fec09 | (Jonathan Worthington)++ | src/core/interp.c Add assertions to inline cache resolution So we can catch problems a little earlier when debugging. |
13:15 | |
MoarVM/new-disp: 8f93408cca | (Jonathan Worthington)++ | 4 files Fix race and simplify static frame setup The function `prepare_and_verify_static_frame` is only called from the instrumentation barrier routine, so it need not obtain a lock that is always obtained by the instrumentation barrier routine. Furthermore, it need not check the instrumentation level is zero (that's also done in the caller). Those are the simplifications. ... (16 more lines) |
|||
MoarVM/new-disp: 09e8dc9be3 | (Jonathan Worthington)++ | src/core/frame.c Add a couple of MVM_UNLIKELY |
|||
13:20
zakharyas joined
|
|||
jnthn | Hmm, this segv feels a little familiar... | 13:20 | |
Thread 1 "moar" received signal SIGSEGV, Segmentation fault. | |||
0x00007ffff796af0d in MVM_spesh_arg_guard_gc_mark (tc=0x55555560a080, ag=0x5555556519a0, worklist=0x555555f3c160) at src/spesh/arg_guard.c:611 | |||
611 MVM_gc_worklist_add(tc, worklist, &(ag->nodes[i].st)); | |||
MasterDuke | when was new-disp last rebased? | 13:22 | |
looks like relatively recently | 13:23 | ||
jnthn | Probably O(weeks) ago | ||
Thing is I thought this was the segv we saw in a branch | |||
But yeah, if it looks familiar to you too, maybe I should rebase | 13:24 | ||
MasterDuke | my remove opt branch probably | ||
jnthn | Today's discovery: if construction work is ruining my concentration, cranking up metal to cover it helps | ||
Maybe I'll try a rebase before I got debugging | 13:25 | ||
nwc10 | rĢĆ«bĢƤsĢĆ«! | 13:26 | |
rĢeōæ½xCCōæ½x88bĢaōæ½xCCōæ½x88sĢeōæ½xCCōæ½x88! | |||
jnthn | Rebase wasn't so bad this time, at least. | 13:35 | |
MasterDuke | nwc10: wouldn't `bytes > 1073741824 ? 1073741824 : bytes` make sense instead of `bytes > INT_MAX:w ? 1073741824 : bytes` | 13:36 | |
minus the | 13:37 | ||
':w' | |||
on a roll with my typing right now | |||
jnthn | Darn, still segfaulty | ||
Geth | MoarVM/new-disp: 212 commits pushed by (Jonathan Worthington)++, (Timo Paulssen)++, (Daniel Green)++ review: github.com/MoarVM/MoarVM/compare/0...913bc9df50 |
13:38 | |
MasterDuke | jnthn: colabti.org/irclogger/irclogger_lo...03-30#l111 | 13:39 | |
Geth | MoarVM/new-disp: 307cc798f6 | (Jonathan Worthington)++ | 4 files Fix race and simplify static frame setup The function `prepare_and_verify_static_frame` is only called from the instrumentation barrier routine, so it need not obtain a lock that is always obtained by the instrumentation barrier routine. Furthermore, it need not check the instrumentation level is zero (that's also done in the caller). Those are the simplifications. ... (16 more lines) |
||
MoarVM/new-disp: 24e5152088 | (Jonathan Worthington)++ | src/core/frame.c Add a couple of MVM_UNLIKELY |
|||
jnthn | MasterDuke: ooh, thanks. So did that fix ever make it into master? | 13:41 | |
MasterDuke | i don't think so...but i think nine is the person to ask | 13:43 | |
jnthn | "The head commit of new-disp is the tweak for gen2 candidates" - oh, that implies I tried to fix it | 13:44 | |
Yes, 67ad85e1bd1 | 13:45 | ||
But then nine++ discovered that more is needed | 13:46 | ||
Geth | MoarVM/new-disp: 38380c9e2c | (Jonathan Worthington)++ | src/6model/reprs/MVMSpeshCandidate.c Fix unmarked potential gen2 -> nursery references The MVMStaticFrameSpesh holds the argument guard tree, which may in turn point to nursery objects. We don't currently do those writes through MVM_ASSIGN_REF. For now, conservatively always have the object checked for nursery objects on the next collection. nine++ for working this out. |
13:55 | |
jnthn | Yay, seems far more stable now :) | ||
The only `make test` failures in new-disp for Raku now are because of my new-disp-callsame and similar additions, which are temporary workarounds. | 13:56 | ||
MasterDuke | nice | ||
jnthn | Only a handful of spectest failures too. Of course, we're not fully using new-disp yet | 13:58 | |
The segv is interesting | 13:59 | ||
nwc10 | MasterDuke: Yes, I think so. Seems clearer. It's "write 1G at most" | ||
by the time you're attempting to write blobs of 1G or greater, it seems a bit nuts to presume that it matters whether it's 1 system call. It's certainly not going to be atomic at any lower level | 14:00 | ||
nine: | 14:04 | ||
oops | |||
jnthn: well, ASAN got through the NQP build with all the env vars turned on | 14:05 | ||
and didn't bat an eyelid | |||
(or anything else) | |||
unlike the neighbour's cat, which seemed to think that my finger was a mouse. Or at least, something worth blatting. | |||
MasterDuke | github.com/MoarVM/MoarVM/pull/1474 updated | ||
nwc10 | (this was actually a couple of weeks ago. Silly thing doesn't realise that fingers are useful - they can open catfood tins) | 14:06 | |
jnthn | Ouch, if this was batting with claws enabled | 14:07 | |
nwc10 | yes, but one front foot | 14:08 | |
jnthn | Glad it builds for you now. I'm looking into a segv that reliably happens in make spectest at the moment | ||
nwc10 | it wasn't like I went to tickle its tummy. | ||
(for anyone not familiar with cats, what can happen next is that the two front feet grab your hand and the two back legs attempt to "kill" it - you get very long and deep scratches) | 14:16 | ||
dogs do not do this. | |||
Geth | MoarVM/new-disp: 413735ea4a | (Jonathan Worthington)++ | src/core/interp.c Use correct bytecode address for IC lookup |
14:23 | |
jnthn | And that's the segv fixed | 14:24 | |
It seems the remaining spectests I fail are because new-disp doesn't yet implement the latest Raku coercion protocol | |||
MasterDuke | so just a rebase is required? or something more? | 14:27 | |
jnthn | More | ||
MasterDuke | ah | 14:28 | |
jnthn | Nothing MoarVM side, in theory. | ||
MasterDuke | so merge new-disp in moarvm today and it gets a full day of testing before the release, i assume that's the plan? | 14:30 | |
jnthn | haha | 14:31 | |
MasterDuke | nothing risky there | ||
jnthn | nqp and rakudo HEAD won't build on it, because I already removed spesh plugins | ||
(To make sure I'd already ported over everything else) | |||
14:32
lucasb joined
|
|||
MasterDuke | probably wise | 14:32 | |
14:34
lucasb left
14:35
lucasb joined
14:36
lucasb left
|
|||
jnthn | Ah, the spesh assignment plugin was updated in the simplest possible way (e.g. doesn't really optimize the coercion case at all), and I can easily steal that change | 14:38 | |
And with that, only t/spec/S32-io/io-path-subclasses.t fails | 14:43 | ||
Guess I'll look at that before I go and do the next big round of breakage :) | 14:44 | ||
MasterDuke | wow, very cool | 14:46 | |
jnthn | Ah, I think I know which todo this will be :) | 14:49 | |
14:50
brrt joined
14:54
LizBot left,
LizBot joined
14:55
LizBot left,
LizBot joined
|
|||
nwc10 | jnthn: current new-disp master/master/master fails t/04-nativecall/18-routine-sig-sanity.t | 15:13 | |
with all the env and debug stuff: | |||
ok 33 - Method are silly | |||
MoarVM panic: Invalid owner in item added to GC worklist | |||
Aborted | |||
So there's still one more of those to be found | |||
jnthn | grmbl | 15:16 | |
15:17
LizBot left,
LizBot joined
|
|||
Geth | MoarVM/new-disp: bd7405be68 | (Jonathan Worthington)++ | src/core/args.c De-dupe named args in new dispatch flattening |
15:18 | |
jnthn | With that todo todone, make spectest on new-disp (without the magic go-boom flags) passes. Of course, this is because we're not *really* using new-disp in full yet. | ||
nwc10 | woohoo! | 15:19 | |
how is the beer fridge? | |||
15:19
brrt left
|
|||
nwc10 | I'm half doing well - 2 dry days. And half not - 0 days since last hot beverage mishap | 15:19 | |
jnthn | Mon/Tue are my designated dry days, and yesterday I only had one, so it's not been raided for a while | 15:22 | |
15:23
LizBot left
|
|||
jnthn | That said, I've not ordered fresh interesting stuff for a while, so the stout/porter section is dwindling, and the interesting Belgian stuff section isn't looking too good either. | 15:23 | |
15:23
LizBot joined
|
|||
jnthn | I keep reading that bot's host mask as "free dominator". Working on compilers has ruined me. | 15:24 | |
MasterDuke | i've been surprised at how hard it is to find belgians here. but walked past an actual beer store tuesday morning, though sadly it was closed at the time, so plan to go back and see if they have a better selection | 15:25 | |
jnthn | It just keeps getting easier for me to do that. There's a Belgian beer pub 15 minutes walk away. It can't open at the moment, but it can sell bottles. That's been there as long as I've lived in this district. | 15:26 | |
MasterDuke | every place had duvel and leffe, but that's it, i haven't seen a single other belgian | 15:27 | |
jnthn | That's...limited. | ||
The online grocery store I use can offer Kwak most of the time. | |||
And the two you mentioned. | |||
Two weekends ago they opened a new craft beer shop around 20 minutes away. It's a new branch of a shop I already know, but it's the other side of the city, so quite an effort to go to. | 15:28 | ||
Uh, the original branch is an effort to go to | |||
The new one isn't. I meant to write 20 minutes *walk*. Which is obviously convenient. :) | 15:29 | ||
15:29
LizBot left
15:30
LizBot joined
|
|||
nwc10 | and I read "original branch is an effort" and thought about version control | 15:30 | |
jnthn | When I visited the new place they had 2 rooms but only 1 room filled with fridges/shelves of beer. They promised soon their would be "spousta piv" :) | 15:31 | |
Which, if they fill the second room too, will certainly be the case. | |||
Anyway, apparently I moved to a good part of the city :) | |||
Aha, t/04-nativecall/18-routine-sig-sanity.t blows up | 15:32 | ||
(for me too, with the flags) | |||
nwc10 | spousta? I figure the other word is pivo | ||
jnthn | "plenty" | 15:33 | |
nwc10 | aha! | ||
some day I hope to visit this place | |||
15:34
brrt joined
|
|||
MasterDuke | belgium is significantly closer to me now than it used to be (6h drive instead of 8h flight), so i'm hoping we get to drive there when things get a bit better. i visited in high school, but didn't really have an appreciation for abby ales at the time... | 15:36 | |
15:36
Kaiepi left,
Kaiepi joined
|
|||
nwc10 | When beer's involved, I generally prefer other-than-drive to get back (and there) | 15:37 | |
jnthn | Hm, we're in MVM_disp_inline_cache_mark when we add the pointer to a past fromspace to the worklist | ||
So I'm obviously guilty for that :) | 15:38 | ||
MasterDuke | true, but 6h is long enough there's going to be an overnight stay upon arrival | ||
lizmat cycled about 40km in Belgium yesterday :-) | |||
jnthn | oh, MVM_disp_program_mark is on top of it | ||
lizmat | ( it's allowed again ) | ||
nwc10 | woohoo! | ||
but you're making us jealous | 15:39 | ||
15:40
LizBot left,
LizBot joined
|
|||
MasterDuke | that time i visited belgium was a day trip from our longer visit to the netherlands, we were staying in Maastricht | 15:40 | |
lizmat | sadly, no establishments open yet in Belgium :-( | ||
MasterDuke: I live about 35km from Maastricht | |||
MasterDuke | but we took a bus, had to save our energy for the soccer games we were playing | ||
15:42
patrickb left
|
|||
MasterDuke | it was a great trip, i'd been looking forward to going back to the netherlands for yapc:2020 (i think that's the one that was supposed to be in amsterdam?) | 15:42 | |
15:43
brrt left
|
|||
MasterDuke | lizmat: sadly i had no perl connections then, didn't get first exposed to it until 2-3 years later | 15:44 | |
lizmat | yeah, another on in Amsterdam | ||
they've also been in 2001 and 2018 | |||
15:46
tellable6 joined,
LizBot left,
LizBot joined
|
|||
MasterDuke | i've never really been to a yapc. showed up at the end of the last day of the one in DC, and been to two london perl conferences, but that's it | 15:46 | |
lizmat | well, that's something.. :-) | ||
MasterDuke | anyway, afk to grab a beer and head to the garden to push the kids on their swing & | 15:47 | |
nine | jnthn: just to be sure. While removal of DECONT facts from add_facts in src/spesh/args.c is enough to fix the bug, there's then no longer a reason to handle DECONT facts in spesh arg guards, is there? So that should be removed as well. | ||
(pushing kids)++ | 15:48 | ||
.oO(well that may have come out wrong...) |
|||
nwc10 | I push them away, but they keep coming back. Am I doing something wrong? :-) | 15:49 | |
aha yes, related - our code term for "swing" was "simple pendulum", as that way the children didn't figure out what the topic was | 15:50 | ||
15:53
LizBot left
|
|||
jnthn | nine: In the arg guard tree it's not about facts so much as candidate selection | 15:54 | |
nine: And there it still matters | |||
15:54
LizBot joined
|
|||
jnthn | But I don't think we can end up with memory safety violations there | 15:54 | |
This latest GC issue is a bit odd; everything looks about correct in the inline cache in so far as it enforces barriers | 15:55 | ||
ah, language class time. Guess this is tomorrow's bug hunt | 16:01 | ||
16:06
LizBot left,
LizBot joined
16:22
LizBot left,
LizBot joined
16:23
LizBot left,
LizBot joined
16:25
greppable6 joined
16:26
brrt joined
|
|||
Geth | MoarVM/fix_spesh_missing_writes_to_containers: c8c1b4f2b4 | (Stefan Seifert)++ | src/spesh/args.c Fix spesh missing writes to containers When containers get passed as arguments (i.e. read/write arguments), we collect statistics on these containers' contents and create facts from them. These facts are guarded by the arg guard tree which is used for selecting spesh candidates, so a candidate relying on these facts will only be run, when the facts hold. ... (12 more lines) |
16:36 | |
MoarVM: niner++ created pull request #1476: Fix spesh missing writes to containers |
|||
16:54
domidumont left
17:06
lucasb joined
17:35
quotable6 joined,
MasterDuke left
17:41
zakharyas left
17:43
sxmx1 joined
17:44
brrt left
|
|||
Geth | MoarVM: b553aba6f8 | (Stefan Seifert)++ | src/core/args.c Remove double-MVMROOT of result in MVM_args_set_result_obj Commit 90252a8fe8af3efdb307f29b6d91b3cfbd1f1d09 added missing MVMROOTing of result to MVM_args_set_result_str. When doing so I looked around for similar errors and thought I found one in MVM_args_set_result_obj. A second look would have revealed that result was already MVMROOTed just outside the if/else block though. |
17:52 | |
17:59
committable6 joined
|
|||
nwc10 | is double routing just an inefficiency, or can it result in double updates to the same memory location, which cause (later) corruption? I'm wondering how serious it is | 18:04 | |
lizmat | is rooting re-entrant ? | 18:05 | |
18:05
LizBot left
|
|||
lizmat | āThere is a risk that a malfunction of the SpaceX vehicle during these activities will create an overpressure event that can break windows,ā | 18:35 | |
.oO( big bada boom! ) |
|||
jnthn | nwc10: It may cause double updates, but with the same new address, so it's harmless | 18:39 | |
japhb | "overpressure event" *snrk* | 18:44 | |
lizmat | rapid unexpected disassembly might cause an overpressure event :-) | 18:45 | |
sena_kun | bad news, it seems we introduced another regression. :| | 19:28 | |
tellable6 | 2021-04-22T18:51:48Z #raku-dev <vrurg> sena_kun gist.github.com/vrurg/a608e01a44e5...205359cf9c | ||
sena_kun | I am checking correctness of the bisect. | ||
19:43
MasterDuke joined,
linkable6 joined
|
|||
MasterDuke | sena_kun: the GTK::Simple one is it doing something wrong and the test now correctly failing. github.com/finanalyst/GTK-Simple/b...er.pm6#L33 nqp::hllize is only supposed to take one arg | 19:46 | |
sena_kun | MasterDuke, so we just hid the bug then? | 19:48 | |
MasterDuke | exactly | 19:50 | |
lizmat | that's maybe the result of losing that extra parameter for all nqp ops | ||
that was only intended for internal usage ? | |||
sena_kun | Now that's a very difficult situation. | ||
MasterDuke | github.com/finanalyst/GTK-Simple/pull/104 | ||
sena_kun | I mean, yes, nqp is "we can break it internal thing", but GTK::Simple is not something I'd be ok with breaking. | 19:51 | |
lizmat | it's a backward compatible PR | 19:52 | |
sena_kun | phew | ||
MasterDuke | IO::Handle::Rollover bisects to a commit by vrurg | 19:54 | |
vrurg | I think it's a false positive. Otherwise it'd be triggered much earlier. | 19:55 | |
sena_kun re-checks | |||
vrurg | The commit is from mid-March and we already had a couple of blin runs since. | 19:56 | |
sena_kun | oh, yes, this makes sense | ||
the module is not stable then somehow | |||
MasterDuke | 'Exception message: Failed to open file /tmp/rollover/rollover.txt: No such file or directory', something with how you're running bling? | ||
*blin | 19:57 | ||
sena_kun | ===> Fetching [FAIL]: IO::Handle::Rollover:ver<1.3.1>:auth<github:atroxaper> from www.cpan.org/authors/id/A/AT/ATROXA...3.1.tar.gz | ||
hmm | |||
vrurg | Nothing special about it. Just a disposable VM. | 19:58 | |
19:58
leont joined
|
|||
sena_kun does some testing | 19:59 | ||
nine | MasterDuke: is that PR actually correct? | ||
Wouldn't it with 2 arguments take the first one as the target register? | 20:01 | ||
sena_kun | So far I can confirm it fails on HEAD and works on 03. | ||
MasterDuke | hmm, guess it should be `$task := Any` instead | 20:03 | |
then i don't understand the point of the original code | 20:04 | ||
nine | Could be. If my reading of QASTCompilerMAST is correct. Could also be that making room for a target register was just the reason for accepting an additional arg, but then it wouldn't be used this way | ||
Well neither interpretation of that code seems to make sense :) | |||
MasterDuke | committable6: 2021.03 use nqp; my class Queue is repr("ConcBlockingQueue") { }; my $queue := nqp::create(Queue); my Mu $task := nqp::queuepoll($queue); dd nqp::hllize($task, Any) | 20:05 | |
committable6 | MasterDuke, Ā¦2021.03: Ā«Anyā¤Ā» | ||
MasterDuke | committable6: HEAD use nqp; my class Queue is repr("ConcBlockingQueue") { }; my $queue := nqp::create(Queue); my Mu $task := nqp::queuepoll($queue); dd nqp::hllize($task) | ||
committable6 | MasterDuke, Ā¦HEAD(c05b23f): Ā«Muā¤Ā» | ||
MasterDuke | committable6: HEAD use nqp; my class Queue is repr("ConcBlockingQueue") { }; my $queue := nqp::create(Queue); my Mu $task := nqp::queuepoll($queue); dd $task := Any | 20:06 | |
committable6 | MasterDuke, Ā¦HEAD(c05b23f): Ā«Anyā¤Ā» | ||
nine | github.com/finanalyst/GTK-Simple/c...ef680c9615 | 20:07 | |
MasterDuke | those aren't exact replications of the code | ||
ha, i've never seen `nqp::p6parcel` before | 20:08 | ||
nine | committable6: 2021.03 use nqp; my $task = 1; nqp::hllize($task, Any); dd $task; | ||
committable6 | nine, Ā¦2021.03: Ā«===SORRY!===ā¤Cannot find method 'op' on object of type QAST::Varā¤ Ā«exit code = 1Ā»Ā» | ||
nine | committable6: 2021.03 use nqp; my Mu $task = 1; nqp::hllize($task, Any); dd $task; | 20:09 | |
committable6 | nine, Ā¦2021.03: Ā«===SORRY!===ā¤Cannot find method 'op' on object of type QAST::Varā¤ Ā«exit code = 1Ā»Ā» | ||
nine | committable6: 2021.03 use nqp; my Mu $task := 1; nqp::hllize($task, Any); dd $task; | ||
committable6 | nine, Ā¦2021.03: Ā«===SORRY!===ā¤Cannot find method 'op' on object of type QAST::Varā¤ Ā«exit code = 1Ā»Ā» | ||
nine | I give up... | ||
lizmat | p6parcel is pre-GLR is it not ? | ||
nine | - nqp::p6parcel($rpa, Any); | ||
+ nqp::p6bindattrinvres(nqp::create(List), List, '$!reified', $rpa) | |||
lizmat | ah, *phew* | 20:10 | |
nine | ChangeLog says for 2015.9 Parcel is no longer a type, use List instead | 20:11 | |
20:13
lizmat is now known as lismat,
lismat is now known as lizmat
20:15
lizmat is now known as lismat,
lismat is now known as lizmat
|
|||
MasterDuke | just removing that second argument does make the test pass, but i suspect that code isn't getting exercised | 20:16 | |
it isn't | |||
nine | Well with your PR the code makes most sense. Who knows, maybe it fixed another bug as well? | 20:19 | |
MasterDuke | m: use nqp; my $a := nqp::list(1, 2, 3); dd $a.WHAT; my $b := nqp::hllize($a); dd $b.WHAT | 20:23 | |
camelia | () List |
||
MasterDuke | so yeah, i think the PR is correct | 20:24 | |
so switching modules, i can repro the fails in IO::Handle::Rollober | 20:25 | ||
sena_kun | MasterDuke, it's odd, so far I can reliably have no issues on the previous release, but on HEAD it always fails for me. | 20:29 | |
But on the commit it was bisected to, it works. | |||
vrurg | sena_kun: was you bisecting IO::Handle::Rollover? | 20:33 | |
sena_kun | vrurg, ? Blin bisected it to your commit, but I think it's bad. I would say the test can be race-y, but I don't understand how it always passes on release and fails on HEAD for me. | 20:40 | |
s/it's bad/the commit it bisected to is innocent/ | |||
vrurg | sena_kun: my point is wether it makes sense to bisect manually. But I'm doing it anyway already. | 20:41 | |
sena_kun | vrurg, yes, you won't be doing double work this way. | ||
*"duplicated work" maybe | |||
vrurg | I have 95% of bisection automated, so it's not much work anyway. | 20:45 | |
21:04
Kaiepi left,
Kaiepi joined
21:39
dogbert12 joined
21:41
dogbert17 left
21:44
LizBot joined
21:48
dogbert17 joined
21:52
dogbert12 left
22:29
sena_kun left
22:54
dogbert11 joined
22:58
dogbert17 left
23:40
nativecallable6 joined
|