|
00:07
lue joined
00:31
benabik joined
00:43
cognominal joined
|
|||
| japhb | Something weird is going on with nqp-m when outputting from rc-forest-fire. If I run 'nqp-m nqp/rc-forest-fire 16 16 100' then perhaps half the time, instead of ending the run with a normal looking frame, the output is corrupted -- some rows twice as wide, the frame number in the corner wrong or in the wrong spot, the shell prompt invisible and somewhere in the middle of the printed frame. | 01:18 | |
| *But* this doesn't occur if I put an nqp::sleep(0.01) after the '$f.step;' line. Higher sleep times work too; too much shorter and the output is corrupted again. | 01:20 | ||
| I've confirmed at a straight shell, in a screen, and in a screen over ssh, and the behavior is the same in all cases, so I don't think it's a problem with how the output is being rendered. | 01:21 | ||
| I have a sneaking suspicion that really fixing this (whatever it is) could make I/O on Moar much more stable, but it's just a hunch. The problem just happens to trigger a pattern match somewhere in my brain. | 01:23 | ||
|
01:47
ilbot3 joined
06:23
oetiker joined
06:26
woolfy left
06:38
zakharyas joined
|
|||
| jnthn | japhb: I've not encountered a situation where I/O (at least, aside from the async socket stuff which is still a WIP) was unstable. | 06:56 | |
|
06:57
FROGGS joined
|
|||
| jnthn | japhb: So, not really sure what's going on there... | 06:58 | |
| japhb: Where's the script in question? | |||
| nwc10 | jnthn: business as usual - ASAN only unhappy with t/spec/S17-lowlevel/lock.rakudo.moar | 08:59 | |
|
09:07
Util joined
|
|||
| FROGGS | that is the real error for lwp-simple: | 09:31 | |
| Program received signal SIGSEGV, Segmentation fault. | |||
| 0x00007ffff79dcfa4 in MVM_6model_try_cache_type_check () from /home/froggs/dev/star/work-m/rakudo-star-2014.05/install/lib/libmoar.so | |||
| optimize_bb is in the bt | 09:32 | ||
| (gdb) p *obj | 09:33 | ||
| $1 = {header = {owner = 44763016, flags = 0, size = 0, sc_forward_u = {forwarder = 0x2856c78, sc = {sc_idx = 42298488, idx = 0}, st = 0x2856c78}}, st = 0x0} | |||
| from: | 09:34 | ||
| 0x00007ffff79dcfa4 in MVM_6model_try_cache_type_check (tc=tc@entry=0x6035e0, obj=0x7ffff678bde8, type=0x2857e60, result=result@entry=0x7fffffffd640) at src/6model/6model.c:280 | |||
| 280 MVMuint16 i, elems = STABLE(obj)->type_check_cache_length; | |||
| okay, it definitely is a spesh bug | 09:50 | ||
| optimize_istype sometimes gets garbage | 09:51 | ||
| timotimo | oh crap | 09:52 | |
| didnt i make that? | |||
| FROGGS | timotimo: the thing in optimize_istype already is messed up | 09:53 | |
| err | |||
| in MVM_spesh_get_facts(tc, g, ins->operands[1]) | |||
| timotimo | oh, huh | ||
| jnthn | yes, that's a garbage address | 10:12 | |
| Can you dump the facts? | 10:13 | ||
| (what get_facts returns) | |||
| FROGGS | (gdb) p *MVM_spesh_get_facts(tc, (MVMSpeshGraph *)0x6632470, ((MVMSpeshIns *)0x6ecdd90)->operands[1]) | 11:55 | |
| $1 = {flags = 13, usages = 1, type = 0x7ffff678c6f8, decont_type = 0x0, value = {o = 0x0, i64 = 0, i32 = 0, i16 = 0, i8 = 0 '\000', n32 = 0, n64 = 0, s = 0x0}} | |||
| (gdb) p *MVM_spesh_get_facts(tc, (MVMSpeshGraph *)0x6632470, ((MVMSpeshIns *)0x6ecdd90)->operands[2]) | |||
| $2 = {flags = 23, usages = 1, type = 0x2857e60, decont_type = 0x0, value = {o = 0x2857e60, i64 = 42303072, i32 = 42303072, i16 = 32352, i8 = 96 '`', n32 = 1,96151293e-37, | |||
| n64 = 2,0900494588748753e-316, s = 0x2857e60}} | |||
| jnthn | hm, that type pointer in the first one looks bogus... | 11:57 | |
| FROGGS | (gdb) p *0x7ffff678c6f8 | 12:01 | |
| $3 = 95801272 | |||
| whatever that means | |||
| (gdb) p *0x2857e60 | |||
| $4 = 1 | |||
|
12:29
donaldh joined
|
|||
| timotimo | hmm, we didn't end up fixing the string performance for this month's release | 12:45 | |
| moritz | there's still another release next month :-) | 12:50 | |
| timotimo | aye | ||
| jnthn | That's the nice thing about monthly releases :) | 12:56 | |
| timotimo | somehow i'm not really blown away by these benchmarks; at least by the one-year-progress aspect of it | 12:58 | |
| jnthn | Remember it's a log graph | 13:03 | |
| The improvements to Rakudo are fairly notable. | |||
| (A factor of 5 difference is the difference between a 50fps game and a 10fps one - which is a "can I even use Perl 6 for X" difference) | 13:10 | ||
| tadzik | :) | 13:13 | |
|
13:14
FROGGS joined
|
|||
| timotimo | troo | 13:17 | |
| log-log is counterintuitive :( | |||
| perl5 is still a long way away for our rakudo's | 13:18 | ||
| the difference in start-up-time and memory usage for mostly empty programs is quite gigantic, too | 13:21 | ||
| still hoping someone gets around to making chunks of the core setting loaded on-demand | |||
| FROGGS | that would be premature atm I think | 13:23 | |
| timotimo | how so? | 13:24 | |
| FROGGS | I'd say there a holes in the spec and in the implementation that are like 1000 times more important than using 98MB less mem for a one-liner | 13:28 | |
| are* | |||
|
14:07
btyler joined
15:11
jnap joined
16:55
zakharyas joined
|
|||
| FROGGS | jnthn: I was not able to hunt that bug any further, so I checked out the older version of MIME::Base64 | 17:25 | |
| jnthn: and will run module tests with latest vm/compiler versions now | |||
| jnthn | FROGGS: How do I recreate that bug? | 17:59 | |
| FROGGS: Or can you set MVM_SPESH_LOG=spesh_log and run the thing that SEGVs and send me it? | 18:00 | ||
| FROGGS | jnthn: you should get it by installing latest MIME::Base64 and LWP::Simple | ||
| jnthn: I can, just need to switch back to newer versions of the modules | |||
|
18:02
jnap joined
|
|||
| FROGGS | jnthn: I hope I put enough stamps on it :o) | 18:07 | |
|
18:11
btyler joined
|
|||
| jnthn | FROGGS: Thanks; dinner now, will look in a bit. | 18:19 | |
| FROGGS | k | 18:20 | |
| timotimo | jnthn: should i still paste that for loop thingie that gives the fixup handlers error into a github issue? | 18:56 | |
| jnthn | timotimo: yeah, please...I'll take a look at that now, though | ||
| timotimo | OK fair enough | ||
| github.com/MoarVM/MoarVM/issues/104 | 18:58 | ||
| jnthn | Reproduced it. | 19:08 | |
| FROGGS | hmmm, my r-m* fails with the same version [Coke]++ has (and his passes) | 19:09 | |
|
19:19
raiph joined
|
|||
| dalek | arVM: 98ced1e | jnthn++ | src/spesh/ (7 files): Fix frame handler end move in instruction deletion Closes #104. |
19:30 | |
|
19:32
donaldh joined
|
|||
| jnthn | timotimo: One bug squishd. :) | 19:33 | |
|
19:38
brrt joined
|
|||
| brrt | \o #moarvm | 19:39 | |
| jnthn | o/ brrt | ||
| brrt | how's today been :-) | ||
| FROGGS | hi brrt | ||
| my today was okay :o) | 19:40 | ||
| brrt | hi froggs, jntnh :-) | ||
| jnthn | tiring, but the week's teaching is done. | ||
| The week's traveling is yet to come. | |||
| brrt | oh, yes, exciting :-) | 19:41 | |
| mine has been ... tiring as well. first moment i get some time to think today | |||
| oh, by the way,i was wrong about the move node (again) | 19:42 | ||
| i forgot the register-by-register combinatoions, which are at least 4x4, so that gives us 16*6 = 96 ? combinations | |||
| and that is severely restricting the number of registers we could use | 19:43 | ||
| anyway, i already have a better idea for now :-) | 19:44 | ||
| hoelzro - i saw it in my mail too (the dynasm tutorial / reference) | 19:46 | ||
| it's a good resource i think | 19:47 | ||
| something i did not see but which is really really handy | 19:48 | ||
| you can end dynasm statements with a semicolon | |||
| and that makes automatic c-mode indentation and coloring work :-) | 19:49 | ||
|
19:56
zakharyas joined,
carlin joined
|
|||
| jnthn | FROGGS: Seeing if I can reproduce the issue now | 19:59 | |
| brrt | /join #polari | 20:00 | |
| huh, that doesn't work in empathy? | |||
| jnthn | fail :) | ||
| Did you accidentally a space before it? | |||
| brrt | perhaps | ||
| likely | |||
| :-) | 20:01 | ||
| jnthn | At least it wasn't /join #phpfanclub :P | ||
| FROGGS | jnthn: if you need more infos or tests, I have the shell still open | 20:02 | |
| jnthn: #phpfanclub is empty :( | |||
| but in #php are 652 ppl | 20:03 | ||
| jnthn | FROGGS: binary-and-long-line.t failed a test...is that same for you? | 20:05 | |
| FROGGS | no | ||
| that's mine: modules/perl6-lwp-simple/t/get-w3-latin1-utf8.t | 20:06 | ||
| modules/Perl6-MIME-Base64/t/binary-and-long-line.t always passes here | 20:07 | ||
| jnthn | may be a windows line ending issue | 20:08 | |
| --notests it | 20:09 | ||
| URI installed | |||
| t/get-perl6-org.t and t/get-unsized.t both SEGV for me. | |||
| FROGGS | O.o | ||
| hopefully the very same bug :o) | 20:10 | ||
| jnthn | argh...how do I get Panda not to trash the .work after the fail... | ||
| FROGGS | wow, #php is not very nice :o) | ||
| jnthn: remove the rm_RF calls? | 20:11 | ||
| jnthn | or ^C at an opportune point :) | ||
| FROGGS | hehe | ||
| grep for rm_rf if you arn't lucky | |||
| brrt | i didn't add the space that time jntnh :-p | 20:13 | |
| FROGGS | brrt: but now you spelled him wrong, twice :P | 20:15 | |
| brrt | :-( not my day | ||
| FROGGS | ahh, np, just make no typos in your code :o) | 20:16 | |
| timotimo | FROGGS: how did you find out? | ||
| FROGGS | timotimo: find out what? | 20:17 | |
| timotimo | that #php isn't nice | 20:18 | |
| FROGGS | timotimo: well, I'm in there | ||
| and one is asking a question and like five ppl say him that they do not want to answer, and he wasn't trolling | 20:19 | ||
| timotimo | o_O | ||
| FROGGS | <cythrawll> you're using mysql_* functions how much crazier can it get? | 20:20 | |
| <javalover> oh gawd | |||
| * diegoholiveira hat die Verbindung getrennt (Quit: My iMac has gone to sleep. ZZZzzzā¦) | |||
| <javalover> i can't take this you racist people | |||
| as I said... | |||
| brrt kind of has to see for himself | 20:21 | ||
|
20:22
brrt left,
brrt joined
|
|||
| timotimo | er ... wow. | 20:22 | |
| brrt | that stuff is pretty nasty, it seems | 20:23 | |
| FROGGS - fwiw, i think this is a 'PHP should be OOP' kind of discussion | 20:27 | ||
| FROGGS | they could just try to explain better, instead of denying answers... but that is enough OT here :o) | 20:29 | |
| jnthn | FROGGS: Yes, it's in optimize_istype | 20:32 | |
| FROGGS | cool! | ||
| but I guess the problems sits somewhere way earlier | |||
| jnthn | yeah | 20:41 | |
| dalek | arVM: 9ebdc64 | jnthn++ | src/spesh/graph.c: Fix copy-pasto in spesh graph GC marking. |
20:44 | |
| FROGGS | is that related? | 20:45 | |
| jnthn | That's it. | 20:46 | |
| FROGGS | uhhh | ||
|
20:46
vendethiel joined
|
|||
| jnthn | Thus why the pointer was garbage. | 20:46 | |
| FROGGS | I've already pulled, made the dummy release and configured :o) | ||
| let's see | |||
| jnthn | I did notice another issue in that code that I'll address now too | 20:47 | |
| FROGGS | jnthn++ | ||
| timotimo | i need to run that single benchmark again :3 | ||
| now that it will no longer crash | |||
| jnthn | One rather less likely to actually manifest itself. | ||
| FROGGS | awesome! | ||
| jnthn | But want to fix it too before I forget it :) | 20:48 | |
| Anyway, above commit should nail the issue with LWP | |||
| dalek | arVM: 21e548c | jnthn++ | src/spesh/graph.c: Add missing marking of known value facts. |
20:58 | |
| arVM: e68d0ea | jnthn++ | docs/ChangeLog: Two more ChangeLog notes. |
20:59 | ||
| jnthn | So, I'm traveling tomorrow, so will cut the MoarVM release this evening. | 21:00 | |
|
21:04
btyler_ joined
|
|||
| dalek | arVM: d253acc | jnthn++ | README.markdown: README tweaks. |
21:05 | |
| nwc10 | jnthn: ASAN is looking happy at 9ebdc64af5 | ||
| FROGGS | jnthn++ # confirmed, it works! | ||
| nwc10 | but I don't think I can get you an answer for anything later before tomorow morning, so too late | ||
| t/spec/S32-io/IO-Socket-Async.t not reliable | 21:07 | ||
| t/spec/S17-lowlevel/lock.rakudo.moar the usual. | |||
| jnthn | yeah | ||
| I plan to look at those two in the next release cycle | |||
| I was rather short on good concentration time in the last month, and inlining was hard enough to nom it all | 21:08 | ||
| nwc10 | oh my, yes, inlining looked big | ||
| bit like my pizza at lunchtime | |||
| jnthn | Well, and it's not all the way there yet, but the really hard stuff is done. | ||
| nwc10 | (except that I got to nom it) | ||
| I guess stuff like "don't inline if it uses extops" was punting, not "never" | |||
| jnthn | Right | ||
| Same with frame handlers. | 21:09 | ||
| The deopt was the really tricky piece, tbh. | |||
| The graph merge was more tedious and fiddly than hard. | |||
|
21:18
vendethiel joined
|
|||
| brrt | hmm, moar-jit can't build nqp it seems | 21:19 | |
| thats weird | |||
| FROGGS | merge in MoarVM/master? | 21:21 | |
| jnthn | Check the jit log? :) | 21:22 | |
| brrt | no, its a jit bug | ||
| doing that | |||
| code looks good, though | |||
| FROGGS | jitterbug | ||
| brrt | its weirder | ||
| apparantly its' trying to enter a NULL jitcode | |||
| it is | |||
| and that is being caught | |||
| but how is it possible at all, is what i'm wondering | 21:23 | ||
| nwc10 | ask valgrind what valgrind thinks? | ||
| brrt | that is a great idea | ||
|
21:25
japhb_ joined
|
|||
| brrt | no, its weirder | 21:26 | |
| but i probably know why | |||
| hmm | 21:27 | ||
| or not | |||
| here's the thing | 21:29 | ||
| nqp throws the 'try to enter NULL jitcode', whcih is what happens with the sp_jit_enter opcode and the jitcode pointer is null | |||
| i.e. unintiialized | |||
| so i try to throw an exception before that is assigned to null | 21:30 | ||
| nope, doesn't happen | |||
| brrt just had another awesome idea wrt to return-value-handling | 21:32 | ||
| why not allocate an extra register, and put the return-value pointer there? then, the graph constructor can insert any extra 'work' ops after using that register | 21:33 | ||
| nwc10 | jnthn: same result for d253acc4e1d350 and I should go to bed | 21:36 | |
| jnthn | nwc10: Thanks for testing; sleep well :) | 21:38 | |
|
21:45
donaldh joined
|
|||
| dalek | arVM: 1dc4118 | jnthn++ | VERSION: Bump VERSION. |
22:02 | |
| brrt | oh, i see | 22:04 | |
| (i'm just talking to myself, nothing to see here :-)) | |||
| jnthn | :) | ||
| brrt | hmmmm | 22:10 | |
| what seems to happen is that some codes calls the MVM_OP_sp_enter_jit opcode, but there is no jitcode set | 22:11 | ||
| i.e. no compiled function | |||
| and... that should be impossible, really | 22:13 | ||
| i.e. | |||
| it should be caught before that | |||
| jnthn | hmmm | 22:14 | |
| brrt | that, or the spesh cand is replaced but its bytecode is not? | ||
| i can't believe that, though | |||
| jnthn | deopt does that but...I don't think you're doing anything that could trigger that | 22:15 | |
| oh, and it does replace bytecode | 22:16 | ||
| So not even then. | |||
| brrt | what are things that can trigger deopt? sp_guard*, right? | ||
| jnthn | yeah, well, and there's deopt_all, but you have to be deeper in the stack for that. | 22:18 | |
| And you aren't. | |||
| Because iiuc, you can't compile invoke yet? | |||
| brrt | nope | 22:19 | |
| jnthn | Can always dump the backtrace each time you enter JIT code and see if there's anything intersting to see | 22:20 | |
| brrt | that may be a good idea | 22:22 | |
| dalek | arVM: bb37476 | jnthn++ | src/6model/reprs/MVMMultiCache.c: Don't look "inside" container type objects. Fixes various multi-cache related SEGVs when talking about Scalar. |
22:32 | |
| brrt | i.. don't think i'm going to find the bug today :-( | 22:35 | |
| jnthn | Well, sometimes sleeping on it helps a lot :) | 22:40 | |
| brrt | true | 22:48 | |
| my current best guess is that spesh and jit claim the same opcode number | |||
| although that'd be weird | |||
| but possible, i guess | 22:49 | ||
| hmm, now i'm a bit of stuck | |||
| (make -j is awesome, though) | 22:51 | ||
|
22:51
nebuchad` joined
|
|||
| brrt | ok, i'm going to sleep | 22:54 | |
| brrt off | |||
| dalek | href="https://moarvm.org:">moarvm.org: fd21c48 | jnthn++ | / (3 files): Update site for 2014.06 release. |
23:08 | |
| jnthn | www.moarvm.org/ # 2014.06 is out :) | ||
| And I'm off. 'night | 23:12 | ||
| timotimo | Gnite jnthn | 23:17 | |
|
23:23
bcode_ joined
23:45
japhb joined
|
|||