[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 1␤␤Actually 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 1␤␤Actually 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