01:18
vendethiel joined
|
|||
[Coke] | moar is failing 40+ tests on rakudo on os x. | 01:29 | |
er. | |||
sorry, on hack.p6c.org | |||
01:47
ilbot3 joined
01:50
colomon joined
01:57
prammer joined
|
|||
[Coke] | not able to build rakudo-j on my 4G laptop anymore. | 02:12 | |
(nqp-j, even) | |||
02:20
vendethiel joined
02:51
vendethiel joined
03:52
vendethiel joined
04:34
ggoebel2 joined
05:12
vendethiel joined
05:42
vendethiel joined
06:07
vendethiel joined
06:58
FROGGS joined
|
|||
FROGGS | o/ | 07:00 | |
lizmat | [Coke]: I have no trouble building JVM rakudo HEAD on OS X | 07:20 | |
07:32
TimToady joined
07:46
vendethiel joined
07:47
zakharyas joined
08:52
vendethiel joined
|
|||
jnthn build nqp-j only a day or two ago 'cus he was working on adding the multidim stuff | 08:52 | ||
09:40
vendethiel joined
10:13
vendethiel joined
12:05
rurban joined
|
|||
[Coke] | lizmat, jnthn (whoops, wrong window on the jvm stuff). I remember the build being fiddly ages ago and needing to change how much memory we asked for during the build. I may have lost a local mod (this is an old laptop) | 12:17 | |
will just hope he gets the 16G one back soon. | |||
dalek | arVM: f22142b | hoelzro++ | src/io/procops.c: uv_close a proc handle when we're done reading Fixes Rakudo RT #125616 uv_read_stop prevents further reads from being scheduled on a handle, but apparently doesn't close the OS file descriptor. This caused a runaway descriptor allocation when tapping standard output or error on Proc::Async |
13:09 | |
jnthn | hoelzro++ | 13:13 | |
timotimo | good catch, hoelzro++ | 13:14 | |
jnthn | hoelzro: Don't suppose you could commit a test for that? | ||
hoelzro | jnthn: sure, in roast? | 13:15 | |
jnthn | Please | ||
hoelzro | timotimo: it's only because I ran into it =) | ||
timotimo | well, you're apparently doing a better job at actually using our stuff than me ;) | ||
recently my perl6 activities have been pretty limited | |||
hoelzro | I'm *really* trying lately to actually use Perl 6 instead of fixing every little problem I encounter | 13:16 | |
JimmyZ | github.com/MoarVM/MoarVM/blob/f221...ops.c#L715 # how about this one ? | ||
hoelzro | JimmyZ: that's a good question; I think that also should change | ||
timotimo | hoelzro: i hate to say you're still fixing problems in core :S | 13:17 | |
hoelzro | timotimo: xkcd.com/597/ | 13:18 | |
also, this makes me sad: github.com/search?utf8=%E2%9C%93&a...rchresults | |||
jnthn | hoelzro: I'll bump MOAR_REVISION/NQP_REVISION also too | 13:19 | |
Think I'm about to fix another regex engine bug | |||
timotimo | abort is the thing that makes the process die with SIGABRT? | ||
hoelzro | jnthn: I might have another change coming | ||
timotimo: yes | |||
jnthn | hoelzro: ah, ok | ||
hoelzro | jnthn: I'm thinking of throwing an adhoc exception for github.com/MoarVM/MoarVM/issues/165 | ||
just so people (ie. me) are not surprised when that bug happens | 13:20 | ||
timotimo | so libuv isn't very fault tolerant? | ||
hoelzro | timotimo: apparently not =/ | ||
timotimo | yeah, that issue still boggles my mind | ||
hoelzro | be back shortly; have to see my wife off to work | ||
jnthn | hoelzro: We could do that for now, yes | 13:22 | |
hoelzro: I suspect this may be the issue that pushes us away from libuv for sync IO | |||
hoelzro | alright, I'll get on that then | 13:40 | |
13:49
zakharyas joined
|
|||
hoelzro | jnthn: you can go ahead and bump MOAR_REVISION if you want; that bug is proving more interesting than I'd thought =/ | 13:56 | |
jnthn | ok :) | ||
Current ongoing discussion on #perl6 may give me a second NQP change to do anyway | 13:57 | ||
timotimo first read up to "second NQP" and was like "another??" | 14:00 | ||
jnthn | hoelzro: Congrats, you win an MSVC warning! | 14:13 | |
compiling src\io\procops.obj | |||
procops.c | |||
src\io\procops.c(699) : warning C4133: 'function' : incompatible types - from 'uv_stream_t *' to 'uv_handle_t *' | |||
hoelzro | ah, crap | ||
I *did* see that with GCC; I just forgot to go back and fix it =/ | |||
jnthn | ah, ok | 14:14 | |
timotimo | uv kinda plays it fast and loose with those "types" :) | 14:15 | |
but to be fair, we also treat everything as an MVMCollectable at some points | 14:16 | ||
i guess it's common practice | |||
dalek | arVM: d83ec82 | hoelzro++ | src/io/procops.c: Fix compiler warning when using uv_close |
||
arVM: 07daf04 | hoelzro++ | src/io/procops.c: Use uv_close in Proc::Async read error case as well |
|||
timotimo | and a language like C++ also does it, it just hides the vtable a bit better? | ||
hoelzro | timotimo: I think C++ just has rules for when a pointer to type A can be treated as a pointer to type B | 14:17 | |
commute & | |||
14:20
FROGGS joined
|
|||
jnthn | So, hunting concurrency bugs that are above VM level is getting tricky. | 14:49 | |
Thankfully, we have The Technology to instrument bytecode | 14:50 | ||
I think I'm going to see if I can hack up some env-var-enabled overly-simplistic analysis tool to help | |||
timotimo | that'd be pretty interesting | 14:51 | |
anything particular you're going to model it after? | |||
jnthn | That will spot when a thread writes to something that it didn't allocate | ||
Not really...I know about some of the good algorithms but I don't actually need that level of sophistication yet | 14:52 | ||
(The good algos want you to do stuff like vector clocks, establish the happens-before relation, and so on) | 14:53 | ||
But the bugs I've got seem to be where at some point we end up with supposedly shared-nothing code accidentally sharing | |||
timotimo | right | 14:54 | |
jnthn | And while some were MoarVM's fault, many of them are code-gen bugs | ||
timotimo | that seems sorta-easy to spot, as we have an owner field in all objects already | ||
jnthn | Right | ||
timotimo | cool | ||
14:56
JimmyZ_ joined
15:15
lizmat joined
15:23
Ven joined
16:20
hoelzro_trying_w joined,
retupmoca joined,
timotimo joined
16:40
cognominal joined
17:12
vendethiel joined
17:34
vendethiel joined
18:13
zakharyas joined
19:41
Peter_R joined
20:32
colomon joined
|
|||
dalek | arVM: 5227f5e | jnthn++ | / (15 files): Add cross-thread write debug logging. Enabled by setting MVM_CROSS_THREAD_WRITE_LOG in the environment. Uses bytecode instrumentation and squeals when one thread does a write to an object allocated by another thread, and isn't under lock. (You may set MVM_CROSS_THREAD_WRITE_LOG_INCLUDE_LOCKED in order to include the writes done while holding a lock also). Does not yet deal with binds to lexicals in a frame entered by another thread, but gets object, array, and hash mutations nailed. |
20:52 | |
20:54
colomon joined
|
|||
jnthn | Nicely shows up that something very odd is going on with RT #125161 | 20:59 | |
hoelzro | yaaaaaay | 21:00 | |
jnthn++ | |||
21:01
synbot6 joined
|
|||
jnthn | Of course, I've still to figure out what exactly, but it gives me stack traces showing where the unexpected cross-thread writes happen. | 21:02 | |
21:20
TEttinger joined
21:38
colomon joined
|
|||
nwc10 | jnthn: seems that Rakudo build fails becaose instrument/crossthreadwrite.h is not installed | 21:51 | |
In file included from src/vm/moar/ops/perl6_ops.c:2:0: | |||
/home/nicholas/Sandpit/moar-san/include/moar/moar.h:179:41: fatal error: instrument/crossthreadwrite.h: No such file or directory | |||
jnthn | nwc10: interesting... | 21:52 | |
I didn't actually try one of those :) | 21:53 | ||
Though, I didn't bump MOAR_REVISION either ;) | |||
dalek | arVM: 938098d | jnthn++ | build/Makefile.in: Fix "make install" to know about src/instrument. nwc10++ for reporting. |
21:54 | |
jnthn | That should do it. | ||
.oO( If he calls it "moar san", does that mean he considers it his equal? :) ) |
21:56 | ||
nwc10 | it has friends such as moar-O2, moar-g moar-32 and even moar-clang-O2 | 21:57 | |
hoelzro | why didn't Travis pick up that failure? | 21:58 | |
nwc10 | not smoking the newest crack? Just the current versions? | 22:01 | |
or only re-doing Rakudo if Rakudo changes? | |||
hoelzro | MoarVM has its own Travis config, doesn't it? | 22:02 | |
nwc10 | either way, it's a good question, and it would be useful if there was a travis that could smoke master/master/nom for any change in all 3 (er 4, roast) | ||
but this isn't me volunteering to figure out how to do it :-) | |||
hoelzro | =) | ||
I wanted to hack a little Travis script that would verify my modules build against the latest Rakudo once a day, if they hadn't been built that day | 22:03 | ||
hoelzro .oO( Triple Travist? ) | |||
now I need to set it up just for the name =) | 22:04 | ||
it's a shame that Rakudo doesn't spectest in Travis as well | |||
jnthn | Note that Rakudo was only affected if you're a HEAD-chaser | 22:05 | |
Most folks follow the recomended NQP/Moar revisions, and I suspect the Travis builds do too | |||
hoelzro | the Travis builds use both the NQP_REVISON and NQP master | 22:06 | |
github.com/rakudo/rakudo/blob/nom/...is.yml#L27 | |||
nwc10 | to be clear (and I don't think anyone misunderstood me, but to be sure to be sure) I meant "would be useful in addition to what we have currently" | 22:07 | |
jnthn | aha | 22:09 | |
hoelzro++ # knowing where to look up this stuff :) | |||
hoelzro | this sounds right up our alley: github.com/travis-ci/travis-ci/issues/249 | 22:10 | |
jnthn | cool :) | 22:12 | |
OK, enough for me today | 22:13 | ||
'night, y'all | |||
hoelzro | good night jnthn | ||
23:16
nebuchadnezzar joined
|