github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
02:39
dogbert11 left
04:28
statisfiable6 left,
reportable6 left,
benchable6 left,
greppable6 left,
squashable6 left,
unicodable6 left,
notable6 left,
quotable6 left,
committable6 left,
bisectable6 left,
releasable6 left,
tellable6 left,
bloatable6 left,
coverable6 left,
shareable6 left,
evalable6 left,
nativecallable6 left
04:29
reportable6 joined,
statisfiable6 joined,
committable6 joined,
coverable6 joined,
notable6 joined
04:30
shareable6 joined,
nativecallable6 joined,
bisectable6 joined,
quotable6 joined
04:31
unicodable6 joined,
tellable6 joined
04:32
squashable6 joined,
benchable6 joined,
releasable6 joined
04:33
greppable6 joined,
evalable6 joined,
bloatable6 joined
05:19
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined
06:27
domidumont joined
06:32
domidumont left
06:47
domidumont joined
07:56
zakharyas joined
08:06
zakharyas left
08:07
zakharyas joined
08:08
brrt joined
|
|||
brrt | \o | 08:55 | |
nwc10 | o/ | 08:56 | |
08:57
sena_kun joined
09:07
zakharyas left
|
|||
brrt | ohai nwc10 | 09:07 | |
brrt realized that it's a good thing we didn't call moarvm perl6vm | |||
jnthn | :) | 09:22 | |
Yeah, I'm glad Cro and Comma got names that don't pun on Perl 6 too. | 09:23 | ||
I dunno what to do with 6guts :) | 09:24 | ||
AlexDaniel | as if renaming something once is worse than having a cryptic name | ||
jnthn | But I'm so awful at ever blogging anyway... | ||
AlexDaniel: I think perl6vm might have been less cryptic... :-) | 09:25 | ||
Generally, though, we tried to avoid naming things by the language name unless they were reasonably "the only one" | |||
AlexDaniel | jnthn: that's my point, the fact that it's not āperl6vmā is not strictly a good thing | 09:26 | |
09:27
zakharyas joined
|
|||
jnthn | AlexDaniel: Well, you'll just have to live with it. | 09:27 | |
09:28
brrt left
|
|||
nine notes that while the rename has been the dominant topic for several weeks, it's just one of many. Hope that people don't lose sight of all the interesting and fun things that brought us together | 09:29 | ||
jnthn | Indeed, and having fun with naming is as Perl-y a thing as any, really. :) | 09:31 | |
AlexDaniel | naming things the way we do never really did enough good for us, and I'll do my best to at least stop introduction of new cryptic names | 09:34 | |
it's part of the culture though, that I agree with | 09:35 | ||
doesn't really mean it's a good part | |||
jnthn | Sadly, there's not much joy in trying to stop people sucking the joy out of things... I hope at some point soon, I'll be able to get back to enjoying what I do around here again. | 09:43 | |
Guest23744 | jnthn: why not dive into some some cool hacking for a while? | 09:59 | |
10:10
domidumont left
10:19
zakharyas left
|
|||
nine | Guest23744: I guess because he has taken on the burden of leadership and this can really suck you dry and just not leave the energy even to take up fun things. Carrying responsibility and having to make decisions for others without being able to delegate them can be really exhausting. | 11:00 | |
Guest23744 | nine: I can imagine | 12:16 | |
nine: have you found any more GC/fromspace problems? | 12:18 | ||
I'm having a hard time finding any myself | 12:20 | ||
12:23
ggoebel joined
|
|||
nine | Well, there's the one I was discussing with jnthn that still needs a proper fix and I guess the async IO thing you pointed out is still unsolved? | 12:26 | |
Guest23744 | Yes, I guess I could PR that one but I need to learn some things (from you first) :) | ||
nine | Please go on :) | 12:27 | |
Guest23744 | here's the area in the code | 12:28 | |
github.com/MoarVM/MoarVM/blob/mast...ops.c#L496 | |||
the mutex can be busted in line 500 because close_stdin can allocate | |||
so what should be rooted, os_handle or something else? | 12:29 | ||
or could it perhaps be enough to move some stuff around thereby avoiding having to root anything | 12:30 | ||
ggoebel | jnthn: fwiw I always enjoy your blog posts. and wrt to people sucking the joy out of things... Sometimes (particularly when people have a tendency to focus on problems more than solutions) it is hard to remember that everyone is the protagonist of their own story. You all do a good job of keeping things civil and leading positively by example. Don't sweat the things you can't control. Finding you're own -Ofun joy is infectious. | 12:33 | |
nine | You could indeed pull the pointer to the mutex into a local variable. The mutex itself won't change location | ||
12:37
domidumont joined
12:39
lucasb joined
|
|||
nine | Now that I think about it: it would be hilarious if this were to fix the issue that still remains in t/02-rakudo/15-gh_1202.t when the resolve_using_guards issue is gone | 12:43 | |
Guest23744 | nine: I can try and whip something together when I get home unless you want to do it | 12:48 | |
13:14
zakharyas joined
|
|||
ggoebel | wrt the renaming... Everyone has had a chance to be heard. The process has been as open transparent, and fair as could reasonably be hoped. A couple reviewers still outstanding... When the chips fall as they likely will on going forward with it... Hopefully everyone will get behind and make the best of the opportunity. In the end a name is just an identifier. And Raku by any name is -Ofun. "A rose by any other name would smell as | 13:19 | |
sweet". | |||
nine | Oooh...sometimes it's really a good idea to first look at a failing test: Promise.in(600), # 10mins timeout | 14:03 | |
No wonder this fails | |||
14:25
zakharyas left
15:16
zakharyas joined,
MasterDuke joined
|
|||
MasterDuke | jnthn: are the last couple comments in github.com/MoarVM/MoarVM/issues/1023 useful? | 15:25 | |
jnthn | The Aug 18th one is most telling... | 15:29 | |
(There's profiler-related code on the stack) | |||
While the others just have the GC | |||
MasterDuke | ok, glad there's something useful there | 15:31 | |
jnthn | Yeah, there's various nuggets in the issue. Hmm. | 15:32 | |
MasterDuke | fwiw, none the (many) fixes in the past couple months have seemed to change any of the behavior with that example | 15:41 | |
nine | The MVM_gc_allocate_gen2_default_set + clear in MVM_profile_dump_instrumented_data's while (thread) loop seems superfluous | ||
MasterDuke | nine: the example code does not seem to like it if i remove those lines | 15:49 | |
spins in a sched_yield before it gets to the point of saying `Writing profiler output to ...` | 15:50 | ||
jnthn: also, i just got a segv (without having made any changes) even with `MVM_SPESH_INLINE_DISABLE=1` | 15:51 | ||
tiny backtrace: #0 0x000055556dd44190 in ?? ()#1 0x00007ffff78ddeb6 in MVM_interp_run (tc=tc@entry=0x555555559f40, initial_invoke=0x55556d5c5c70, initial_invoke@entry=0x7ffff79db9a0 <toplevel_initial_invoke>, invoke_data=0x55556d5c5c70, invoke_data@entry=0x7ffff79db9a0 <toplevel_initial_invoke>) at src/core/interp.c:2213#2 0x00007ffff79dca2f | 15:52 | ||
in MVM_vm_run_file (instance=<optimized out>, filename=0x5555555593f0 "/home/dan/Source/perl6/install/share/perl6/runtime/perl6.moarvm") at src/moar.c:460#3 0x00005555555555d4 in main (argc=<optimized out>, argv=<optimized out>) at src/vm/moar/runner/main.c:369 | |||
15:53
dogbert11 joined
|
|||
jnthn | Hm, with JIT enabled, I figure? | 15:53 | |
MasterDuke | uh, maybe? i thought turning off any part of spesh also disabled the jit? | 15:55 | |
nine | no | 15:57 | |
15:57
dogbert11 left
|
|||
MasterDuke | then yes, jit was enabled | 15:58 | |
hm, with `MVM_SPESH_INLINE_DISABLE=1 MVM_JIT_DISABLE=1` it's run successfully for a bunch of times now | 16:03 | ||
16:06
zakharyas left
16:19
dogbert17 joined
|
|||
jnthn | MasterDuke: Ah, that explains the ?? in the top of the stack trace then | 16:29 | |
MasterDuke | disabling PEA or OSR and the jit gives the same errors as before | 16:31 | |
jnthn | So, it's a plain profiler bug, probably unaffected by spesh/jit? | 16:34 | |
MasterDuke | probably. the code that's running is compiling regexes, so i would assume it's related to EVAL | 16:38 | |
i.e., interpolating into regexes | 16:39 | ||
jnthn | ah, hmm...maybe GC of code upsets it | 16:40 | |
16:41
domidumont left
|
|||
MasterDuke | think GC_DEBUG would help? | 16:41 | |
jnthn | A straight `perl6 --profile -e 'for ^100_000 { EVAL "42" }'` doesn't seem to be blowing up though | ||
urgh, leaks like hell though | 16:42 | ||
Well, maybe that's not surprising if it's gathering profile data of every single comp unit... | |||
But hmm, it leaks even without `--profile` | |||
Well, maybe next week I'll have a dig... | 16:43 | ||
MasterDuke | `p6 --profile -e 'my $a; for ^100_000 { $a = rand ~~ /<$_>/; }'` gives panics and segvs | ||
jnthn | oh :) | ||
Nice golf | |||
MasterDuke | i do also have a spectest running | 16:44 | |
jnthn | Though, it did neither here for me just yet | ||
Though I'm running without any GC stressing etc. | |||
MasterDuke | sometimes it just seems to hang without doing anything | 16:45 | |
with perf top showing MVM_profile_instrumented_mark_data in 2nd place | 16:46 | ||
huh. this is new (during a run of that golf): ===SORRY!===Unrecognized regex metacharacter - (must be quoted to match literally)at /home/dan/EVAL_151:1------> anon regex { 9.79300556114282eā-05}Malformed regexat /home/dan/EVAL_151:1------> anon regex { 9.79300556114282e-ā05} | 16:48 | ||
here's another short one with just the jit disabled. end's up in sp_guardcond. gist.github.com/MasterDuke17/9b15e...a73507fbe4 | 16:54 | ||
dogbert17 | MasterDuke: with MVM_GC_DEBUG=1 nine's favorite problem crops up | ||
MoarVM panic: Adding pointer 0xf7a2d8 to past fromspace to GC worklist | |||
MasterDuke | dogbert17: in the golf from above? | 16:55 | |
dogbert17 | yes | ||
MasterDuke | you don't need GC_DEBUG to get that though | ||
jnthn | $ perl6 --profile -e 'my $a; for ^100_000 { $a = rand ~~ /<$_>/; } | 16:56 | |
' | |||
MoarVM panic: Adding pointer 0x1aeaba8 to past fromspace to GC worklist | |||
That's with GC debug on and small nursery | |||
MasterDuke | i get lots of "Internal error: zeroed target thread ID in work pass" | ||
with everything stock, but jit disabled | |||
jnthn | (gdb) where | 16:58 | |
#0 MVM_panic (exitCode=1, messageFormat=0x7ffff79e3e68 "Adding pointer %p to past fromspace to GC worklist") at src/core/exceptions.c:832 | |||
#1 0x00007ffff75b2ef4 in mark_call_graph_node (tc=0x603cc0, node=0x65ef5c0, nodelist=0x7fffffffba90, worklist=0x65a4150) at src/profiler/instrument.c:830 | |||
That's `MVM_gc_worklist_add(tc, worklist, &(node->alloc[i].type));` | |||
Curiously, the thing that sets it actually does MVM_ASSERT_NOT_FROMSPACE(tc, what); | 17:02 | ||
Where `what` is what it installs | |||
MasterDuke | without actually knowing what that does...it still sounds wrong | 17:03 | |
jnthn | Well, it checks that the pointer isn't outdated at the point we stick it into the data structure | ||
And then we walk the profile data structure every time that we do a GC | 17:04 | ||
So I'm not quite seeing where we'd end up with the bogus pointer | |||
MasterDuke | so it gets outdated after the MVM_ASSERT call? | ||
jnthn | Presumably, yes. But we run the code to walk the nodes every GC | ||
So, maybe there's a bug in that walk code? | |||
MasterDuke | this is a (sort of) new one: `MoarVM panic: Heap corruption detected: pointer 0xdcb3370 to past fromspace` | 17:05 | |
this sounds like a job for supernine | 17:06 | ||
jnthn | Well, add_node is complex enough that it could have a bug lurking | 17:08 | |
It's being clever, but is it being too clever? :) | 17:09 | ||
(I'm too tired to figure it out right now, but I'd take a close look at it.) | |||
MasterDuke | thanks for the help so far, maybe timotimo or nine can make progress if they get to it before you | 17:11 | |
btw, i just noticed add_node does a *= 2 when it reallocs. wasn't there someone recently commenting (i don't remember where) that that's a bad value? | 17:15 | ||
Kaiepi | jnthn can github.com/MoarVM/MoarVM/pull/1166 be merged on monday? brrt reviewed it | ||
jnthn | Kaiepi: Will try and take a look over the weekend; I've a couple of PRs I want to look through | 17:21 | |
Kaiepi | ok | 17:22 | |
there was one minor change i wanted to make to it after merging but ig i could do it now if i have the time | 17:24 | ||
jnthn goes for dinner | |||
17:26
patrickb joined
|
|||
patrickb | May I ask for a pair of eyes on github.com/MoarVM/MoarVM/pull/1182 ? I'd like to have that merged before the next release, as I see it as a prerequisite for a binary release on Windows. | 17:27 | |
have to leave again... | 17:28 | ||
17:28
patrickb left
17:44
robertle joined
|
|||
nine | I think I'm going to turn the whole SpeshPluginState into an MVMCollectable, not just the guard set. | 18:17 | |
18:38
MasterDuke left
18:50
MasterDuke joined
|
|||
nine | Ooook....compiler's happy | 18:55 | |
18:55
zakharyas joined
|
|||
dogbert17 | nine: might this work? gist.github.com/dogbert17/4180fe5c...a73c091df0 | 18:56 | |
nine | dogbert17: it's what I'd do | ||
MasterDuke | nine: what error are you fixing? | 18:58 | |
dogbert17 | the, previously, affected test has been running for over an hour without crashing. Before it crashed within a minute or so (using a 32k nursery) | ||
nine | MasterDuke: the multi threaded GC spesh plugin issue my commit from yesterday was about where timotimo++ immediately spotted an additional problem | 19:00 | |
MasterDuke | nice | ||
19:08
MasterDuke left
|
|||
dogbert17 | nine: does this commit message make sense or is it total nonsense? | 19:21 | |
github.com/MoarVM/MoarVM/compare/m...s?expand=1 | |||
nine | dogbert17: makes sense | 19:23 | |
dogbert17 | cool, PR coming up soonish | 19:24 | |
Geth_ | MoarVM: dogbert17++ created pull request #1183: Fix possible SEGV in async_spawn_on_exit |
19:26 | |
dogbert17 | had to complete a spectest run, which was clean btw | ||
.seen timotimo | 19:27 | ||
tellable6 | dogbert17, I saw timotimo 2019-09-27T12:27:59Z in #perl6: <timotimo> ah, yes, indeed | ||
Geth_ | MoarVM: 5dfed00877 | (Jan-Olof Hendig)++ | src/io/procops.c Fix possible SEGV in async_spawn_on_exit If a GC is triggered by the call to close_stdin, which can allocate, the os_handle pointer will no longer point to to the mutex being used a few lines above, leading to a SEGV. Fixed by saving the pointer to the mutex in a local variable. This is ok since the mutex itself will not move. |
19:31 | |
MoarVM: 1546c8c4d4 | niner++ (committed using GitHub Web editor) | src/io/procops.c Merge pull request #1183 from dogbert17/fix-segv-in-procops Fix possible SEGV in async_spawn_on_exit |
|||
nine | dogbert17: feels good, doesn't it? :) | 19:32 | |
dogbert17 | nine: indeed :) but now we're almost out of gc related bugs | 19:33 | |
nine | Well...the profiler seems to harbor some still: github.com/MoarVM/MoarVM/issues/1023 | 19:34 | |
dogbert17 | however, MasterDuke managed to golf one an hour or so ago | ||
backlog a little bit until you se the discussion with jnthn | |||
*see | |||
19:41
zakharyas left
20:07
sena_kun left
20:08
sena_kun joined
20:15
sena_kun left
|
|||
Kaiepi | what should i name a list of addresses returned by getaddrinfo and the current address being used? atm they're called dest and record, but that doesn't make it obvious that they're related at first glance | 20:36 | |
would records and cur_record work? | 20:37 | ||
moritz | what is the "current address"? | 21:06 | |
Kaiepi | the next address to connect or bind with | 21:08 | |
or write with for udp sockets | 21:09 | ||
moritz | so, like a linked list? | ||
Kaiepi | yes | 21:12 | |
moritz | then your suggested names sound good | 21:14 | |
Kaiepi | aight | 21:20 | |
22:12
ggoebel left
22:38
lucasb left
23:06
ggoebel joined
23:35
ggoebel left
|