Zoffix | :S "Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' (from 'src/Perl6/Pod.nqp')" | 00:06 | |
gist.github.com/zoffixznet/d17c923...bf48222ad8 | |||
Oh. I see why. Ran it with `perl6` but it runs `./perl6-m` somewhere inside | 00:07 | ||
FWIW, I'm preparing release in this fork and will create a PR for merging on 18th: github.com/zoffixznet/rakudo/tree/...se-2016-06 | 01:46 | ||
And will use same branch name for nqp fork. It doesn't look like I need to "prepare" it in advance though :) | |||
Fixed. Thanks. | 01:49 | ||
MasterDuke | does anybody else see pretty regular "*** Error in `/home/dan/Source/perl6/install/bin/moar': double free or corruption (!prev): 0x00007f6b14fe4710 ***" when using Promise.allof? | 02:24 | |
timotimo | are you using a library or something that isn't threadsafe? | 02:25 | |
MasterDuke | i'm trying to make perl6/doc/htmlify.p6 faster | 02:26 | |
so some of the slow bits i turned into starts + await(Promise.allof(@starts)) | 02:28 | ||
timotimo | mhm | ||
MasterDuke | this one is new "Internal error: zeroed target thread ID in work pass" | 02:29 | |
timotimo | ah, yeah, multithreaded breakage | ||
what exact version are you on right now? | 02:30 | ||
MasterDuke | This is Rakudo version 2016.05-150-gc7cd003 built on MoarVM version 2016.05-34-gfbe9e24 | ||
i really want to use the concurrency stuff, but keep running into seg faults, weird errors, etc. | 02:32 | ||
timotimo | hmm, ok | ||
MasterDuke | a little offputting | ||
timotimo | well, you can try valgrinding it :\ | ||
i'm not sure what parts you are encountering that aren't threadsafe | |||
MasterDuke | git diff output, gist.github.com/MasterDuke17/d06f0...426ef33d52 | 02:33 | |
timotimo | how would oyu feel about actually valgrinding it? | 02:37 | |
MasterDuke | i just started it with perl6-valgrind-m | ||
timotimo | how long does it usually run before it crashes? | ||
MasterDuke | it's always been in one of the "Processing <type> Pod files ...' steps | 02:39 | |
a couple 'Syscall param write(buf) points to uninitialised byte(s)' so far | 02:40 | ||
timotimo | i'm not actually sure what the extract-pod and process-pod-source subs do | ||
MasterDuke | those valgrind messages appeared to happen between 'Initializing ...' and 'Creating html/ subdirectories' | 02:41 | |
timotimo | oh, that's interesting | 02:42 | |
do you get stack traces with those? like, with actual line numbers? | |||
MasterDuke | first bunch of output from valgrind, gist.github.com/MasterDuke17/4167f...d5dc657803 | 02:43 | |
timotimo | it was spawning multiple processes | 02:44 | |
MasterDuke | seems so, also, that was before any of my changes | 02:45 | |
oh damn, that was/is my system perl6 (2016.05 built on MoarVM version 2016.05), not the compiled-from-head i usually use for testing | 02:49 | ||
timotimo | i'm not sure if there were many multithreading improvements recently | 02:52 | |
before 2016.05, though, yeah. but i'm not sure when exactly | |||
MasterDuke | i guess i'll let this one keep going and then run again with a more recent perl6 | 02:54 | |
timotimo | OK | ||
MasterDuke | couple more of those errors, gist.github.com/MasterDuke17/8561e...52c20b589f | 02:55 | |
timotimo | strange. | ||
MasterDuke | hmm. now "killed" | 02:56 | |
timotimo | out of memory, probably | 02:59 | |
MasterDuke | gotten to 'Writing specialized visualizations to html/images/ ...' with no messages from valgrind so far when using the up-to-date perl 6, but has been sitting there for a while | 03:30 | |
b2gills | MasterDuke: You should realize that ļ½¢await(Promise.allof(@starts)); my @returned = @startsĀ».resultļ½£ can be simplified to just ļ½¢my @returned = await(@starts)ļ½£ | 03:41 | |
ugexe | github.com/rakudo/rakudo/commit/66...2c22774388 is giving me 'Outdated precompiled' errors | 04:09 | |
and if its run with RAKUDO_MODULE_DEBUG=1 it gives Failed to find 'sources/9FA0AC28824EE9E5A9C0F99951CA870148AE378E' while trying to do '.modified' | 04:12 | ||
zef actually has tests for these types of things in xt/install.t | 04:20 | ||
nine | ugexe: how can this commit give you errors when the agument hasn't been used by any caller?! | 05:34 | |
psch | hrm | 06:44 | |
so, yeah, i do get a Hash in QAST::Compiler | 06:45 | ||
but i can't reach the perl6 hll to get the type to reach its $!storage | |||
oh duh | 06:50 | ||
i can just de-hllize in src/control.pm >_> | |||
[Tux] | This is Rakudo version 2016.05-150-gc7cd003 built on MoarVM version 2016.05-18-g1339332 | 07:25 | |
test 17.363 | |||
test-t 9.752 | |||
csv-parser 21.586 | |||
psch | gist.github.com/peschwa/a48ca71403...79d18766c7 | 07:50 | |
i think i should be able to work with that \o/ | |||
although i'm a bit befuddled that the second EVAL has the missing qbid | |||
and the fact that it's compiling both evals twice (and NC::Types actually like 8 times..?) also hints at some holes in my understanding | 07:51 | ||
nine | psch: but it's progres nevertheless :) | 08:16 | |
psch | nine: FSVO, probably... :) | 08:25 | |
i'm mostly confused with trying to pull apart what RAKUDO_MODULE_DEBUG adds to that | |||
i've updated the gist, fwiw | 08:28 | ||
like, i'm having trouble mapping the EVAL_* "files" to stages during precomp | |||
and well, with the missing qbid happening in the second EVAL, it kinda feels like it's not really a missing nested CU, but just something else gone wrong, although i don't really know how i would verify that | 08:29 | ||
the off-by-one-ish error with cuid_to_qbid seems suspect, but... | 08:30 | ||
MasterDuke | timotimo: ran overnight, but never finished with the up-to-date rakudo, here's the output after i killed it, gist.github.com/MasterDuke17/0669d...2578872e87 | 11:32 | |
b2gills: thanks, that's simpler | |||
ugexex | nine: i should have been more clear: i mean thats the latest commit i was using. it could be anything within the last week or so | 14:18 | |
note that zef still works fine for the general use case, just that test fails. so i suspect it has to do with installing to inst#/custom/dir. I'm not able to dig deeper for a week or so or i'd have tracked it down myself | 14:27 | ||
BrokenRobot | bisect: 2 ā <2> or die | 14:51 | |
bisectable | BrokenRobot: on both starting points the exit code is 1 and the output is identical as well | ||
BrokenRobot | m: 2 ā <2> | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«WARNINGS for <tmp>:ā¤Useless use of "ā" in expression "2 ā <2>" in sink context (line 1)ā¤Ā» | ||
BrokenRobot | m: say so 2 ā <2> | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«Falseā¤Ā» | ||
BrokenRobot | Should that be a True? | ||
geekosaur notes that the former is an Int and the latter an IntStr | 14:53 | ||
timotimo | oh damn | 14:55 | |
BrokenRobot | Yeah, but IntStr is really more of a convenience IMO | ||
timotimo | inconvenience, you mean :) | ||
BrokenRobot | heh | 14:56 | |
It uses .WHICH to check for existence. | 15:00 | ||
m: class Foo {}; my $a = Foo.new; my $b = Foo.new; .WHICH.say for 2, <2>, $a, $b | 15:01 | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«Int|2ā¤IntStr|2ā¤Foo|83205328ā¤Foo|83205360ā¤Ā» | ||
BrokenRobot | Not a bug, I guess, but it makes my awesome method to check thing's existence in array less awesome | 15:05 | |
m: my @a = <a b c 2>; say 2 ā @a | |||
camelia | rakudo-moar c7cd00: OUTPUTĀ«Falseā¤Ā» | ||
BrokenRobot | m: my @a = <2>; my @b = 2; say @a eqv @b; | 15:13 | |
camelia | rakudo-moar c7cd00: OUTPUTĀ«Falseā¤Ā» | ||
BrokenRobot | Inconvencience indeed. | ||
lizmat waves from Orlando | 15:20 | ||
jdv79 | is it hot out? | 15:21 | |
nine | lizmat: o/ | 15:23 | |
dalek | ast: a7ed445 | (Daniel Green)++ | S02-literals/adverbs.t: Add test for RT #128306 |
15:30 | |
ast: 1ab6884 | lizmat++ | S02-literals/adverbs.t: Merge pull request #126 from MasterDuke17/RT128306 Add test for RT #128306 |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128306 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128306 | ||
BrokenRobot | m: $_ = "foo"; .say if ~~Str | 15:58 | |
camelia | rakudo-moar c7cd00: OUTPUTĀ«===SORRY!=== Error while compiling <tmp>ā¤Expected a term, but found either infix ~~ or redundant prefix ~ā¤ (to suppress this message, please use a space like ~ ~)ā¤at <tmp>:1ā¤------> $_ = "foo"; .say if ~~āStrā¤Ā» | ||
BrokenRobot | prefix:<~~> could function as infix:<~~> against $_ on LHS | 15:59 | |
[Coke] | m: say ~~3; | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«===SORRY!=== Error while compiling <tmp>ā¤Expected a term, but found either infix ~~ or redundant prefix ~ā¤ (to suppress this message, please use a space like ~ ~)ā¤at <tmp>:1ā¤------> say ~~ā3;ā¤Ā» | ||
[Coke] | m: say ~ ~3; | 16:00 | |
camelia | rakudo-moar c7cd00: OUTPUTĀ«3ā¤Ā» | ||
[Coke] | guess there's no confusion with ~ ~ | ||
sortiz | .oO( 'if ~~' can be spelled when ) |
16:03 | |
BrokenRobot | But only in statement modifier form | 16:06 | |
m: for <a b c> { if $_ ~~ "a" { .say }; say "meow" } | 16:07 | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«aā¤meowā¤meowā¤meowā¤Ā» | ||
lizmat | "feels like 36 outside" | ||
BrokenRobot | m: for <a b c> { when "a" { .say }; say "meow" } | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«aā¤meowā¤meowā¤Ā» | ||
lizmat | jdv79: when it is "only" 32 | ||
BrokenRobot | m: .WHAT.say for 1+i, <1+i>, <1+1i> | 16:19 | |
camelia | rakudo-moar c7cd00: OUTPUTĀ«(Complex)ā¤(Str)ā¤(Complex)ā¤Ā» | ||
lizmat | Seems to be something in the parser: | 16:20 | |
m: sub prefix:<~~> { dd CALLER::<$_>, $^a; CALLER::<$_> ~~ $^a }; $_ = "foo"; .say if ~~ Str | |||
camelia | rakudo-moar c7cd00: OUTPUTĀ«===SORRY!=== Error while compiling <tmp>ā¤Expected a term, but found either infix ~~ or redundant prefix ~ā¤ (to suppress this message, please use a space like ~ ~)ā¤at <tmp>:1ā¤------> R::<$_> ~~ $^a }; $_ = "foo"; .say if ~~ā Strā¤Ā» | ||
lizmat | m: sub prefix:<abc> { CALLER::<$_> ~~ $^a }; $_ = "foo"; .say if abc Str | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«fooā¤Ā» | ||
BrokenRobot | It's the same for other stuff that warns: | 16:24 | |
m: sub infix:<?> {}; sub infix:<:> {}; say 2 ? : 2 | 16:25 | ||
camelia | rakudo-moar c7cd00: OUTPUTĀ«===SORRY!=== Error while compiling <tmp>ā¤Unsupported use of ? and : for the ternary conditional operator; in Perl 6 please use ?? and !!ā¤at <tmp>:1ā¤------> infix:<?> {}; sub infix:<:> {}; say 2 ?ā : 2ā¤Ā» | ||
BrokenRobot | s/warns/errors out/; | ||
[Coke] | m: say ComplexStr.WHAT | 16:37 | |
camelia | rakudo-moar c7cd00: OUTPUTĀ«(ComplexStr)ā¤Ā» | ||
BrokenRobot | m: use Test; sub blarg {$^a}; say blarg 42; eval-dies-ok "blarg 42" | 16:56 | |
camelia | rakudo-moar c7cd00: OUTPUTĀ«42ā¤ok 1 - ā¤Ā» | ||
BrokenRobot isn't sure why there is an eval-dies-ok in the first place. | |||
[Coke] | to simplify testing for something that is supposed to die? | 17:01 | |
BrokenRobot | [Coke]: there's dies-ok | 17:02 | |
[Coke] | m: use Test: eval-dies-ok "3"; #doesn't die, so test fails. not sure why your blarg example dies (and therefore passes) | 17:03 | |
camelia | rakudo-moar c7cd00: OUTPUTĀ«===SORRY!=== Error while compiling <tmp>ā¤Confusedā¤at <tmp>:1ā¤------> use Testā: eval-dies-ok "3"; #doesn't die, so tesā¤Ā» | ||
BrokenRobot | Make it take Str/Callable just like throws-like | ||
BrokenRobot is filing a Bug and an RFC ATM | |||
[Coke] | dies-ok takes code, eval-dies-ok takes a string. | ||
so with eval-dies-ok, the code doesn't have to compile, even. | 17:04 | ||
with dies-ok, it has to compile and then die | |||
BrokenRobot | No it doesn't | 17:05 | |
dies-ok can take Str | |||
s/can/should/ | |||
[Coke] | Calling dies-ok(Str) will never work with any of these multi signatures: | ||
BrokenRobot | I think we're talking past each other here.. | 17:06 | |
[Coke] | I'm telling you how it is, you're asking for it to change. | ||
I think that's where we are. | |||
no? | |||
geekosaur | wasn't there a specific push to avoid using EVAL when it's not needed? | 17:08 | |
BrokenRobot | [Coke]: more proposing than asking. I know how it is and I think it's hairy and is inconsistent with other subs in the module. | 17:11 | |
RFC: rt.perl.org/Ticket/Display.html?id=128418 | 17:12 | ||
Bug: rt.perl.org/Ticket/Display.html?id=128417 | |||
dalek | ast: d4dd53b | niner++ | / (3 files): Tests for RT #126878 |
17:17 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126878 | ||
jnthn | If you want it to evaluate in the current context, then it must be done via a closure that uses EVAL | 17:20 | |
dies-ok { EVAL '...' } | 17:21 | ||
Or throws-ok { EVAL '...' } | |||
BrokenRobot | jnthn: but throws-ok already evals in proper context, why not make dies-ok do the same? | 17:22 | |
jnthn | How does it do it? | ||
BrokenRobot | :context( CALLER:: .... | ||
jnthn | dammit | ||
BrokenRobot | lol | ||
jnthn | That *will* break. | ||
Soon. | |||
As soon as the optimizer gets better. | 17:23 | ||
So we should address that soon. | |||
BrokenRobot | k, I'll close dies-ok bug and open one for throws-like | ||
jnthn | That context named arg should also go away, it's too open to abuse. | ||
In so far as, it's really tempting to think it's going to reliably work out | 17:24 | ||
But the design docs are clear that the only variables you can rely on being visible through CALLER:: are those marked "is dynamic" (or declared $*foo) | |||
Anyways, thank for noticing the inconsistency. | 17:25 | ||
lizmat | jnthn: so lemme get this straight: throws-like accepting a Str is wrong, but otherwise you're fine with throws-like ? | 17:26 | |
jnthn | Just saw your message in RT... :) | 17:27 | |
lizmat | :-) | ||
jnthn | The things that I eliminated were cases of throws-like ..., X::AdHoc | ||
The reason being that X::AdHoc mostly means "we didn't yet get to putting in a properly typed exception" | 17:28 | ||
You *could* write those cases as throws-like ..., Exception; | |||
Which is just a long way to spell dies-ok ... | |||
Thus why I can imagine me switching some throws-like to dies-ok | |||
lizmat | well, but you lost information there :-( | 17:29 | |
jnthn | How so? | ||
I mean, the spectests should not be asserting we throw X::AdHoc | |||
lizmat | when I was going through roast last year, I found quite a few cases were dies-ok tests were succeeding for the wrong reason | 17:30 | |
jnthn | Otherwise it's just a pain when we *do* put in a proper exception, 'cus it's cause errata | ||
[Coke] | lizmat: yes, but x::adhoc is not information worth saving | ||
jnthn | Sure, but the way we should be addressing that is by adding more typed exceptions. | ||
lizmat | it at least meant I had a look at it :-( | ||
[Coke] | we need to finish going through all the exceptions and if we're going to type them, type them. | ||
lizmat | now that info is all gone :-( | ||
jnthn | It's a git repo, how is anything lost? | ||
lizmat | if the commit cannot be reapplied, it is effectively lost | 17:31 | |
[Coke] | but it shouldn't be reapplied. | ||
we should not be tsting specifically that we are throwing the Adhoc exception. | |||
lizmat | well, to me they were canaries | 17:32 | |
whenever we would put in a typed exception were there wasn't one before | |||
it would fail | |||
[Coke] | (because then it's stuck in (e.g.) 6.c release and the thought was we couldn't change it without a spec change) | ||
lizmat | so we could fix it | ||
dalek | ast: 0d22c77 | niner++ | / (5 files): Tests for RT #117117 |
||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117117 | ||
lizmat | now, whenever we put in a new typed exception, the dies-ok still fails | ||
but we cannot be sure it failed for the right reasone :-( | |||
[Coke] | we just ran out of time before christmas to do it the right way, or to flush out issues. | ||
lizmat | well, I would have gladly fixed the errata with a dies-ok, if the Ad-Hoc started failing | 17:33 | |
anyways, water under the bridge | |||
[Coke] | Yup, we still have to fix that. let's try to make sure we have a good answer in place for 6.d | ||
jnthn | Note that you could quite easily run a tweaked Test.pm that reports under-specific exception types :) | 17:34 | |
[Coke] | lizmat: I think the thought was at the time was that that would constitute an incompatible chagne. | ||
I think we could probably document our way out of that bag now, but let's make that part of the plan for 6.d | |||
gah, gotta run. laters. | |||
jnthn | dinner, but I can write up said Test.pm tweak later if it's not clear :) | 17:35 | |
& | |||
nine | procrastination++ # so far I've found and fixed the real reason behind RT #128156, started a good refactor branch for after the release and got us rid of 4 RT tickets | 17:59 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128156 | ||
nine | What I actually wanted to do was add a dependency loop detection for RT #128285 but I have a hard time deciding where exactly | 18:01 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128285 | ||
nine | Well at least I just now found that it's actually a duplicate of RT #126688 | 18:03 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126688 | ||
lizmat | nine++ | 18:06 | |
afk& | |||
sortiz | nine, btw, I use RMD a lot and found confusing the reverse order of its output, moreover without a time stamp. | ||
nine | sortiz: yes, same here. I'm no fan of capturing STDERR during precompilation but it really seems necessary. | 18:07 | |
sortiz | nine, can you elaborate a little? | 18:09 | |
(about the necessity) | 18:10 | ||
nine | sortiz: rt.perl.org/Ticket/Display.html?id=127176 | 18:11 | |
sortiz | nine, I understand, Tnks. | 18:16 | |
dalek | kudo/nom: 07c8267 | niner++ | src/core/CompUnit/ (2 files): Remove .rev-deps cache .rev-deps files were a good idea at the time for tracking which reverse- dependencies we have to recompile after updating a module. But that was when we only ever used a single precomp store at a time, so everything of interest would be found in the same store. Now a reverse dependency may be in a store further up the chain and .rev-deps files are possibly incomplete. They are also a problem for packaging modules as they are changed on installation of other modules. Removing them also clears the way for fixing the PrecompilationStore abstraction. |
18:52 | |
rakudo/nom: 2126eda | niner++ | src/core/CompUnit/PrecompilationRepository.pm: | |||
nine | Zoffix: there's one of your release blockers ^^^ | ||
BrokenRobot | nine: do you mean that's a new one or something that was fixed? | 18:54 | |
I didn't have that on release blocking list | 18:55 | ||
Ohh | |||
BrokenRobot retracts the Ohh | 18:56 | ||
nine | ? | ||
Ooops! | 18:57 | ||
Damn...I had that commit on nom, too instead of only the branch | |||
BrokenRobot: I meant github.com/rakudo/rakudo/commit/21...5e26c88bc6 fixing rt.perl.org//Public/Bug/Display.html?id=126688 | 18:58 | ||
Add protection against circular dependencies in precompilation | 18:59 | ||
Die with a hint about what's wrong instead of spawning more and more processes. Fixes all cases reported in RT #126688 Note that we can still loop endlessly when loading modules from source. | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126688 | ||
BrokenRobot | Ah :) nine++ | ||
nine | .rev-deps[1~The [4~ commit was meant for after the release |