Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-09-04

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 vendethiel- joined #moarvm
00:11 btyler joined #moarvm
00:11 moritz_ joined #moarvm
01:00 FROGGS_ joined #moarvm
01:04 avuserow joined #moarvm
01:23 avuserow joined #moarvm
02:00 FROGGS__ joined #moarvm
05:19 TimToady cut down version of t/spec/integration/99problems-51-to-60.t with a gdb stacktrace indicating GC issues: https://gist.github.com/anonymous/5aa8c0d7b4c99d75da35
05:24 TimToady at first I thought it might be GatherIter depending on sentinel addresses that can move, but changing them to something more constant doesn't help
05:25 TimToady not that doing address comparisons on [] isn't potentially problem, methinks, but it's not the problem in this case
05:26 TimToady or do you guys know something about [] that I don't?
05:27 TimToady (Any.new.WHICH doesn't improve things from the GC perspective, assuming WHICH is not subject to gen2 movement)
05:31 TimToady also, despite the recursive gathers, it doesn't seem to be related to the batching change that collects up to 1000 takes in eager context; changing that back to 1 still segfaults
05:32 TimToady it does seem to delay or suppress the failure if we use := instead of = when generating the trees, so eager context does bring the failure earlier somehow
06:27 nwc10 TimToady: that test fails under ASAN (unless SPESH is disabled)
06:28 nwc10 (the full sized spectest)
06:28 nwc10 I'm rebuilding master/master/nom with ASAN again to try the cut down version
06:34 TimToady cool, hope it finds something, though these sorts of problems are notoriously heisenbuggy
06:36 nwc10 me too, otherwise you've just found a different bug
06:41 sergot hi o/
06:41 nwc10 \o
06:45 FROGGS morning #moarvm :o)
06:48 nwc10 TimToady: in that gist, if I just run the code in the blocks after "This is from:" ASAN built rakudo doesn't barf.
06:48 nwc10 The entire spectest still barfs, with a stacktrace similar to yours
06:48 nwc10 #0 0x7ffb944bac20 in scan_registers src/gc/roots.c:376
06:48 TimToady well, it's very sensitive to prior activity
06:49 TimToady that was about as far as I could cut it down here and still get it to misbehave
06:49 nwc10 is trying to read a location 0 bytes after a region allocated by allocate_frame()
06:49 FROGGS I guess that is due to our heat seeking spesh
06:49 FROGGS I once disabled all spesh opts and then enabled them one by one to see what opts make it explode
06:50 FROGGS at that time a combination of two were to blame, so there can be many combinations in this case :/
06:50 nwc10 FROGGS: I tried to do something similar on PPC and went from SEGV after 8 tests (my actual bug) to instant SEGV. Is there a good way to do that disabling?
06:52 TimToady btw, my snippet still dumped with MVM_DISABLE_JIT
06:53 FROGGS nwc10: I just commented out the cases of the switch at src/spesh/optimize.c:1025
06:53 FROGGS dunno if that is a good way or not
06:53 nwc10 I tried to do that.
06:53 nwc10 at least, I thought that I did that
06:53 nwc10 anyway, if I try it again and it fails
06:54 nwc10 then I plan to use git log to work out the reverse order of which things were added to that switch
06:54 nwc10 and comment out one by one
06:54 FROGGS and timotimo++ confirmed that one optimization was buggy, so he commented it out for a while (and fixed it just a week ago IIRC)
06:55 nwc10 Kaboom was on master/master/nom earlier this week
06:55 nwc10 and is also in the earlist version I can get to build
06:55 nwc10 so it's probably a different thing
07:02 zakharyas joined #moarvm
08:06 colomon joined #moarvm
08:11 colomon joined #moarvm
08:55 woolfy left #moarvm
11:47 nebuchad` joined #moarvm
11:51 bcode joined #moarvm
11:51 bcode joined #moarvm
11:51 daxim joined #moarvm
11:54 bcode joined #moarvm
13:22 lastofthe joined #moarvm
13:42 FROGGS[mobile] joined #moarvm
13:57 lastofthe Looks like the recent malloc wrappers broke the build on ARM 32 + gcc 4.8.2, the order of the includes might need some shuffling:  https://gist.github.com/anonymous/ce9d200f0f3686c12bff
14:03 lastofthe git branch
14:03 lastofthe whups
14:10 moritz_ joined #moarvm
14:11 dalek MoarVM: 459f317 | jimmy++ | / (2 files):
14:11 dalek MoarVM: fix the build on ARM 32 + gcc 4.8.2, lastofthe++
14:11 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/459f317760
14:13 dalek MoarVM: a295bc2 | jimmy++ | 3rdparty/dynasm:
14:13 dalek MoarVM: fix dynasm
14:13 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a295bc241c
14:21 FROGGS joined #moarvm
14:21 ingy joined #moarvm
14:22 _sri joined #moarvm
14:23 jnthn TimToady: About GatherIter, [] is used simply as a sentinel object, and it's quite clear that since [] is mutable then instances will be unique. Could be anything else wiht similar properties. I just stuck with what sorear++ picked, seeing no reason not to. :)
14:30 jnthn Also, it was used as an object pointer comparison
14:31 jnthn And those all move together while the world is stopped
14:33 17SAA04J2 joined #moarvm
14:33 * moritz stops the world
14:35 * jnthn gets off
15:00 diakopter *cry*
15:02 tadzik quick, come back while it's still
15:15 lizmat joined #moarvm
15:21 woolfy joined #moarvm
15:34 * TimToady will just use Mu.new then, since it's a minimal unique object, and requires no attribute storage
15:35 TimToady and is sufficient for =:= purposes
15:36 jnthn +1
15:36 TimToady [] actually has a bunch of stuff inside that is just wasted allocation
15:36 jnthn Well, it's a singleton ever so we're talking O(bytes), but yes :)
15:36 TimToady not a major thing, of course, we don't do that many gathers
15:37 TimToady there was actually a huge debate in the early days of Ada whether an empty record was good for anything :)
15:38 * jnthn grumbles about his latest startup time reduction making startup longer...
15:38 * TimToady discovered it was good as a peg to hang procedural code in the middle of your declaration elaboration sequence
15:38 jnthn oh, wtf...
15:42 itz_ joined #moarvm
16:38 avuserow timotimo: sad news. moar segfaulted with profile-compile after some large number of hours :(
16:39 avuserow it claims it dumped a core file but I don't actually see one
16:40 avuserow oh it may not have had enough disk space to make an appropriately sized core file.
16:52 timotimo ah damn :(
16:57 timotimo but thanks for doing stuff
16:59 avuserow I added some disk space and reran it without the --optimize flag, so I'll see if that does anything
17:00 timotimo that'll cut a bunch of calls everywhere, aye
17:00 timotimo actually, without --optimize, --optimize=2 is assumed
17:01 avuserow oh
17:01 timotimo you could --optimize=off
17:01 avuserow so I should do --optimize=0?
17:01 avuserow ok
17:01 timotimo there is off and 0, i believe
17:01 timotimo if you do "off" the optimizer will be skipped entirely
17:01 timotimo with 0, i think it only does analysis
17:01 avuserow oh I should also do --gen-moar=master and --gen-nqp=master too probably?
17:01 timotimo i would do that, aye
17:03 avuserow at this point, I'm mostly curious if it's possible to complete a run and get useful data. I can tweak and re-run after that.
17:04 timotimo in theory, we could make a specialized version of the compiler that only profiles the stage "parse" and then only profiles the stage "optimize" and so on
17:04 avuserow is there any way to get the peak memory usage of a process?
17:05 zakharyas joined #moarvm
17:05 timotimo sure, "time" gives you that in the "maxresidentk" slot
17:07 avuserow oh, cool. (and that appears to be /usr/bin/time, and not the shell builtin.)
17:11 timotimo ah, right, depending on the shell you may get one that's not as nice
17:12 timotimo the system time also has -v which gives you the values of different performance counters
17:12 timotimo like how many branch predictions were missed and such
17:14 avuserow yeah this is just default unconfigured bash on ubuntu server 14.04
17:14 timotimo i'm personally enjoying FISh a whole lot
17:14 avuserow I had an ISO for it laying around and it installs quickly. no other reason for using it
17:16 avuserow anyway, if the process crashed last night due to a lack of memory, it must've requested >80GB or about, since I also enabled 40GB of swap
17:16 timotimo FISh isn't a distro, it's a shell :)
17:16 avuserow right
17:16 timotimo though in the #fish channel i met a person who wanted to build a linux distro around fish
17:17 avuserow I haven't looked at fish in many years, not since I learned the basics about shells. I mostly use zsh with a nice variety of configurations
17:41 timotimo ah
17:41 timotimo i've been on zsh with lots of conf before switching to fish
17:42 timotimo recently i got the one thing back that i was lacking: alt-q
17:47 lastofthe clang throws a bunch of warnings about converting between integer types with different sign.  Is "assigning to 'char *' from 'MVMuint8 *'" safe?
17:48 dalek MoarVM: efff2fd | (Timo Paulssen)++ | src/moar.h:
17:48 dalek MoarVM: pre-declare MVM_jit_support in moar.h; fixes #135
17:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/efff2fdbb8
18:05 dalek MoarVM/dynamic_gen2_tuning: 23a5c6e | TimToady++ | src/core/args.c:
18:05 dalek MoarVM/dynamic_gen2_tuning: Better style on arg count errors
18:05 dalek MoarVM/dynamic_gen2_tuning:
18:05 dalek MoarVM/dynamic_gen2_tuning: Inverted got/expected order, also s/parameters/arguments/.
18:05 dalek MoarVM/dynamic_gen2_tuning: review: https://github.com/MoarVM/MoarVM/commit/23a5c6e1ed
18:05 TimToady oops, wrong branch
18:07 TimToady did we ever merge that branch?
18:09 FROGGS would be the safest to cherry-pick that commit to master
18:09 * TimToady has to learn to cherry-pick, I guess
18:11 FROGGS git checkout master; git cherry-pick 23a5c6e
18:11 [Coke] note that cherry picking means merging that branch later might be rough.
18:11 FROGGS [Coke]: are you sure?
18:12 TimToady I would think that would make it easier, since it has the provenance
18:12 FROGGS I always had the impression that git knows that this commit is already there
18:12 TimToady with just applying the patch, it would have to do diffs and stuff
18:12 FROGGS for example I cherry-picked something from the labels branch, and then merged it without problems
18:13 [Coke] it doesn't know that the cherry pick is the old commit.
18:14 [Coke] ok. some FUD to ignore, then.
18:14 dalek MoarVM: 288410e | TimToady++ | src/core/args.c:
18:14 dalek MoarVM: Better style on arg count errors
18:14 dalek MoarVM:
18:14 dalek MoarVM: Inverted got/expected order, also s/parameters/arguments/.
18:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/288410e40d
18:28 nwc10 did anyone do anything that was supposed to fix the ASAN failures on t/spec/integration/99problems-51-to-60.t
18:28 nwc10 and the other 2 tests?
18:30 TimToady not that I know of
18:31 TimToady otoh, it seems to pass now
18:31 TimToady otgh, I was testing against dynamic_gen2_tuning, not master
18:32 TimToady and that's likely to have changed the GC characteristics
18:32 TimToady so might still be a flapper
18:34 dalek MoarVM/cglobal: d52b745 | (Tobias Leich)++ | / (8 files):
18:34 dalek MoarVM/cglobal: expose C globals like native subs
18:34 dalek MoarVM/cglobal: review: https://github.com/MoarVM/MoarVM/commit/d52b7455c6
18:35 dalek Heuristic branch merge: pushed 21 commits to MoarVM/cglobal by FROGGS
18:38 TimToady still fails under the harness
19:07 Ven joined #moarvm
19:10 zakharyas joined #moarvm
19:17 nwc10 so my SEGV on PPC goes away when I comment out "case MVM_OP_getattrs_n:" in  optimize_bb
19:17 nwc10 investigations will continue tomorrow
19:17 nwc10 but this is progress
19:23 FROGGS indeed
19:34 lastofthe nwc10: sweet.  That could help my ARM twisting.
19:35 brrt joined #moarvm
19:35 brrt \o
19:38 brrt JimmyZ: what changed in the dynasm?
19:46 FROGGS brrt: it is just about your latest commit here I think: https://github.com/MoarVM/dynasm/commits/master
19:46 brrt oh.. i thought i had done that yet :-)
19:46 brrt but apparantly not
19:51 itz joined #moarvm
20:47 lastofthe 'though clang 3.4 will build (warningly) moar on ARMv7, unaligned reads get crashy.  Here's a patch: https://gist.github.com/anonymous/7b1a7e81cbca6123d224
20:47 Ven joined #moarvm
21:02 brrt left #moarvm
21:41 itz_ joined #moarvm
21:46 itz joined #moarvm
21:56 itz_ joined #moarvm
22:49 lastofthe joined #moarvm
22:57 lastofthe clang on arm troubles filed with patch as #137.
23:17 avuserow A friend wants to know if there is a SuchVM since there is a MoarVM.
23:17 * avuserow .oO( SuchVM. Very Execute. Wow. )
23:31 * lastofthe wonders where Configure.pl might put the compiler's -W flags...

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary