AlexDaniel if somebody is not following #perl6, see this irclog.perlgeek.de/perl6/2016-05-20#i_12514921 13:09
bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT 128181
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/6d120ca
MadcapJake 👍 that is nifty! 13:38
[Coke] AlexDaniel++ 13:40
btyler AlexDaniel: great work! that's really slick 13:45
AlexDaniel ;) 13:46
timotimo i wanted to build something similar in the past where it would list all outputs of a given piece of code in all versions
AlexDaniel in all 1000 versions? :O 13:49
timotimo obviously it ought to collapse consecutive versions that have the same output :)
AlexDaniel actually, running some code 1000 times will take less than one minute 13:51
not a problem at all
perhaps I can even implement that in bisectable 13:53
[Coke] is it running safe mode? 13:54
AlexDaniel it is using restricted setting, yes 13:55
[Coke] noice. 14:02
perlpilot AlexDaniel++ 14:03
AlexDaniel: do you auto-build a new rakudo on commit, or batch them up at some point? 14:08
AlexDaniel perlpilot: I do nothing right now 14:09
perlpilot: it is built for batch processing though, so I can run it again at any point and it will build remaining commits 14:11
initially I thought that I will just add it to cron and that's it, but now I'm not sure 14:12
perlpilot: how often would people want to test the latest commits?
perlpilot Depends. Many times I've noticed people exercising a bug that was committed within a few hours. But I have no idea how often that happens compared past bugs/behaviors. 14:21
I think running from cron would be find. You decide what time frame you want to handle and as long as it's well-known, all is well. 14:22
s/find/fine/
AlexDaniel: besides, if you build rakudos once a day (or whatever) and people start complaining that they have to wait a day to bisect behaviors instead of doing it immediately, that'll tell you how often people want the most up-to-date commits. 14:26
AlexDaniel perlpilot: well, at any time you can ping me and I'll just start it manually 14:28
perlpilot: it builds like 7 commits every 6 minutes 14:29
perlpilot: so just a tiny bit of patience will be enough :)
[Tux] This is Rakudo version 2016.04-208-ge39ce3d built on MoarVM version 2016.04-134-g9879233 14:41
test 20.786
test-t 13.283
csv-parser 38.496
perlpilot AlexDaniel: Is bisect able to tell us which commits it knows about? That would be useful to know. 14:50
especially if there are any pre-6.c bugs that people try to bisect :) 14:51
timotimo you can use exit 0 and exit 1 as the code to get the first and last commit :P 14:52
perlpilot AlexDaniel: oh! If it runs all the way to the first commit it knows about, does it report that commit or say something about not being able to find a commit in the set it knows about
?
timotimo: I guess that answers my question :) 14:53
timotimo there's a feature request that it'd point out that the commit is the earliest or newest commit it knows about
AlexDaniel perlpilot: I can probably build another thousand of commits before v6.c :) 14:55
nine What's the best way to debug a java.lang.NullPointerException in perl6-j? 15:24
brrt jdb? 15:31
not a very good debugger, i'll grant 15:32
but suitable
nine Currently trying to figure out how to use it
brrt has all but forgotten
i think you have to specifically attach somehow
nine Well it seems to need a small patch, same as gdb 15:33
dalek kudo/nom: dfac26d | niner++ | src/core/CompUnit/PrecompilationRepository.pm:
Fix debuggers hanging when the process needs to precompile

We try to use the same perl6 executable for precompilation as we use for running the main program. That's not a good strategy if the main program is running in a debugger as we'd start up a debugger for the precompilation, too and those conflict on tty or tcp ports.
15:36
nine Soo..how can I tell this jdb to actually stop on a NPE? 15:37
brrt uhm... 15:39
nine++ omg 15:40
i've needed that patch for /so/ long
catch is the thing, i think 15:43
nine Cool: now I know it appears at org.perl6.nqp.sixmodel.SerializationReader.deserialize(), line=106 15:44
And that line is about code refs, which is likely considering the changes I made 15:45
dalek rakudo/nom: c59e4dc | niner++ | src/core/CompUnit/PrecompilationRepository.pm: 16:41
rakudo/nom: Fix trying to load an outdated precomp file
rakudo/nom:
rakudo/nom: When a dependency of a dependency is outdated, we failed to recompile a
rakudo/nom: module, since we did detect it being outdated, tried to recompile but
rakudo/nom: the .precompile method thought someone else already got to it since it
rakudo/nom: only checked the modification time of the top level module.
rakudo/nom:
rakudo/nom: Fix by correctly communicating the failure state up far enough to know
rakudo/nom: to pass :force.
rakudo/nom:
rakudo/nom: Many thanks to llfourn++ for providing an excellent test case!
nine Please test! 16:42
timotimo cool 16:51
[Coke] travis is reporting in p6dev, not perl6-dev 17:00
nine just broke the build.
nine Seems like it's still just the jvm failures? 17:06
[Coke] oh, maybe. 17:07
nine Is there an equivalent to mast frames on the jvm? 17:09
I think it's really just that part of the BEGIN time EVAL fix that's missing
psch nine: i think CallFrame is the closest we have to MAST_Frame..? 17:25
that's if i'm not misinterpreting MAST_Frame 17:26
timotimo MAST_Frame is more like a StaticFrame 17:29
i.e. it turns into a piece of code in the output .moarvm file
whereas a CallFrame represents a piece of stack of actually running code 17:30
i.e. in a normally running program you'd have many more MAST_Frame-equivalents than CallFrames at the start and then depending on your program you'll end up with many more CallFrames
though maybe not all of the CallFrames alive at the same time, unless you have lots of closures or continuations
psch StaticFrame? every CallFrame has a StaticCodeInfo..? 17:31
timotimo that sounds relevant 17:32
the StaticFrame in moarvm contains the bytecode, but i expect the jvm version has something jvm-related for that
AlexDaniel eh, is there any way to get the rights to manage bugs on RT? 20:12
timotimo asking [Coke], afaik 20:13
[Coke] I need your RT login info and someone to vouch for you 20:23
AlexDaniel [Coke]: I am registered with this email: [email@hidden.address] 20:25
[Coke]: as for the voucher, I have no idea 20:26
[Coke] poof, you're a bugadmin 20:28
AlexDaniel thanks! 20:32
[Coke] RT: 1298; CONC: 7; GLR: 6; JVM: 68; LHF: 2; LTA: 69; NYI: 27; OSX: 6; PERF: 15; POD: 3; PRECOMP: 3; RFC: 17; SEGV: 19; STAR: 1; TESTNEEDED: 26; TODO: 10; UNI: 5; WEIRD: 2
if you have any questions about how to handle bugs, please ask before closing. 20:33
guess I should write it up somewhere to be safe, but basically: "always cc the list. you have to check the box", "don't close an rt without tests", "be nice"
AlexDaniel [Coke]: okay 20:34
[Coke]: #128177 20:48
[Coke]: did I do everything right?