[TuxCM] | This is Rakudo version 2016.11-21-gecc202e built on MoarVM version 2016.11-8-gb582aeb | 07:17 | |
csv-ip5xs 3.102 | |||
test 13.727 | |||
test-t 6.384 | |||
csv-parser 14.142 | |||
dalek | ast: 208b534 | usev6++ | S32-str/numeric.t: Fudge failing test for JVM, RT #130150 |
07:24 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130150 | ||
[TuxCM] is now shaving yaks for FROGGS to get libffi installed on HP-UX 11.23/pa2.0w | 08:06 | ||
☑ Up m4 to 1.4.17 | 08:11 | ||
autoconf 2.69 fails quite a lot. needs investigation | 08:12 | ||
dalek | kudo/nom: 573ed59 | (Samantha McVey)++ | src/core/REPL.pm: Make sure Readline loads input rc files for REPL |
08:14 | |
kudo/nom: c6d61f0 | (Samantha McVey)++ | src/core/REPL.pm: Make sure we only load from these locations if we're not using Windows |
|||
kudo/nom: 1c8cff7 | lizmat++ | src/core/REPL.pm: Merge pull request #922 from samcv/nom Make sure Readline loads inputrc config files |
|||
[TuxCM] | ☑ Up sed to 4.2.2 | 08:22 | |
psch | ConcreteRoleHOW is what's behind a punned role, isn't it? | 08:36 | |
oh, no | 08:37 | ||
m: role R { }; say R.new.HOW.^name | |||
camelia | rakudo-moar 1c8cff: OUTPUT«Perl6::Metamodel::ClassHOW» | ||
psch | m: role R { }; say R.HOW.^name | ||
camelia | rakudo-moar 1c8cff: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW» | ||
psch | huh | ||
m: role R { }; role S is R { }; say S.HOW.^name | 08:38 | ||
camelia | rakudo-moar 1c8cff: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW» | ||
psch | m: role R { }; role S is R { }; say S.new.HOW.^name | ||
camelia | rakudo-moar 1c8cff: OUTPUT«Perl6::Metamodel::ClassHOW» | ||
psch | anyway, to not X/Y-problem myself, i'm looking into jvminterop for Interfaces | 08:39 | |
and currently the most applicable path seems to be along the lines of a JavaInterHOW that implements unpunnable roles, backed by a Java Interface | 08:40 | ||
seeing as Interfaces are mostly constants and "you have to implement these methods" (plus default methods recently), that seems to fit pretty well | 08:41 | ||
oh, on that line i also feel inclined to ask whether we want to consider dropping java 1.7 support | 08:42 | ||
because, well, it's reached public end of support at 2015-04-14 2015 | 08:44 | ||
i suppose it depends on what debian is doing too though, i'd hate to not have 1.8 on hack but having to develop for it... :) | 08:45 | ||
well, openjdk-8 is in jessie-backports apparently packages.debian.org/search?keyword...njdk-8-jre | 08:49 | ||
moritz: is that feasible for hack? that is, adding jessie-backports to sources.list and upgrading to openjdk8 | 08:56 | ||
dalek | kudo/nom: bbbb2b6 | lizmat++ | src/core/native_array.pm: shaped(int|num|str)array.EXISTS-POS at least 20% faster By rewriting in nqp ops: please note there is no optimization for 1/2/3dimmed native shaped arrays yet |
09:17 | |
lizmat | afk& | 09:32 | |
moritz | psch: yes | 09:37 | |
psch: I've added you to the sudo group; so after you re-login you should be able to do those changes | 09:38 | ||
psch | oh geez, administrative responsibility /o\ | 09:39 | |
moritz | psch: that's what you get for asking :-) | ||
psch | uh, i don't think i remember my password, actually | 09:40 | |
only been using ssh-key login | |||
psch checks keepass | |||
ah, there it is, great | 09:41 | ||
arnsholt | Thank god for password managers =) | 09:42 | |
psch | so, the question that remains is, do i change the default java to openjdk-8 or not | 09:44 | |
i mean, backwards compat means there's prooobably no problem, right..? | |||
moritz | just change the default, and see who cries :-) | ||
tear-driven operations :-) | |||
psch | alright, that's done | 09:46 | |
now for building r-j with '-source 1.8' and see what happens | |||
viki | samcv: wouldn't your Readline PR attempt to .new() a Failure or whatever `require` returns when it can't load a module? | 11:29 | |
psch | m: say (try { require URI }).WHAT | ||
camelia | rakudo-moar bbbb2b: OUTPUT«Nil» | ||
psch | m: say (try { require URI }).new | ||
camelia | rakudo-moar bbbb2b: OUTPUT«Nil» | ||
jnthn | m: say Nil.new | ||
camelia | rakudo-moar bbbb2b: OUTPUT«Nil» | ||
jnthn | m: say Nil.new === Nil | ||
camelia | rakudo-moar bbbb2b: OUTPUT«True» | ||
viki | I see | ||
jnthn | Nil doesn't explode until it's gotta. | 11:30 | |
viki | samcv: would you add yourself to this file, unless you wish to appear as "samcv" in credits: github.com/rakudo/rakudo/blob/nom/CREDITS | 11:31 | |
samcv | ok thanks viki | ||
psch | i think dalek also uses the file for substituting in commit reports? | ||
or is that AUTHORS..? | 11:32 | ||
...or did AUTHORS migrate to CREDITS when i wasn't looking? :S | |||
samcv | viki, well it only calls that if the module already exists | 11:33 | |
viki | samcv: alright :) Was just curious | ||
samcv | i already tested it on brand new rakudo and 0 modules. yeah np | 11:34 | |
i was worried about that too :) | |||
made sure it compiled even without the module present, then worked once i installed the module | |||
ok viki done github.com/rakudo/rakudo/pull/923 | 11:42 | ||
dalek | kudo/nom: b86c747 | (Samantha McVey)++ | CREDITS: Add myself to CREDITS |
11:43 | |
kudo/nom: 4723b97 | (Zoffix Znet)++ | CREDITS: Merge pull request #923 from samcv/nom Add myself to CREDITS as requested in #perl6-dev |
|||
viki | Thanks | ||
samcv | glad to be a part of perl 6 :) | 11:46 | |
thank you all as well! | |||
viki | \o/ | ||
samcv | I just hope i can contribute more as time goes on, and as my time allows. I think perl 6 is the programming language of the future | 11:47 | |
viki | :) | 11:48 | |
samcv | done some roast tests and got that REPL change, feeling good about that. Haven't been a contributor to open source projects before like 6 months ago. But makes me happy to contribute | 11:49 | |
anybody know the guy who made the Perl 6 FE syntax highlighter for Atom though? I submitted a pull request with fixes for lots of kinds of fancy quotes and Q[] things and Qx[] and some other things, and also multi line comments with #`{{ or #`(( | 11:50 | ||
seen he hasn't done anything on github or twitter since june or something though :\ | 11:51 | ||
madcapjake i guess his github name is | 11:52 | ||
viki | Yeah, he's kinda dissapeared :) | ||
Worth bugging for a commit bit IMO, since that stuff is also used by GitHub's Perl 6 highlighter | |||
samcv | yeah | ||
was sad when i checked how long he's done anything in, cause i fixed a lot of things | 11:53 | ||
github.com/MadcapJake/language-perl6fe/pull/42 | |||
Q[$something] used to highlight interpolated things like variables as well, and now that's fixed too | 11:54 | ||
tho i forgot that in my example i think | 11:55 | ||
got almost all fancy quotes working except for reversed, double right quote then double left quote, or similar for single quote just cause. would require more testing i think... to make sure it didn't inadvertantly mess up | 11:56 | ||
jnthn | Pretty sure that I've run into at least a couple of the bugs you fixed while using Perl 6 FE. | ||
(And no, sadly I don't have write access to that repo either) | 11:57 | ||
samcv | yeah only he does :\ | ||
viki just twitted to MadcapJake | 12:02 | ||
Hopefully, there's a smartphone somewhere blinking a notification :) | |||
samcv | hopefully! | ||
otherwise maybe i'll message him on linked in i see he's there too | |||
he needs to give somebody else commit access or something :P | |||
dalek | kudo/nom: 4a711bc | lizmat++ | / (2 files): Make 1dimmed native arrays at least 3x faster AT-POS: 3.2x, ASSIGN-POS: 3.8x, EXISTS-POS: 3.5x By adding and activating the shaped1(int|num|str)array roles |
12:47 | |
kudo/nom: 302346e | seatek++ | CREDITS: Viki asked me to add my details |
12:48 | ||
kudo/nom: 080630c | (Zoffix Znet)++ | CREDITS: Merge pull request #924 from adaptiveoptics/patch-1 Viki asked me to add my details |
|||
MasterDuke | psch: fyi, i haven't really had time to work on it more, but building my branch with java 1.8 had no change | 13:06 | |
[Coke] | github? can always fork it, I suppose. | ||
psch | MasterDuke: i wouldn't have java 1.8 expected to change it actually. i'm pretty confident in my diagnosis -- i.e. ASM somehow doesn't read CONSTANT_Utf8 correctly from the InputStream -- but have no idea how to fix that | 13:07 | |
MasterDuke: well, excpet maybe "we have to call other visit methods first", but i'd assume that the ClassReader already does that... | 13:08 | ||
MasterDuke | well, for the heck of it i'll try asm 5.1 and java 1.8 | ||
lizmat | afk& | 14:10 | |
viki | m: say +"120e" | 14:22 | |
camelia | rakudo-moar 080630: OUTPUT«Cannot convert string to number: 'E' or 'e' must be followed by decimal (base-10) integer in '120e⏏' (indicated by ⏏) in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
viki | j: say +"120e" | ||
camelia | rakudo-jvm 76b061: OUTPUT«Cannot convert string to number: 'E' or 'e' must be followed by decimal (base-10) integer in '120e⏏' (indicated by ⏏) in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
psch | 080630 vs 76b061 | 14:24 | |
viki was looking at rt.perl.org/Ticket/Display.html?id=130150 | |||
Will fix when I get home | |||
psch | should be fine with a rakudo level fix i think | 14:25 | |
probably even preferable | |||
viki | Yeah, I already have an inkling of what is up. I never considered there may be nothing after 'e', so the code is trying to check `ord` of a char past string end | 14:35 | |
FROGGS | o/ | 15:49 | |
viki | \o\ | 16:01 | |
[Coke] wonders if we should remove use of autodie in our perl5 scripts to avoid issues on weirdo distros. | 17:00 | ||
dalek | kudo/nom: 17604e3 | (Zoffix Znet)++ | src/core/allomorphs.pm: Fix java error when parsing Num with missing exponent part The fix to parse U+2212 minus[^1] did not account that there may not be any characters after the "e", so the logic handling the sign was attempting to get an ord() of a character outside of the string, triggering java.lang.StringIndexOutOfBoundsException, yet being silent on MoarVM. Fix by checking our position is not past string end before ord()ing. Fixes RT#130150: rt.perl.org/Ticket/Display.html?id=130150 [^] github.com/rakudo/rakudo/commit/cb...bcc0679435 6ea6563 | (Bahtiar `kalkin-` Gadimov)++ | lib/Pod/To/Text.pm6: perl6 --doc=Text show signature parameter pod |
17:01 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130150 | ||
viki | github.com/rakudo/rakudo/commit/17...8ef04a5c31 | ||
github.com/perl6/roast/commit/2836...545372a02c | 17:02 | ||
lazy robot | |||
[Coke] | "I know you are, but what am I?" | 17:46 | |
diakopter | "that's my name, don't wear it out" | 17:48 | |
[Coke] | diakopter: HEY! | 17:54 | |
how's it going? | 17:55 | ||
kudo/nom: 689da7a | (Zoffix Znet)++ | lib/Pod/To/Text.pm6: Merge pull request #925 from kalkin/nom perl6 --doc=Text show signature parameter pod |
|||
dogbert17 | o/ anyone else having problems with t/spec/S04-declarations/constant.t breaking down with: MoarVM panic: Internal error: invalid thread ID 3 in GC work pass | 20:18 | |
viki | didn't have trouble today when I ran stresstest a few times | ||
RabidGravy | Not the test, but I've seen the panic in actual code in the last week or so | 20:19 | |
dogbert17 | hmm, I don't have more than 1.3 gigs of memory free in my vm, should be enough though | ||
dogbert@dogbert-VirtualBox ~/repos/rakudo $ make t/spec/S04-declarations/constant2.t | |||
rm -f -- perl6 | |||
cp -- perl6-m perl6 | |||
chmod -- 755 perl6 | 20:20 | ||
/usr/bin/perl t/harness5 --fudge --moar --keep-exit-code --verbosity=1 t/spec/S04-declarations/constant2.t | |||
t/spec/S04-declarations/constant2.rakudo.moar .. | |||
MoarVM panic: Internal error: invalid thread ID 3 in GC work pass | |||
RabidGravy | also AlexDaniel reported it in whateverable today, I think he has a golf | ||
viki | Um, what's constant2.t? I don't see it in the repo | 20:21 | |
dogbert17 | funny thing is, if i insert a 'sleep 1' after the plan statement, the problem goes away ?!?! | ||
viki: a copy of constant (verbatim) | |||
I was doing some experiments, trying to narrow it down but the run above is from a verbatim copy | 20:22 | ||
trying 'valgrind make t/spec/S04-declarations/constant.t' gives the message 'MoarVM panic: Internal error: zeroed target thread ID in work pass' | 20:33 | ||
heh, when I wiped lib/.precomp it segfaulted instead and when I reran it the MoarVM Panic returned | 21:21 | ||
Program terminated with signal SIGSEGV, Segmentation fault. | 21:23 | ||
#0 0xb74bc597 in MVM_gc_root_add_frame_registers_to_worklist (tc=0x903f450, worklist=0xc53df30, frame=0xd10a2e8) at src/gc/roots.c:402 | |||
402 MVM_gc_worklist_add(tc, worklist, &frame->work[i].o); | |||
timotimo | that looks painful | 21:27 | |
something you can do with valgrind? | 21:29 | ||
dogbert17 | I can try, used gdb so I have a good stack trace | ||
check gist.github.com/dogbert17/ef341289...b1ae975de9 | 21:30 | ||
timotimo | the backtrace is, unfortunately, not as helpful | 21:34 | |
dogbert17 | :( | ||
timotimo | it just shows where it explodes, but not what part of the code ends up writing a bogus pointer there | ||
the whole frame may be bogus, as it's just taking the address of a register in it ... or does worklist_add actually inspect the pointer's target, too? | 21:35 | ||
dogbert17 | it is strange, if you backlog a screenful you'll see that I had problems with t/spec/S04-declarations/constant.t | 21:38 | |
valgrind says 'MoarVM panic: Internal error: invalid thread ID 207067144 in GC work pass' | 21:39 | ||
timotimo | well, that's not something valgrind says | 21:41 | |
no messages prior to that? | |||
can you try configuring moarvm with --valgrind? it'll make the FSA a bit more robust. that's the piece of code we run for setting up that ->work[] thingie | |||
dogbert17 | ok, will do | 21:42 | |
now valgrind spits out 'Invalid Free' | 21:45 | ||
timotimo | fantastic | ||
dogbert17 | MVM_fixed_size_free_at_safepoint (fixedsizealloc.c:286) | 21:46 | |
timotimo | i have an idea about that | ||
dogbert17 | program is still running | ||
timotimo++ | |||
as soon as valgrind is done I'll put up a new gist | |||
timotimo | when the FSA is asked to free something, it'll always get the size of the thing passed | ||
that's one optimi zation the FSA has over other allocators | 21:47 | ||
however, if you pass the wrong size, things will definitely go asplode | |||
there's a define in fixedsizealloc.c (or maybe fixedsizealloc.h) that turns on a debug mode that tracks if the right sizes are passed for freeing pointers | |||
dogbert17 | this takes forever ... | 21:48 | |
timotimo | if you enable that, we ought to have a much better idea of what's going on | ||
yes, valgrind is excruciatingly slow | |||
dogbert17 | I think you're gonna like this, hold on | ||
gist.github.com/dogbert17/789bca68...1b3092aaff | 21:51 | ||
is it this line: #include "memdebug.h" | 21:54 | ||
timotimo | no | ||
it's a #define FIXEDSIZE_ALLOC_DEBUG 0 or something | |||
that we want to set to 1 | |||
dogbert17 | #define FSA_SIZE_DEBUG 0 ? | ||
timotimo | yes | ||
dogbert17 | set to 1 then? | ||
I'll do that as well | 21:55 | ||
timotimo | yup | ||
dogbert17 | does the rather bizarre valgrind output give any clues? | 21:56 | |
timotimo | bizarre? | 21:57 | |
overlapping blocks seems troublesome | |||
dogbert17 | this didn't go too well | 21:58 | |
MoarVM panic: Fixed size allocator: wrong size in free | |||
==7596== Memcheck, a memory error detector | |||
==7596== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. | |||
==7596== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info | |||
==7596== Command: /home/dogbert/repos/rakudo/install/bin/moar --full-cleanup --execname=./perl6-valgrind-m --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib --libpath=. /home/dogbert/repos/rakudo/perl6.moarvm -I lib t/spec/S04-declarations/constant.rakudo.moar | |||
==7596== | |||
MoarVM panic: Fixed size allocator: wrong size in free | |||
timotimo | okay, so it is how i assumed | ||
somewhere we're not tracking the size correctly | |||
dogbert17 | now it says that immediately ifen if I run something as simple as e.g. ./perl6-m -e ' say "Hallo"' | 22:01 | |
s/ifen/even/ | |||
timotimo | interesting | ||
i wonder if a recent commit i made made things super asplode | |||
dogbert17 | dogbert@dogbert-VirtualBox ~/repos/rakudo $ ./perl6-m --stagestats -e ' say "Hallo"' | 22:03 | |
Stage start : 0.000 | |||
Stage parse : MoarVM panic: Fixed size allocator: wrong size in free | |||
timotimo | i can't reproduce the issue :\ | 22:04 | |
what versions of all the things do you have? | |||
dogbert17 | This is Rakudo version 2016.11-31-g17604e3 built on MoarVM version 2016.11 | ||
running on 32 bit vm | |||
timotimo | oh, 32bit ... i wonder if that has anything to do with it | 22:05 | |
dogbert17 | there are plenty of warnings when building | ||
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | 22:06 | ||
several others have stumbled upon mysterious MoarVM Panics recently | 22:10 | ||
timotimo | oh shit, oh shit ... is this all my fault? | 22:11 | |
can you show these warnings? | |||
dogbert17 | src/profiler/log.c: In function ‘MVM_profile_log_allocated’: | 22:12 | |
src/profiler/log.c:230:31: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |||
MVMuint32 distance = ((MVMuint64)tc->nursery_alloc - (MVMuint64)obj); | |||
^ | |||
src/profiler/log.c:230:62: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |||
MVMuint32 distance = ((MVMuint64)tc->nursery_alloc - (MVMuint64)obj); | |||
there are more | |||
timotimo | oh, ok. we don't have to care about the profiler now | 22:13 | |
can you gist all warnings? | |||
dogbert17 | ok, sec | 22:14 | |
gist.github.com/dogbert17/8a6ea2b1...5b36c8d6c4 | 22:16 | ||
timotimo | none of those seem actually dangerous at all | 22:20 | |
dogbert17 | phew | ||
fresh install, no dice: MoarVM panic: Internal error: invalid thread ID 223027432 in GC work pass | 22:30 | ||
'./perl6 t/spec/S04-declarations/constant.rakudo.moar' always works './perl6 -I lib t/spec/S04-declarations/constant.rakudo.moar' always fails with a panic | 22:35 | ||
diakopter | dogbert17: how did you manage to spawn 223027432 threads? | 23:07 | |
I'm kidding. it just means junk data where it thought an object could be | |||
(gc error) | |||
dogbert17 | :-) I was hoping that my first gist would yield some clues but apparently not. gist.github.com/dogbert17/ef341289...b1ae975de9 | 23:08 | |
diakopter | junk data there *probably* means the object was moved but some pointer to it wasn't updated | 23:42 | |
(therefore, the allocator (and GC) ran without a variable's address being added to the list of pointers to update) | 23:47 |