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? |