Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2016-11-30

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:43 vendethiel joined #moarvm
01:10 zakharyas joined #moarvm
02:20 geekosaur joined #moarvm
02:48 ilbot3 joined #moarvm
02:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:50 leego joined #moarvm
05:59 japhb joined #moarvm
06:25 japhb joined #moarvm
06:37 domidumont joined #moarvm
06:55 japhb joined #moarvm
06:55 domidumont joined #moarvm
07:03 domidumont joined #moarvm
07:21 japhb joined #moarvm
10:08 synopsebot6 joined #moarvm
10:18 zakharyas joined #moarvm
10:24 timotimo joined #moarvm
10:25 zostay joined #moarvm
11:05 geekosaur joined #moarvm
11:10 dalek MoarVM: c63d649 | jnthn++ | / (2 files):
11:10 dalek MoarVM: Add GC debug helper to "find" a pointer.
11:10 dalek MoarVM:
11:10 dalek MoarVM: Discovers which, if any, fromspace/tospace region or gen2 allocator
11:10 dalek MoarVM: page it exists within. Only compiled in if GC debugging is enabled.
11:10 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c63d64987c
11:28 dalek MoarVM: 3736562 | jnthn++ | src/gc/debug.h:
11:28 dalek MoarVM: Make ASSERT_NOT_FROMSPACE check all fromspaces.
11:28 dalek MoarVM:
11:28 dalek MoarVM: Not just that of the calling thread. Makes it able to catch quite a
11:28 dalek MoarVM: lot more issues in multi-threaded programs.
11:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/3736562a90
11:34 dalek MoarVM: 4be6b38 | jnthn++ | src/io/procops.c:
11:34 dalek MoarVM: Fix missing MVMROOT around an allocation.
11:34 dalek MoarVM:
11:34 dalek MoarVM: This is at least one of the causes of the occasional GC corruption
11:34 dalek MoarVM: issues that show up when using Proc::Async (most often with a zeroed
11:34 dalek MoarVM: owner error, though depending on timing invalid owner or SEGV could
11:34 dalek MoarVM: have happened too).
11:34 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4be6b384b8
11:55 jnthn lunch, but that seems to have made things a good bit better :)
12:15 zakharyas joined #moarvm
12:45 * jnthn back
12:50 dogbert17 joined #moarvm
12:50 dogbert17 jnthn: so what will you tackle next?
12:51 nwc10 dinner? :-)
12:51 dogbert17 :-)
12:51 nwc10 there is still one ASAN barfage in the spectests
12:51 dogbert17 uh oh
12:59 jnthn Well, I ran my used-to-explode-with-the-above code in a loop over lunch
12:59 jnthn In gdb
12:59 jnthn And it SEGVd in another way
13:01 jnthn The SEGV itself is due to our hashes not being completely memory safe yet if you cross-thread abuse them (a known issue)
13:02 jnthn But why was the code doing that in the first place? Seems I've found a buglet in the supply/react/whenever impl.
13:03 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; for ^4 { start { for ^100 { react { whenever $s { } } } } }
13:03 camelia rakudo-moar 843a6b: ( no output )
13:03 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; for ^4 { start { for ^1000 { react { whenever $s { } } } } }
13:03 camelia rakudo-moar 843a6b: ( no output )
13:03 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; for ^4 { start { for ^100000 { react { whenever $s { } } } } }
13:03 camelia rakudo-moar 843a6b: ( no output )
13:03 jnthn oh, 'doh
13:04 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^1000 { react { whenever $s { } } } } }
13:04 camelia rakudo-moar 843a6b: OUTPUT«(signal SEGV)»
13:06 jnthn That'll make a nice test case... :)
13:07 jnthn Much better than my 2000-ish line app, anyways
13:08 dogbert17 cool
13:08 nwc10 ASAN is pondering this
13:08 nwc10 1000 does not barf
13:08 nwc10 mmm.
13:09 nwc10 race doesn't race the same way. :-(
13:10 nwc10 Unhandled exception in code scheduled on thread 17
13:10 nwc10 Cannot resolve caller postfix:<++>(Mu); the following candidates
13:10 nwc10 match the type but require mutable arguments: (Mu:U $a is rw)
13:10 nwc10 ...
13:10 nwc10 for ^10000
13:14 viki joined #moarvm
13:16 jnthn I get that one too
13:16 jnthn Think I've also figured it out
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^100 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^100 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^100 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^100 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn grr, 100 doesn't seem to trip it
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^200 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^200 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^200 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^300 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:27 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^300 { react { whenever $s { } } } } }
13:27 camelia rakudo-moar 843a6b: ( no output )
13:28 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^300 { react { whenever $s { } } } } }
13:28 camelia rakudo-moar 843a6b: ( no output )
13:28 jnthn odd
13:28 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^500 { react { whenever $s { } } } } }
13:28 camelia rakudo-moar 843a6b: ( no output )
13:28 jnthn m: my $s = supply { whenever Supply.interval(0.001) { done } }; await do for ^4 { start { for ^500 { react { whenever $s { } } } } }
13:28 camelia rakudo-moar 843a6b: OUTPUT«(signal SEGV)»
13:28 jnthn 1000 is a bit of a long test
13:31 jnthn But yup, seems I've fixes for that and my other issue
13:32 babydrop joined #moarvm
13:45 jnthn Grr, and one regression in S17-supply/migrate.t it seems
13:51 jnthn Good test catches real regression. Whew. :)
13:51 nine test++
14:31 jnthn Really not having much luck getting my occasinally-explosive code from $dayjob to explode at all after fixing the last couple of things I golfed down from it
14:31 jnthn (This is a good thing.)
14:37 nine But but but....you saying that explosions aren't cool?
14:37 jnthn They are, just not inside of VMs :P
14:59 vendethiel joined #moarvm
15:44 jnthn Yup, ran 100s of times while I took some rest
15:44 jnthn Proably a thousand times easily
15:58 japhb jnthn: I see from above you had supply/whenever/react fixes ... did this work also fix the "short intervals get stuck" bug?  Or is that a different thing?
15:58 jnthn heh, see #perl6-dev
15:58 jnthn I just worked that one out :)
15:59 japhb Oh, *chuckle*  Guess it pays to read all the backlogs.  :-)
16:32 lizmat joined #moarvm
17:13 dogbert17 joined #moarvm
17:22 timotimo <3
17:33 dogbert17 o/ timotimo
18:26 domidumont joined #moarvm
19:38 ggoebel joined #moarvm
20:10 domidumont joined #moarvm
20:45 dalek MoarVM: 366b802 | rurban++ | src/strings/nfg.h:
20:45 dalek MoarVM: typo in nfg.h comment
20:45 dalek MoarVM:
20:45 dalek MoarVM: look => lock
20:45 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/366b802127
20:45 dalek MoarVM: 3171dbb | jnthn++ | src/strings/nfg.h:
20:45 dalek MoarVM: Merge pull request #445 from rurban/patch-1
20:45 dalek MoarVM:
20:45 dalek MoarVM: typo in nfg.h comment
20:45 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/3171dbbe2e
22:57 lizmat jnthn: a small HARNESS_TYPE=6 update: all of the crashes that we had before, are gone, BUT
22:57 lizmat we got a new set in return, all basically boiling down to:
22:57 lizmat ===(       0;43  155/403  9/15  84/128  47/55  0/?  0/?  0/?  1/5)===Unhandled exception in code scheduled on thread 17
22:57 lizmat No such method 'end-entries' for invocant of type 'Match'
22:58 lizmat No such method 'made' for invocant of type 'TAP::Runner::State'
22:59 lizmat aka, somehow an object appears to have changed type, or is somehow overwritten
23:00 timotimo right
23:07 lizmat afk again&
23:08 timotimo maybe the gc debug flag jnthn mentioned earlier could be turned on for some benefit
23:08 timotimo like earlier explosions
23:09 timotimo but it's probably not the right tool for this job
23:17 jnthn That one smells different
23:18 jnthn 6guts actually has guts again: https://6guts.wordpress.com/2016/12/01/taking-a-couple-of-steps-backwards-to-fix-a-gc-bug/
23:18 timotimo i've smelled this error message before, but never really found any fix for one kind of that
23:18 timotimo oh!!
23:18 timotimo <3
23:18 jnthn Well, they often boil down to insufficient closure cloning
23:18 jnthn And I already fixed a couple of those in the regex compilation
23:18 jnthn But it wouldn't surprise me if there's another one somewhere
23:18 timotimo right
23:18 jnthn We still have an RT on such matters
23:19 jnthn Anyway, 'tis late, and I'm still behind with sleep, so I'm off :)
23:19 jnthn 'night
23:19 timotimo gnite!
23:30 travis-ci joined #moarvm
23:30 travis-ci MoarVM build failed. Jonathan Worthington 'Make ASSERT_NOT_FROMSPACE check all fromspaces.
23:30 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/180054196 https://github.com/MoarVM/MoarVM/compare/c63d64987c0c...3736562a902c
23:30 travis-ci left #moarvm
23:57 babydrop .oO( ASSERT_ALIENS )
23:59 timotimo hahaha :D
23:59 timotimo i didn't even read it like that

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary