dogbert17 | should it really SEGV though? | 00:00 | |
geekosaur | modifying an iterator you are using is a known DIHWIDT | 00:01 | |
one could argue it should try to catch that, but it would add a fair amount of overhead | |||
Zoffix | dogbert17: sup? Or is the SEGV what you wanted to tell me? | 00:02 | |
dogbert17 | SEGV :) | ||
Zoffix | OK. No idea. | ||
Zoffix lurks back | |||
dogbert17 | but it turns out that I'm the one doing nasty stuff | 00:03 | |
timotimo | ideally we wouldn't asplode at all | 00:04 | |
dogbert17 | I guess I'll have to go with eager unless there's another way to do this | ||
timotimo | i wonder what exactly it's looking at there to have something fully nulled out but not be aware it's a null object | 00:06 | |
it may be as easy as saying "if the stable is null, we consider it to be a null object" | |||
dogbert17 | Program received signal SIGSEGV, Segmentation fault. | 00:07 | |
HASH_ITER_NEXT_ITEM (cur_handle=0xa1db1fc, cur_handle=0xa1db1fc, bucket_tmp=0xb76515d0) at 3rdparty/uthash.h:563 | |||
563 while (*bucket_tmp < ht->num_buckets) { | |||
(gdb) bt | |||
#0 HASH_ITER_NEXT_ITEM (cur_handle=0xa1db1fc, cur_handle=0xa1db1fc, bucket_tmp=0xb76515d0) at 3rdparty/uthash.h:563 | |||
#1 shift (tc=0x804c5f8, st=0x8078128, root=0xb76515b0, data=0xb76515c0, value=0x8f3dfa8, kind=8) at src/6model/reprs/MVMIter.c:111 | |||
timotimo | hm, no, the hash entry is a pointer to an object | ||
so how does that work ... | |||
dogbert17 | timotimo: it's the second SEGV I've seen today | 00:08 | |
the other one was very strange | 00:09 | ||
irclog.perlgeek.de/moarvm/2017-12-24#i_15618404 | |||
timotimo | anyway, yeah, valgrind also shows the hash iter is doing use-after-frees and then it accesses the object it gets in a way that's rather not safe | ||
that looks like the class definition of that cstruct has some kind of problem | 00:10 | ||
do you have the code to go with that? | |||
dogbert17 | it's one of the nativecall tests, sec | 00:11 | |
timotimo | oh, that's ... fun | ||
dogbert17 | t/04-nativecall/12-sizeof.t | ||
timotimo | those usually don't segv | 00:12 | |
dogbert17 | it only SEGV's for me (sometimes) when I run it through gdb | 00:13 | |
Geth | roast: 3ef43a8769 | (Zoffix Znet)++ | 2 files [v6.d REVIEW] Improve &first [:end], :kv tests - Test full structure of return, not stringified versions - Shorten descriptions - Get rid of needless variables 6 removed tests are `ok ... ~~ List` typechecks that got subsumed by is-deeply tests. Orig: github.com/perl6/roast/commit/2108...33fb17d933 |
||
timotimo | we could have a stress test that creates a million random cstruct classes with the meta object protocol | 00:15 | |
dogbert17 | could it possibly be a missing MVMROOT again? | 00:17 | |
timotimo | hm, what allocates in there? | 00:18 | |
perhaps one of the at_key_o or at_pos_o is being used on a native array and that causes boxing? though i think if you at_*_o on a native array it'll explode instead of autoboxing | 00:19 | ||
dogbert17 | github.com/MoarVM/MoarVM/blob/mast...uct.c#L339 | 00:20 | |
it happens within an 'if (inlined) {' might some kind of optimization be involved here perhaps? | 00:22 | ||
I was looking at github.com/rakudo/rakudo/issues/1262 and trying to reproduce | 00:23 | ||
timotimo | inlining there refers to whether a struct was a has or a HAS | ||
i.e. whether it'd be a pointer to a struct or actually copying all the contents into itself | 00:24 | ||
dogbert17 | aha, now I've learned something new :) I suspected some kind of typo when I first saw that | 00:26 | |
dogbert17 continues with Advent of Code for the 24th | 00:53 | ||
Geth | roast: 933ad8294c | (Zoffix Znet)++ | S06-parameters/smiley.t Remove trailing whitespace |
01:34 | |
roast: 686e6a68db | (Zoffix Znet)++ | 2 files [v6.d REVIEW] Relocate/expand tests - These are smileys, not coercers - Add tests for :D smileys too Orig: github.com/perl6/roast/commit/e7fb...741b553a6b |
|||
roast: fa002d7d62 | (Zoffix Znet)++ | S06-parameters/smiley.t [v6.d REVIEW] Compactify test code |
01:38 | ||
roast: a90671fb6e | (Zoffix Znet)++ | S32-list/squish.t [v6.d REVIEW] Format/Improve .squish tests - Organize a bit and shorten descriptions - Test proper returned datastructures instead of just their stringified versions - Two `squish has === semantics` tests were combined into one ... (5 more lines) |
03:08 | ||
rakudo: 3a8a50b5cd | (Zoffix Znet)++ | 2 files Allow anon param with signature unpacking Fixes R#1326: github.com/rakudo/rakudo/issues/1326 |
07:57 | ||
synopsebot | R#1326 [open]: github.com/rakudo/rakudo/issues/1326 [LHF] Parse failure with signature unpacking on anon Callable param | ||
Geth | roast: dcb982a073 | (Zoffix Znet)++ | S06-signature/closure-parameters.t Spec anon param can have signature unpacking Closes github.com/rakudo/rakudo/issues/1326 Rakudo impl: github.com/rakudo/rakudo/commit/3a8a50b5cd |
07:58 | |
Zoffix | Does anyone know what's up with setting "origin.push_url"? It breaks `git push` on my system, saying permission denied. I fixed that for roast in github.com/rakudo/rakudo/commit/9606aea22a341 but now I notice nqp and MoarVM also do it and are also broken for me. How come it does that stuff? Is it safe to remove it? | 08:25 | |
Geth | nqp: 98857658c3 | (Zoffix Znet)++ | src/QRegex/P5Regex/Actions.nqp Remove trailing whitespace |
08:26 | |
geekosaur | committers should use what it had there | 08:27 | |
I think I'd say that the Makefiles should use the public URLs, not the committer private ones | 08:28 | ||
if committers want to have a shortcut, they should get maintainer/committer rules distinct from the normal ones | 08:29 | ||
Zoffix | So it remote mangling should be removed from makefiles? | 08:30 | |
Both of those look public to me. | |||
s/it //; | 08:31 | ||
geekosaur | the push url is always for maintainers. git:... URLS could be used by anyone, but usually should only be used by maiontainers; https: urls for everyone else | ||
(the git@... format implies [ssh+]git: protocol) | 08:34 | ||
also see what teatime said in #perl6 instead of in here | |||
teatime | whoops sorry | ||
Zoffix | Ah, k, I get it. | 08:35 | |
I don't use keys. I have my password cached | |||
geekosaur | anyway: for maintainers there might be a separate set of rules, the default should be https: for most checkouts | 08:36 | |
Geth | rakudo: 9cb2170ba1 | (Zoffix Znet)++ | tools/build/Makefile-common-rules.in Revert "Fix issues with roast checkout" This reverts commit 9606aea22a341e7718b47a9270e479e6857b4335. Apparently I'm just speshul: irclog.perlgeek.de/perl6/2017-12-25#i_15619652 irclog.perlgeek.de/perl6-dev/2017-...i_15619640 |
||
geekosaur | including roast | ||
geekosaur | hm. I would have left that in and raised the issue instead that the Makefiles shouldn't be forcing committer-style ssh+git-based checkouts | 08:37 | |
Zoffix | But checkouts are over https, no? It's only push that gets converted to git://, and teatime++'s explanation for why that stuff's there makes sense to me | 08:38 | |
geekosaur | you replaced a git clone git:... with a git clone https: | ||
if I read the diff right | 08:39 | ||
I would say yours was preferable | |||
Zoffix | Ah, right, that was there too. | ||
geekosaur | and the push url should just not be in there, as I said if maintainers want a shortcut there then they should use a different checkout target | ||
so I prefer what your patch did as the general case, and if someone wants the original behavior then it should be a maintainer-checkout rule instead of t/spec | 08:40 | ||
Zoffix | Decided to make a helper script for rakudo core dev that builds stuff and (in the future) fixes remotes, does version bumps, etc: github.com/zoffixznet/rdev | 10:07 | |
huggable: core dev :is: Helper script for Rakudo Perl 6 core development: github.com/zoffixznet/rdev | 10:08 | ||
huggable | Zoffix, Added core dev as Helper script for Rakudo Perl 6 core development: github.com/zoffixznet/rdev | ||
Zoffix | gah. Started this because I wanted to make changes in nqp and build it, but it still dies with "Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/NQPP5QRegex.nqp' (from 'gen/moar/Perl6-Actions.nqp')" even after I built everything into one prefix -_- | 10:18 | |
looks like need make clean in nqp and rakudos dirs | 10:21 | ||
this's taking ages :| but at least it works | 10:31 | ||
make clean in both nqp and rakudo dirs, then make + make install in nqp, then make + make install in rakudo. That looks right, right? I'm not wasting time re-compiling stuff that ain't needed recompiling, right? | 10:32 | ||
doh... nuked a screenful of new tests while writing that helper script -_- | 10:51 | ||
tbrowder | ‘lo on Christmas Day, #perl6-dev | 12:14 | |
can i get anyone interested in talking about pod and virtual margins? | 12:15 | ||
timotimo | oh my | 12:16 | |
tbrowder | or debugging Perl 6 grammar? | 12:19 | |
timotimo | debugging grammars in general can be rather hairy | 12:20 | |
tbrowder | i wonder if it’s possible to strip non-perl6 grammar syntax from Grammar.nqp and Actions.nqp and then use Perl 6 to debug at least a large chunk of the language grammar? | 12:21 | |
timotimo | sounds like a lot of work :( | 12:22 | |
are you still rebuilding all of grammar and core setting every time to test your pod changes? | |||
tbrowder | yeah, but i think the payoff coulld be big for findind subtle problems. | 12:23 | |
yes, all is rebuilt after each change... | 12:24 | ||
timotimo | oof | ||
have you considered using slang functionality? | |||
tbrowder | i know of it but don’t know how to start | 12:25 | |
for instance i think some pod probs are caused by virtual margins being misused and would like to peer into values of matches as they occur | 12:27 | ||
timotimo | BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> ] $<finish>=. } }); { }; =finnish say test | 12:28 | |
tbrowder | where is a good place to start looking into slang? | ||
timotimo | m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> ] $<finish>=. } }); { }; =finnish say test | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unexpected closing bracket at <tmp>:1 ------> 3finnish' <pod_newline> ] $<finish>=. } }7⏏5); { }; =finnish say test |
||
timotimo | m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> ] $<finish>=. } }; { }; =finnish say test | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Preceding context expects a term, but found infix = instead. Did you make a mistake in Pod syntax? at <tmp>:1 ------> 3 <pod_newline> ] $<finish>=. } }; { }; =7⏏5finnish say test |
||
timotimo | m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> ] $<finish>=. } }; { }; { =finnish say test } | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Preceding context expects a term, but found infix = instead. Did you make a mistake in Pod syntax? at <tmp>:1 ------> 3pod_newline> ] $<finish>=. } }; { }; { =7⏏5finnish say test } |
||
timotimo | how do i ... | ||
oh, it wants a newline after that, duh | 12:30 | ||
m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> ] $<finish>=. } }; { };=finnishsay test | |||
camelia | ( no output ) | ||
timotimo | m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> ] $<finish>=. } }; =finnishsay test | ||
camelia | ( no output ) | ||
timotimo | m: =finnishsay test | ||
camelia | ( no output ) | ||
timotimo | oh, that also works | ||
m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> { say "lol" } ] $<finish>=. } }; =finnishsay test | 12:31 | ||
camelia | ( no output ) | ||
timotimo | m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> { say "lol" } ] $<finish>=. } }; { }=finnishsay test | ||
camelia | lol 5===SORRY!5=== Error while compiling <tmp> Undeclared routines: ay used at line 3 test used at line 3 lol |
||
timotimo | m: BEGIN $?LANG.refine_slang: 'MAIN', role { token pod_block:sym<finish> { ^^ \h* [ '=finnish' <pod_newline> { say "lol" } ] $<finish>=. } }; { }=finnish | ||
camelia | lol lol lol lol |
12:32 | |
timotimo | anyway, you can replace or add individual pieces to the perl6 grammar like that | ||
AFK | 12:34 | ||
tbrowder | so say i want to look at the value of token pod_configuration in a p6 file can that be done? | ||
timotimo | how do you mean? | 12:35 | |
tbrowder | well, pod_configuation is a token in p6 grammar and i would like to see its matched value during parse of a p6 file. | 12:37 | |
or at least dump it somehow. i tried to write a dumper sub during prep of my latest PR but got sidetracked by a build error.so i’m not sure yet if i can do that. | 12:39 | ||
i would really like to use jnthn’s grammar debugger on p6 grammar, hence my earlier question on stripping the grammar.nqp and actions.nqp files. | 12:42 | ||
Geth | rakudo: f01c50f1a4 | (Elizabeth Mattijsen)++ | src/core/Cool.pm Add Cool candidate for .is-prime As spotted on StackOverflow: stackoverflow.com/questions/479621...-in-perl-6 |
13:26 | |
rakudo: 237019665b | (Elizabeth Mattijsen)++ | 4 files A more thorough handling of is-prime - sub is-prime now just passes on to method handling - Cool.is-prime now just numerifies - added optimised Num and Rational candidates |
14:57 | ||
nqp: 4868e7a3dd | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION Bump Moar to get is-prime JITting |
15:04 | ||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...7-gaf7d58c | |||
rakudo: 5b147fc81f | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION Bump NQP to get is-prime JITting Alas, this makes things green in the profile, but apparently most of the work was already done by the VM, so in the end this only provided a few % at most. |
15:23 | ||
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2017....1-g4868e7a | |||
FROGGS | o/ | 17:04 | |
lizmat | FROGGS o/ | 17:11 | |
and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/12/25/...s-no-more/ | 19:07 | ||
dogbert17 | lizmat: "is about to make a same mistake as Rakudo Perl 6" | 19:11 | |
lizmat | yes? | ||
dogbert17 | is it my lack of english but this doesn't read right | ||
lizmat | well, I wanted to emphasize it's not the only mistake :-) | 19:12 | |
dogbert17 | same -> similar ? | ||
lizmat | ok will reword | ||
dogbert17 | lizmat++ | 19:14 | |
lizmat, btw did you see this discussion yeaterday? irclog.perlgeek.de/perl6-dev/2017-...i_15619003 | 19:15 | ||
dogbert17 my spelling sucks bigtime, grrr | |||
lizmat | dogbert17: no I didn't... | 19:16 | |
is there a ticket / issue already? | |||
if not, please make one | |||
:-) | |||
dogbert17 | only if you think that there's a bug lurking :-) | 19:17 | |
lizmat | if it segfaults without doing any NativeCall, it's a bug by definition in my book | ||
dogbert17 | ok, will report | ||
lizmat | dogbert17++ | 19:20 | |
lizmat goes back to Christmas frolicking | 19:21 | ||
AlexDaniel | reportable6: list | 19:28 | |
reportable6 | AlexDaniel, gist.github.com/cfe70d5b5176400f3b...95ccb04d24 | 19:29 | |
AlexDaniel | reportable6: 2017-12-18T00:00:00Z 2017-12-25T00:00:00Z | ||
reportable6 | AlexDaniel, OK, working on it! This may take up to 40 seconds | ||
AlexDaniel, gist.github.com/e022960874b13561a8...d9e98e9769 | 19:30 | ||
El_Che | new rakudo, new failing tests: travis-ci.org/nxadm/rakudo-pkg/job...6132#L1652 | 19:35 | |
never saw that one fail before | 19:37 | ||
dogbert17 | lizmat: github.com/rakudo/rakudo/issues/1340 | 19:57 | |
Zoffix | lizmat++ # good weekly | 20:13 | |
Geth | nqp: 10e3924779 | (Zoffix Znet)++ | src/QRegex/P5Regex/Actions.nqp Fix crash with named captures in P5 regexes Before numerically checking the name, check that its first char is a number, as named captures can't have that. While this fixes github.com/rakudo/rakudo/issues/1269 , I couldn't come up with code that covered the `elsif $rxtype eq 'subrule' && $ast.subtype eq 'capture'` conditional where the same issue appeared to exist, so that won't be covered by the tests for the Issue. |
20:20 | |
lizmat | El_Che: is that repeatable ? | 20:57 | |
afk again& | 20:58 | ||
moritz purged some spam | 21:09 | ||
AlexDaniel | I have no idea what they are trying to achieve with this spam | 21:19 | |
geekosaur | annoyance. makes them feel powerful because they can mess with other people. | 21:23 | |
some people are just broken. | |||
tbrowder | AlexDaniel: Merry Christmas! Reviewing PRs today? | 21:33 | |
AlexDaniel | tbrowder: sure! | 21:34 | |
tbrowder | was Santa good to you? | 21:35 | |
Santa always seems to bring me bills... | |||
AlexDaniel | dunno, I was woodworking for the whole day :) Santa probably never found me in the sawdust | 21:39 | |
tadzik | sounds fun :) | 21:40 | |
AlexDaniel | what! π in 79 characters! | 21:41 | |
Finally someone found a way! | |||
everything I tried was too slow in rakudo | |||
tbrowder: “my int $i := $s;” what if it's very large? | 21:47 | ||
tbrowder: like 9999999999999999999999999 | 21:48 | ||
tbrowder | um, good question, check length of int string and convert to bit int? | 21:49 | |
*bigint? | |||
or keep as string if still too big? | 21:50 | ||
i should also test neg ints and numbers | 21:52 | ||
s/test neg/test for neg/ | |||
um, need to improve those regexes.. | 21:53 | ||
AlexDaniel | tbrowder: oh. yeah. fwiw there's fromstr_I but that does not seem to be used very often | 21:56 | |
tbrowder | ok, looking at that while you continue looking for other warts... | 21:57 | |
AlexDaniel | tbrowder: and please write tests for that also | 22:00 | |
the 9999 thing | |||
because if we end up refactoring everything we probably don't want to regress with that part :) | |||
tbrowder: the magic in make-config-hash is rather scary :) | 22:07 | ||
tbrowder | always open to ideas! that’s how i see it now, though. i should at least check for even num of elements. | 22:11 | |
i’ll make all those chgs and report when rdy. and any ideas about improving hash treatment are very welcome. | 22:17 | ||
AlexDaniel | tbrowder: well, what if the hash contains strings and some of them have => or , ? | 22:18 | |
Geth | rakudo: 8aa17f2736 | (Zoffix Znet)++ | tools/build/NQP_REVISION [NQP Bump] 10e3924 Fix crash with named captur […] NQP bump brought: github.com/perl6/nqp/compare/2017....2-g10e3924 |
22:25 | |
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2017....2-g10e3924 | |||
Zoffix | haw | ||
El_Che | lizmat: yes, the failures are on different operating systems and version | ||
s | |||
Zoffix | Bumped using my awesome helper script :) `z bump n` + `z bump push` | 22:26 | |
huggable: core dev | |||
huggable | Zoffix, Helper script for Rakudo Perl 6 core development: github.com/zoffixznet/rdev | ||
Zoffix | That one | ||
El_Che | lizmat: rakudo failed on all the operation systems and versions I build: travis-ci.org/nxadm/rakudo-pkg/builds/321506131 | ||
Zoffix | That test passes for me on HEAD | 22:28 | |
"#?rakudo.jvm skip 'OutOfMemoryError: Java heap space'" | 22:29 | ||
tbrowder | hm, without running through the grammar again i don’t think we should be expected to handle all possibilities. i guess we could specify an alternative format with all hash entries having a list form, inside outer {}, and an element separator char NOT used in any value element. but if you want to handle all possibilities, it will take a big drawing board to return to imho. | ||
Zoffix | Perhaps travis ain't got enough memory? There aren't any issues in rakudos' travis runs tho | 22:30 | |
El_Che: how are you running the tests? Is that just normal `make test`? | |||
tbrowder | but my thinking is too parochial i’m sure. | ||
El_Che | lizmat: this travis build is a new run (will start shorttly). We'll see if the tests fail everywhere again: travis-ci.org/nxadm/rakudo-pkg/builds/321564136 | ||
Zoffix: yes | |||
Zoffix shrugs | 22:31 | ||
El_Che | same way as the packages are been built for quite some time | ||
Zoffix | m: my $a = 'a' x 1073741824 ; say $a.chars | ||
camelia | 1073741824 | ||
El_Che | only difference with pass and fail was the bump in rakudo, moarvm, nqp versions | ||
AlexDaniel | tbrowder: maybe some TODO tests for things that are not handled yet? | 22:34 | |
tbrowder | AlexDaniel: i need to investigate the details of the <pblock> more to see if more can be done with the existing format. and i will add tests for all chgs to be made and i can certainly add some tests known to fail unless all is handled properly in the interim. | 22:37 | |
i’ll touch base with you later this week. | 22:38 | ||
AlexDaniel | tbrowder: cool. Then let me know once that is done and we'll merge it |