Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-09-07

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:41 BenGoldberg m: use MONKEY; my $m = 'foo'; my $p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say $p[42];
00:41 camelia rakudo-moar e7a588: OUTPUT: «Could not instantiate role '<anon|71855152>':␤Too few positionals passed; expected 2 arguments but got 1␤  in any protect at gen/moar/stage2/NQPCORE.setting line 1033␤  in block <unit> at <tmp> line 1␤␤»
00:41 BenGoldberg Why is the error comming from the setting?
00:46 travis-ci joined #perl6-dev
00:46 travis-ci Rakudo build passed. Zoffix Znet 'Fix inability of `make`ing type objects
00:46 travis-ci https://travis-ci.org/rakudo/rakudo/builds/272465957 https://github.com/rakudo/rakudo/compare/35916427b6a4...d0d105b8b620
00:46 travis-ci left #perl6-dev
01:14 lizmat joined #perl6-dev
01:55 ilbot3 joined #perl6-dev
01:55 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:20 ugexe i did what jnthn said to do and it appears to fix the issue
03:00 BenGoldberg m: use MONKEY; my $m = 'foo'; my $p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say $p;
03:00 camelia rakudo-moar e7a588: OUTPUT: «(<anon|63922400>)␤»
03:00 BenGoldberg m: use MONKEY; my $m = 'foo'; my $p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say $p.^paramaterize: 42;
03:00 camelia rakudo-moar e7a588: OUTPUT: «No such method 'paramaterize' for invocant of type 'Perl6::Metamodel::ParametricRoleHOW'. Did you mean 'parameterize'?␤  in block <unit> at <tmp> line 1␤␤»
03:00 BenGoldberg m: use MONKEY; my $m = 'foo'; my $p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say $p.^parameterize: 42;
03:00 camelia rakudo-moar e7a588: OUTPUT: «(<anon|68890224>[Int])␤»
03:00 BenGoldberg Oooh.
03:01 BenGoldberg m: use MONKEY; my $m = 'foo'; my \p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say p[42];
03:01 camelia rakudo-moar e7a588: OUTPUT: «Could not instantiate role '<anon|80811840>':␤Too few positionals passed; expected 2 arguments but got 1␤  in any protect at gen/moar/stage2/NQPCORE.setting line 1033␤  in block <unit> at <tmp> line 1␤␤»
03:01 BenGoldberg m: use MONKEY; my $m = 'foo'; constant p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say p[42];
03:01 camelia rakudo-moar e7a588: OUTPUT: «Use of uninitialized value $m of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤(<anon|82951936>[Int])␤  in block  at <tmp> line 1␤»
03:01 BenGoldberg m: use MONKEY; constant p = do { my $m = 'foo'; EVAL qq!role :: [\$value] \{ method $m \{ \$value } }! }; say p[42];
03:01 camelia rakudo-moar e7a588: OUTPUT: «(<anon|64249616>[Int])␤»
03:04 BenGoldberg m: use MONKEY; my $m = 'foo'; my $p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say $p.^paramaterize(42).foo;
03:04 camelia rakudo-moar e7a588: OUTPUT: «No such method 'paramaterize' for invocant of type 'Perl6::Metamodel::ParametricRoleHOW'. Did you mean 'parameterize'?␤  in block <unit> at <tmp> line 1␤␤»
03:04 BenGoldberg m: use MONKEY; my $m = 'foo'; my $p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say $p.^parameterize(42).foo;
03:04 camelia rakudo-moar e7a588: OUTPUT: «42␤»
03:05 BenGoldberg m: use MONKEY; my $m = 'foo'; my $p = EVAL qq!role :: [\$value] \{ method $m \{ \$value } }!; say $p[42].foo;
03:05 camelia rakudo-moar e7a588: OUTPUT: «Could not instantiate role '<anon|67928256>':␤Too few positionals passed; expected 2 arguments but got 1␤  in any protect at gen/moar/stage2/NQPCORE.setting line 1033␤  in block <unit> at <tmp> line 1␤␤»
03:21 travis-ci joined #perl6-dev
03:21 travis-ci Rakudo build passed. Jonathan Worthington 'Fix thread safety of "foo{$x}bar"
03:21 travis-ci https://travis-ci.org/rakudo/rakudo/builds/272466720 https://github.com/rakudo/rakudo/compare/d0d105b8b620...59454b03cc3e
03:21 travis-ci left #perl6-dev
03:54 llfourn joined #perl6-dev
04:18 cog_ joined #perl6-dev
04:19 lizmat_ joined #perl6-dev
04:21 samcv joined #perl6-dev
04:24 nativecallable6 joined #perl6-dev
04:24 greppable6 joined #perl6-dev
04:24 releasable6 joined #perl6-dev
04:24 bisectable6 joined #perl6-dev
04:28 llfourn joined #perl6-dev
04:41 ilmari[m] joined #perl6-dev
04:48 Geth ¦ rakudo: ashgti++ created pull request #1152: Correcting IO::Notification.watch-path event paths for individual files
04:48 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1152
04:49 Geth ¦ roast: ashgti++ created pull request #308: Adding new tests around watching files
04:49 Geth ¦ roast: review: https://github.com/perl6/roast/pull/308
06:26 [Tux] This is Rakudo version 2017.08-87-ge7a588060 built on MoarVM version 2017.08.1-128-gde6dceda
06:26 [Tux] csv-ip5xs        1.317 -  1.341
06:26 [Tux] test             9.828 -  9.899
06:26 [Tux] test-t           3.543 -  3.838
06:26 [Tux] csv-parser      10.885 - 11.422
06:42 masak speaking of 007 being a canary for Rakduo... I have t/features/expr.t from the 007 project segfaulting very reliably on latest Rakudo
06:43 masak does someone want to help me confirm this?
06:43 masak under `prove`, it segfaults after 1 test. with just `perl6`, it segfaults after 6 out on my branch, and 7 on master.
06:43 masak I suspect it might be GC-related.
06:47 masak is there a way (environment variable or something) to run without the GC? I forget.
06:52 samcv releasable6, status
06:52 releasable6 samcv, Next release in 9 days and ≈12 hours. 1 blocker. Changelog for this release was not started yet
06:52 releasable6 samcv, Details: https://gist.github.com/da2c95341bafcb52fb24161f9d21384d
07:11 travis-ci joined #perl6-dev
07:11 travis-ci Rakudo build errored. Jonathan Worthington 'Make temp and let on a Failure throw it
07:11 travis-ci https://travis-ci.org/rakudo/rakudo/builds/272477158 https://github.com/rakudo/rakudo/compare/cbce672126a9...80a3255b2d87
07:11 travis-ci left #perl6-dev
07:11 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
07:34 travis-ci joined #perl6-dev
07:34 travis-ci Rakudo build passed. Zoffix Znet 'Bump NQP to bring heap analyzer API changes'
07:34 travis-ci https://travis-ci.org/rakudo/rakudo/builds/272491985 https://github.com/rakudo/rakudo/compare/80a3255b2d87...bfee5a1ed537
07:34 travis-ci left #perl6-dev
07:47 geekosaur joined #perl6-dev
07:53 pmurias joined #perl6-dev
07:53 pmurias joined #perl6-dev
07:54 pmurias samcv: is it intended that unipropcode works for both property names and property values?
07:55 pmurias nqp-m: say(nqp::unipropcode('whitespace')); say(nqp::unipropcode('White_Space'))
07:55 camelia nqp-moarvm: OUTPUT: «103␤17␤»
08:13 lizmat_ Files=1223, Tests=67403, 291 wallclock secs (11.10 usr  4.59 sys + 1976.30 cusr 206.87 csys = 2198.86 CPU)
08:22 Geth ¦ rakudo/nom: 2362dfd6f6 | (John Harrison)++ | src/core/IO/Notification.pm
08:22 Geth ¦ rakudo/nom: Correcting IO::Notification.watch-path event paths for individual files
08:22 Geth ¦ rakudo/nom:
08:22 Geth ¦ rakudo/nom: Handle watching individual files for file system events. The
08:22 Geth ¦ rakudo/nom: IO::Notification::Change.path should correctly point to the file path of the file.
08:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2362dfd6f6
08:22 Geth ¦ rakudo/nom: d5a5fb7cbf | lizmat++ (committed using GitHub Web editor) | src/core/IO/Notification.pm
08:22 Geth ¦ rakudo/nom: Merge pull request #1152 from ashgti/nom
08:22 Geth ¦ rakudo/nom:
08:22 Geth ¦ rakudo/nom: Correcting IO::Notification.watch-path event paths for individual files
08:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d5a5fb7cbf
08:22 Geth ¦ roast: 25c27f065c | (John Harrison)++ | S17-supply/watch-path.t
08:22 Geth ¦ roast: Adding new tests around watching files
08:22 Geth ¦ roast:
08:22 Geth ¦ roast: Test to cover RT #132043
08:22 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132043
08:22 Geth ¦ roast: review: https://github.com/perl6/roast/commit/25c27f065c
08:23 Geth ¦ roast: 105250627d | lizmat++ (committed using GitHub Web editor) | S17-supply/watch-path.t
08:23 Geth ¦ roast: Merge pull request #308 from ashgti/master
08:23 Geth ¦ roast:
08:23 Geth ¦ roast: Adding new tests around watching files
08:23 Geth ¦ roast: review: https://github.com/perl6/roast/commit/105250627d
08:24 robertle joined #perl6-dev
08:51 cognominal joined #perl6-dev
08:58 Geth ¦ rakudo/nom: 3c9cfdba88 | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm
08:58 Geth ¦ rakudo/nom: Make sure that open files are properly closed on exit
08:58 Geth ¦ rakudo/nom:
08:58 Geth ¦ rakudo/nom: - since buffering is now default, we need to flush on exit
08:58 Geth ¦ rakudo/nom: - achieved by keeping a list of PIO's indexed to their fileno
08:58 Geth ¦ rakudo/nom: - when a file is closed, its entry is nulled in the list
08:58 Geth ¦ rakudo/nom: - when an attempt is made to lock the file, its entry is nulled
08:58 Geth ¦ rakudo/nom:   - if the lock fails, entry is reinstated
08:58 Geth ¦ rakudo/nom:   - if the lock succeeds, entry remains nulled until unlock is done
08:58 Geth ¦ rakudo/nom: - on exit, all non-null entries in list are closed
08:58 Geth ¦ rakudo/nom: - initial size of open files is 0, incremented in batches of 1024 as needed
08:58 Geth ¦ rakudo/nom: - resizing of list is secured by a lock, so that only 1 thread will do this
08:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c9cfdba88
08:58 [TuxCM] joined #perl6-dev
09:03 jnthn lizmat: That still isn't quite threadsafe though; something doing a read while another thread is doing a resize isn't safe
09:04 lizmat ?
09:04 yoleaux 6 Sep 2017 22:55Z <Zoffix> lizmat: did a bit of debugging of the lock hanging issue. Golfed version is start `./perl6 -e '"foo".IO.open(:w).lock; sleep'` in one terminal. In another terminal in same dir run `./perl6 -e 'start { "foo".IO.open(:w).lock }; sleep 1'` and the second one'll never quit after 1 second, despite the lock running in a separate Promise. Hope that helps :)
09:04 yoleaux 6 Sep 2017 22:57Z <Zoffix> lizmat: jnthn++ figured out the cause: https://irclog.perlgeek.de/moarvm/2017-09-06#i_15127594
09:04 lizmat this is only about opening / closing / locking...  not about reading writing ?
09:04 nine lizmat: auto-closing those handles is very DWIM, so that's certainly good in some cases (like small scripts or one liners). However, I wonder if we should warn, if we find lots of open file handles.
09:04 lizmat ah, you mean reading the list
09:05 lizmat jnthn: Ah,. I see what you mean
09:05 lizmat hmmm... ok
09:05 jnthn I'm just talking about the array
09:05 lizmat yeah, but that would mean checking the lock for each open()
09:06 jnthn Yes! Just do it!
09:06 lizmat ok
09:06 jnthn In the grand scheme of things it's a drop in the ocean.
09:07 nine How about making it have an initial size of 1024 and only resize if fileno is > 1024? That way we'd also only have to check if fileno is > 1024. Which will almost never happen.
09:08 lizmat nine: feels like a plan
09:09 jnthn With locks (the mutex kind), always go with the simplest possible approach until it's proven a bottleneck.
09:09 lizmat jnthn: but this also implies that *any* changes to the list would need a lock protect, not just the adding  :-(
09:09 jnthn lizmat: That's fine, just factor those add/remove out to a sub so we only lock in two places in the code
09:09 jnthn Then it's neat
09:09 lizmat oki
09:10 jnthn The subs'll be small enough to inline is opening files is actually hot path
09:10 jnthn *if
09:10 lizmat jnthn: we're guaranteed that only 1 thread will run END blocks, I hope ?
09:11 jnthn Only if something makes sure of it. ;-)
09:11 jnthn Last I checked it just called a dynamic var
09:12 lizmat ok, something else to double check then
09:12 jnthn m: END { say "oops"; sleep 1; } start { exit } xx 4
09:12 camelia rakudo-moar 3c9cfd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3END { say "oops"; sleep 1; }7⏏5 start { exit } xx 4␤    expecting any of:␤        infix␤        infix stopper␤  …»
09:12 jnthn m: END { say "oops"; sleep 1; }; start { exit } xx 4
09:12 camelia rakudo-moar 3c9cfd: OUTPUT: «oops␤oops␤»
09:12 jnthn oops ;)
09:12 lizmat yuck
09:14 jnthn m: (0xa, 0x12, 0xc, 0x22).fmt('%2x', ' ').say
09:14 camelia rakudo-moar 3c9cfd: OUTPUT: « a 12  c 22␤»
09:14 * jnthn wonders if there's a way to zero-pad
09:14 jnthn m: (0xa, 0x12, 0xc, 0x22).fmt('%02x', ' ').say
09:14 camelia rakudo-moar 3c9cfd: OUTPUT: «0a 12 0c 22␤»
09:15 jnthn lol, total guess :)
09:22 pmurias jnthn: I'm investigating the unicode property values being used as unicode name. Is this something we fundamentally want to keep or is it just done that way because changing it casues test failures and is extra work to fix them?
09:23 jnthn pmurias: I'd ask samcv, but I believe it's a historical accident
09:23 samcv i don't get the question pmurias
09:24 samcv example?
09:24 * pmurias cooks up an example...
09:25 pmurias nqp-m: say(nqp::unipropcode('Above_Left'))
09:25 camelia nqp-moarvm: OUTPUT: «11␤»
09:25 pmurias nqp-m: say(nqp::unipropcode('Combining_Class'))
09:25 camelia nqp-moarvm: OUTPUT: «0␤»
09:25 samcv ah
09:25 samcv ok
09:25 pmurias nqp-m: say(nqp::unipropcode('Line_Break'))
09:25 camelia nqp-moarvm: OUTPUT: «15␤»
09:26 samcv so you should only really care about Script (values) and Property names
09:27 samcv the other property values i wouldn't worry about. and let me know if we have any tests which use values which aren't the script like <:Above_Left> in a regex or something
09:27 samcv i take it you're thinking about implementing nqp::unipropcode?
09:28 pmurias yep
09:30 pmurias I'll try to sanitize the nqp::unipropcode semantics on MoarVM first
09:36 timotimo unicode 11 is getting a peacock emoji? maybe that'd be a nice name for a distribution
09:36 timotimo Rakudo Peacock
09:37 timotimo and apparently a pile of poo with a sad/angry face?
10:07 Geth ¦ rakudo/nom: 9785356413 | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm
10:07 Geth ¦ rakudo/nom: Make sure all actions on open list are locked
10:07 Geth ¦ rakudo/nom:
10:07 Geth ¦ rakudo/nom: As discussed: https://irclog.perlgeek.de/perl6-dev/2017-09-07#i_15129408
10:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9785356413
10:11 llfourn joined #perl6-dev
10:12 [TuxCM] joined #perl6-dev
10:45 ggoebel joined #perl6-dev
11:04 Geth ¦ nqp/master: 5 commits pushed by pmurias++
11:04 Geth ¦ nqp/master: 8eac8eb13b | [js] Check argument count before doing any unpacking and type checking
11:04 Geth ¦ nqp/master: 9a9b659f02 | [js] Implement nqp::codes
11:04 Geth ¦ nqp/master: de18e88970 | [jvm] Check that we have at least JVM 1.8
11:04 Geth ¦ nqp/master: 8d8bb5d3bc | [jvm] Implement nqp::codes
11:04 Geth ¦ nqp/master: 6bfc313019 | Test nqp::codes
11:04 Geth ¦ nqp/master: review: https://github.com/perl6/nqp/compare/79e6453b98...6bfc313019
11:28 Skarsnik joined #perl6-dev
11:36 [TuxCM] joined #perl6-dev
11:46 travis-ci joined #perl6-dev
11:46 travis-ci Rakudo build failed. lizmat 'Merge pull request #1152 from ashgti/nom
11:46 travis-ci https://travis-ci.org/rakudo/rakudo/builds/272802444 https://github.com/rakudo/rakudo/compare/e7a588060907...d5a5fb7cbfcf
11:46 travis-ci left #perl6-dev
11:46 buggable [travis build above] ✓ All failures are due to timeout (0), missing build log (0), GitHub connectivity (1), or failed make test (0).
11:52 lizmat m: END { say "oops"; sleep 1; } start { exit } xx 4  # jnthn: this also poses the question: should an exit() from a non initial thread actually exit?
11:52 camelia rakudo-moar 978535: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3END { say "oops"; sleep 1; }7⏏5 start { exit } xx 4  # jnthn: this also␤    expecting any of:␤        infix␤      …»
11:53 lizmat jnthn: or should it throw an exception like "thread exited with value x" ?
11:53 timotimo i'd say it should
11:53 lizmat timotimo: why ?
11:53 timotimo exit is about program exit, for threads there's join instead
11:54 timotimo but join requires communication i think
11:54 lizmat ok, so I use a module in a thread, and it does an exit (because it is a stupid module)
11:54 lizmat do we allow it to take down the whole process?
11:55 lizmat or do we handle it as a special kind of die() ?
12:08 nine lizmat: exit is exit
12:08 lizmat ok ok :-)
12:08 nine The exit in the thread may also be very useful. There's no way for us to determine that up front
12:09 lizmat ok, anyways, I just realized this could be a module space option
12:09 pmurias the jvm backend seems to be down :/
12:10 * lizmat hasn't been able to build the JVM backend for a few months :-(
12:18 jnthn Should actually exit
12:21 ilmari for reference, glibc exit() calls exit_group(), which terminates all threads
12:22 ilmari POSIX doesn't say anything about threads in the exit() manual page
12:22 [Coke] I had difficulty a few days ago in an old checkout, but ISTR I did eventually end up with a working rakudo-j
12:22 [Coke] (old checkout that I updated)
12:25 pmurias lizmat: AFAIR the previous problem you had was that you had java 1.7 while rakudo-j depends on java 1.8
12:25 pmurias (I updated the check in nqp-j Configure.PL today)
12:31 cognominal joined #perl6-dev
12:45 geekosaur joined #perl6-dev
12:54 Geth_ ¦ star: f1ab57cfd1 | (Steve Mynott)++ | README
12:54 Geth_ ¦ star: doc that JDK 8 is needed
12:54 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/f1ab57cfd1
12:58 lizmat jnthn: ok, so I have a patch that will run  END blocks only in 1 thread
12:58 lizmat *but* it only works if my code actually ends in "exit"
12:58 lizmat END { say "oops in $*THREAD.id()" }; start { exit } xx 4;   # not ok
12:59 lizmat END { say "oops in $*THREAD.id()" }; start { exit } xx 4; exit   # ok
12:59 lizmat so it looks like the END blocks are being called somewhere else on normal program exit
12:59 timotimo aye, the HLL::Backend or HLL::Compiler probably handles this
13:01 pmurias what is unimatch intended to do? S15 claims that it should check if the character is in the specified category
13:02 lizmat the only references I can find for @END_PHASERS are in run_profiled  ??
13:06 timotimo lizmat: it's in rakudo's src/main.nqp
13:07 lizmat aaaaahhhh  :-)
13:10 lizmat ok, /me needs to think about that a bit and goes off to get another perspective
13:24 masak I have good news about the bug I've been golfing.
13:24 masak I caught it.
13:24 masak m: my $n = " ".indent(0); $n.indent(1) && .say for ^Inf
13:24 camelia rakudo-moar 978535: OUTPUT: «(signal SEGV)0␤»
13:24 masak I guess... I guess that's the bad news :P
13:25 Geth ¦ nqp/master: 4 commits pushed by pmurias++
13:25 Geth ¦ nqp/master: 32625312fd | [js] Update hack
13:25 Geth ¦ nqp/master: 99d7ae55a6 | [js] Add nqp::const::SIG_*
13:25 Geth ¦ nqp/master: 4a78633a7a | [js] Fix typo
13:25 Geth ¦ nqp/master: a6b7c9c516 | [js] nqp::can works on stdout
13:25 Geth ¦ nqp/master: review: https://github.com/perl6/nqp/compare/6bfc313019...a6b7c9c516
13:25 masak it showed up in a recent Rakudo. I haven't bisected Rakudo yet -- will do that now. it's currently making the 007 test suite fail.
13:26 timotimo isn't susceptible without spesh
13:27 timotimo hm, does it blow the stack, i wonder
13:28 jnthn ==8303== Thread 2:
13:28 jnthn ==8303== Invalid read of size 8
13:28 jnthn ==8303==    at 0x50894B6: merge_graph (inline.c:595)
13:28 jnthn ==8303==    by 0x50894B6: MVM_spesh_inline (inline.c:936)
13:28 * masak bisects
13:28 timotimo we're merging a subgraph to inline some code, but the handler_goto_ins table has a null pointer in slot 0
13:29 masak you people are my favorites
13:29 timotimo the last output is "Can inline infix:<~> (4245) into  (4188)"
13:29 masak famous last words
13:29 masak :P
13:30 timotimo looks like that's the block inside the map in the "indent" method
13:31 jnthn hm, odd
13:31 jnthn Wonder how that happens
13:33 timotimo the infix:<~> that it talks about here doesn't have any handlers
13:33 jnthn It's the inliner rather than the inlinee having handlers that'd matter here
13:33 timotimo OK
13:34 timotimo man, this sub ends up with a crapton of empty BBs
13:34 timotimo we may want to put a pass in that takes care of those, if only to make the logs more readable
13:35 jnthn Yeah, it's a bit "look how much code I killed!" :)
13:36 timotimo didn't the "Annotation: Fh Goto" once also say what block it'd go to? i mean, i can see the successor being 96 here, but still
13:36 jnthn Is there a matching FH GOTO?
13:36 timotimo [Annotation: FH Goto (4)]
13:36 timotimo [Annotation: FH End (4)]
13:36 timotimo these?
13:37 jnthn Yeah, is there an FH Goto for every FH Start?
13:37 jnthn 'cus if there isn't, that cause the problem
13:37 timotimo 0, 1, 2, 3, and 4 have a goto
13:38 timotimo and a start
13:38 timotimo and an end, too
13:38 jnthn Yeah, we'd be looking for a mismatched one I guess
13:38 timotimo this is only the Before, though
13:38 timotimo allow me to kick off the magic that is the "trace spesh actions" script :)
13:39 * masak is still bisecting, with very limited success
13:40 jnthn https://gist.github.com/jnthn/323906079c443ad0e4be04309cd36ea5 seems to help
13:41 * timotimo didn't know about unreachable handlers yet
13:42 jnthn They're ones that get killed off when BBs become dead
13:42 timotimo mhm
13:42 timotimo yeah, we probably shouldn't try to handle these
13:43 jnthn Yeah, though I'd have kinda expected their annotations to converge on each other and "zero out"
13:43 jnthn ohh
13:43 jnthn And maybe they do
13:43 timotimo we don't handle a start *and* end on the same instruction?
13:43 jnthn But since we else if...
13:43 jnthn Right
13:44 timotimo 20 minutes from evalbot to fix, not bad.
13:44 timotimo a bug related to inlining, no less
13:45 jnthn Trying the simpler patch of just tossing the else
13:46 skids joined #perl6-dev
13:46 lizmat Q: how do I find Rakudo::Internals from within main.nqp ?
13:47 timotimo i don't think it's possible without having a "register the internals as an hll symbol or similar" trick
13:47 timotimo if you only need it after the program has ended, that's good news :)
13:47 lizmat yeah, I only need it then
13:49 jnthn Nope, curiously making it handle them converging on the same instruction doesn't do it
13:49 lizmat the alternative being that I simply make R:I.THE_END a global sub
13:50 jnthn Guess I'll go with the original fix, which works
13:51 lizmat brb
13:54 travis-ci joined #perl6-dev
13:54 travis-ci NQP build failed. pmurias '[js] nqp::can works on stdout'
13:54 travis-ci https://travis-ci.org/perl6/nqp/builds/272896135 https://github.com/perl6/nqp/compare/6bfc313019fd...a6b7c9c5166a
13:54 travis-ci left #perl6-dev
14:13 jnthn masak: fix in as https://github.com/MoarVM/MoarVM/commit/e86428d45e; don't suppose you'd be able to add a test, or RT it to make sure we get one?
14:15 masak I really wish I could RT this one, but I'm in .cn without a VPN :/
14:16 masak someone else is very welcome to
14:16 masak it's going a bit better with the bisecting now. will report if I find something
14:17 masak jnthn++ # fix
14:18 masak looking forward to it landing in Rakudo so that Travis starts flagging my branch as green again :D
14:18 masak also, I truly enjoyed the golf
14:18 timotimo .o( Masak A Largo )
14:24 * masak .oO( make Rakudo not segfault again )
14:25 jnthn .oO( nobody makes better spesh bugs than me! )
14:25 timotimo .o( tremendous crashes. i can't even hold these crashes in my big hands! )
14:27 * masak .oO( who knew writing a specializer was hard? nobody. )
14:49 masak ok, the bisect flagged up cbce672126a9c1dd2497c121c3c7c767e75f0dad is the first bad commit
14:49 masak someone who submits an RT ticket might want to include that :)
14:49 masak &
15:44 ugexe is the proper way to MVMROOT multiple pointers to nest MVMROOT blocks?
15:45 timotimo we don't seem to have support for one mvmroot block with multiple vars
15:45 ugexe looks like yes, and to not intent the levels
15:45 timotimo don't forget that you can also use the explicit functions for temp root pushing and popping
15:45 timotimo if it makes the code nicer to read
15:46 ugexe what can i grep for? i dont know what those are :)
15:47 timotimo gc_root_temp
15:47 jnthn Just use MVMROOT and don't indend when there's multiple
16:00 ugexe i wonder if 5 MVMROOT levels will be the new record
16:09 skids joined #perl6-dev
16:25 [TuxCM] joined #perl6-dev
16:34 dogbert2 joined #perl6-dev
16:37 robertle joined #perl6-dev
16:44 [Coke] masak: were you doing the bisect by hand and not with the bot?
18:42 lizmat .tell Zoffix I feel that tests 3/4 of S24-testing/8-die_on_fail.t are bogus
18:42 yoleaux lizmat: I'll pass your message to Zoffix.
18:43 lizmat in test 4, I think the second ok should be 1, and :0status, if the goal is to check non-firing of failing todo'd tests
18:43 lizmat oops,test 3 I mean
18:43 lizmat in test 4, it should be :255status, because the DIE_ON_FAIL fires
18:44 lizmat please note that currently, core returns the wrong exit codes, so maybe that's the source of confusion
19:11 bartolin joined #perl6-dev
19:15 bartolin good evening, #perl6-dev
19:15 bartolin long time no see
19:15 Geth ¦ rakudo/nom: 1adacc72cb | (Elizabeth Mattijsen)++ | 3 files
19:15 Geth ¦ rakudo/nom: Streamline exit / END phaser handling
19:15 Geth ¦ rakudo/nom:
19:15 Geth ¦ rakudo/nom: - falling off the end of a program / exit now share END phaser handling
19:15 Geth ¦ rakudo/nom: - the first value given to exit() is what will be returned to the OS
19:15 Geth ¦ rakudo/nom:   - END blocks can also execute exit(), so we could nest
19:15 Geth ¦ rakudo/nom: - only *one* thread will execute the END phasers on first come/served basis
19:15 Geth ¦ rakudo/nom:   - before, multiple threads could be doing this
19:15 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1adacc72cb
19:20 timotimo heyo bartolin
19:20 timotimo how are you doing?
19:22 bartolin hi timotimo. thanks, i'm fine. I took a bit of a break from perl6 over the last months, but I'm eager to join the fun again
19:22 * bartolin will try to read the logs of #perl6-dev to see what happened
19:24 timotimo glad to see you return :) have you kept up or caught up with the weeklies yet?
19:25 bartolin no, not yet. I've read the last two, but the older ones are on my list :-)
19:33 AlexDaniel joined #perl6-dev
19:35 perlpilot lizmat++ (for the weeklies)
19:35 perlpilot lizmat++ (for that END/exit change)
19:35 coverable6 joined #perl6-dev
19:37 bloatable6 joined #perl6-dev
19:40 bartolin I've looked at the failing build for the jvm backend yesterday and I think, I've found the issues
19:40 bartolin the one I don't understand is a NullPointerException here: https://github.com/rakudo/rakudo/blob/1adacc72cb7b123b716e89f6eb2c9fecc615a756/src/Perl6/Grammar.nqp#L256 (introduced with ed4f6cc998)
19:41 AlexDaniel bartolin++
19:42 bartolin the other two are ops that are not known on the jvm backend: $!signals-setup-lock.protect (1f411693bd6) and nqp::eqatim/nqp::indexic (215a5fa731)
19:43 bartolin the latter two could be worked around with some '#?if moar ... #?endif' conditions
19:44 bartolin r: use nqp; my $stopper = nqp::null; ; $stopper := $stopper ~~ /foo/; dd $stopper  # this also gives a NPE on jvm
19:44 camelia rakudo-jvm 8a2158: OUTPUT: «java.nio.file.NoSuchFileException: /nqp/lib/Perl6/BOOTSTRAP.jar␤  in <anon> (gen/jvm/ModuleLoader.nqp:90)␤  in load_module (gen/jvm/ModuleLoader.nqp:77)␤  in <anon> (gen/jvm/CORE.setting)␤  in <anon> (gen/jvm/ModuleLoader.nqp:255)␤  in load_sett…»
19:44 camelia ..rakudo-moar 1adacc: OUTPUT: «Bool::False␤»
19:47 bartolin but now to reading the weeklies (and yes, a lot of ++ for lizmat++ for those)
20:16 Geth ¦ roast: f564faa728 | (Elizabeth Mattijsen)++ | S24-testing/8-die_on_fail.t
20:16 Geth ¦ roast: Fix two broken tests
20:16 Geth ¦ roast:
20:16 Geth ¦ roast: As described at: https://irclog.perlgeek.de/perl6-dev/2017-09-07#i_15132079
20:16 Geth ¦ roast: review: https://github.com/perl6/roast/commit/f564faa728
20:25 AlexDaniel releasable6: status
20:25 releasable6 AlexDaniel, Next release in 8 days and ≈22 hours. 1 blocker. Changelog for this release was not started yet
20:25 releasable6 AlexDaniel, Details: https://gist.github.com/99b6e51424ae9d74c212ee05c39899ee
20:29 Geth ¦ rakudo: book++ created pull request #1153: Fix typo: s/admissable/admissible
20:29 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1153
20:33 ugexe m: /buffer 5
20:33 camelia rakudo-moar 1adacc: OUTPUT: «5===SORRY!5===␤Regex not terminated.␤at <tmp>:1␤------> 3/buffer 57⏏5<EOL>␤Unable to parse regex; couldn't find final '/'␤at <tmp>:1␤------> 3/buffer 57⏏5<EOL>␤    expecting any of:␤        infix stopper␤Other potential …»
20:33 ugexe heh
20:43 skids joined #perl6-dev
20:46 geekosaur new entry format for the lottery?
20:48 Geth ¦ rakudo/nom: dfbd39b829 | (Philippe Bruhat (BooK))++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
20:48 Geth ¦ rakudo/nom: Fix typo: s/admissable/admissible
20:48 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dfbd39b829
20:48 Geth ¦ rakudo/nom: 456c43984e | lizmat++ (committed using GitHub Web editor) | src/Perl6/Metamodel/BOOTSTRAP.nqp
20:48 Geth ¦ rakudo/nom: Merge pull request #1153 from book/nom
20:48 Geth ¦ rakudo/nom:
20:48 Geth ¦ rakudo/nom: Fix typo: s/admissable/admissible
20:48 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/456c43984e
20:49 Geth ¦ rakudo/nom: 347da8e5b1 | (Elizabeth Mattijsen)++ | 2 files
20:49 Geth ¦ rakudo/nom: Don't use an END block to close all open files
20:49 Geth ¦ rakudo/nom:
20:49 Geth ¦ rakudo/nom: - END blocks can be added/removed at runtime, technically
20:49 Geth ¦ rakudo/nom: - turn END block into a private method close-all-open-handles
20:49 Geth ¦ rakudo/nom: - call this private method *after* having run all END blocks
20:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/347da8e5b1
20:51 lizmat and this concludes my hacking for today&
20:52 jnthn lizmat++
22:20 geekosaur joined #perl6-dev
22:24 Geth ¦ nqp: 8742805cb1 | (Samantha McVey)++ | 2 files
22:24 Geth ¦ nqp: Add more index* tests to test empty string paths
22:24 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/8742805cb1
22:24 Geth ¦ nqp: ad8355850e | (Samantha McVey)++ | 15 files
22:24 Geth ¦ nqp: Merge branch 'master' of github.com:perl6/nqp
22:24 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/ad8355850e
22:47 travis-ci joined #perl6-dev
22:47 travis-ci NQP build failed. Samantha McVey 'Merge branch 'master' of github.com:perl6/nqp'
22:47 travis-ci https://travis-ci.org/perl6/nqp/builds/273073699 https://github.com/perl6/nqp/compare/a6b7c9c5166a...ad8355850e0b
22:47 travis-ci left #perl6-dev
22:58 skids joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary