01:18 FROGGS__ joined 05:24 woolfy joined 05:28 lizmat joined 06:07 woolfy left
sergot morning o/ 06:29
07:14 zakharyas joined 08:22 odc joined 08:37 brrt joined
brrt \o 08:44
FROGGS__ hi brrt
brrt FROGGS_: the basic approach is to take the spesh log, see the difference between the original and the spesh'ed version, and follow up on peculiarities :-)
hi :-) 08:45
FROGGS__ ahh, yeah.... 08:46
so I need the spesh log of the script that fails or the log when I compile the setting? 08:47
brrt does the setting fail? or the spectest? 08:51
i think you'll need the one of the spectest
because the one of the setting is mostly compiler stuff
dalek arVM: 7694ea9 | (Tobias Leich)++ | tools/ucd2c.pl:
follow latest string refactor in source-gen script
08:52
FROGGS__ brrt: the spectest 08:53
brrt ok, you'll need that one, then
FROGGS__ okay, yeah, I was think that spesh happens when running things... otherwise it can't guess what is hot I think
brrt exactly 08:54
valgrind complains about heap corruption 08:59
hmm
and silly args to malloc
that's not quite correct though; moarvm complains about heap corruption 09:00
(this could, of course, well be another bug than the failing setting bug, happening not during rakudo but during nqp compilation)
bbi2h 09:02
10:12 brrt joined
brrt back, but not directly at keyboard; anyone giving any advice - no matter how unfounded - is very, very welcome 10:13
it seems doing the JIT directly causes 'silly mallocs'
and i suspect that has something to do with the segv / heap corruption bug i'm seeing since i enabled some string ops
dalek arVM: 339d547 | (Tobias Leich)++ | / (2 files):
add char name lookup aliases (LF,FF,CR and NEL)
11:44
timotimo brother: we have 3 weeks to find this bug, then it's the suggested "pencils down" date 12:07
12:08 colomon joined
FROGGS__ brrt you mean :o) 12:11
timotimo yes, sorry 12:14
FROGGS__ no brroblem 12:15
[Coke] He brought this on himself? 12:18
12:20 jnap joined 12:29 klaas-janstol joined 13:16 colomon joined 13:45 jnap joined 13:52 FROGGS[mobile] joined 14:02 jimmyz joined 14:04 brrt joined
brrt timotimo: i'm already panicking! 14:05
14:41 carlin joined 14:50 jnap joined
timotimo i'm just a bit sad we've run into such a drastic bug ;( 14:54
dalek arVM: 503f76a | (Tobias Leich)++ | src/strings/ops.c:
RT #122341 handle all line separators
14:57
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122341
carlin Stage parse : moar in realloc(): error: bogus pointer (double free?) 0x198cad537dc0 15:04
OpenBSD 5.5 amd64
backtrace gist.github.com/carbin/ebb5c4eb0aedfaf5839c
it was working fine last week
nwc10 this is current revisions of MoarVM, nqp and master? 15:09
ASAN on gcc doesn't spot this
carlin HEAD rakudo, and whatever versions of nqp and Moar it's pulling in 15:11
nwc10 $ cat tools/build/NQP_REVISION 15:13
2014.04-59-gb85f70e
that's "Ancient", I think.
I think that that's the problem (needs to be newer) but I'm not in an easy position to test that
and I'm certainly not in a position to fix it
FROGGS__ 2014.04 is not realistic 15:16
NQP_REVISION is 2014.07-11-gf1b098f right now 15:17
and all components were at 2014.07 as of last Thursday 15:18
nwc10 oop, that was a stale checkout of mine 15:25
I told you I'm doing too much :-/
FROGGS__ *g*
carlin NQP 2014.07-10-g908d8a0, MoarVM version 2014.07-7-g339d547
FROGGS__ and again the question raises if that is a speshbug or not... 15:26
can you run it again under MVM_SPESH_DISABLE=1 ?
carlin with MVM_SPESH_DISABLE... Stage parse : Segmentation fault (core dumped) 15:28
15:28 jnap joined
FROGGS__ carlin: can you provide a backtrace for that one too? 15:29
carlin gist.github.com/carbin/0cec0bbd355227892e8f 15:37
15:46 brrt joined
brrt well, so am i 15:46
ok, what causes a pointer to past fromspace? 15:51
FROGGS__ I'm not sure if jnthn explained that in the infoq video, but it is possible 15:53
brrt ok, wrt to the backtrace, i find it very suspicious that both cur_op and bytecode_start are out of bounds
it sure is :-) but it's wrong
FROGGS__ carlin: I think it is unlikely that it flips a 686002 bytes long string in the setting... 15:54
brrt good point FROGGS_ :-) 15:55
FROGGS__ okay, perhaps it really does that... for example there there is an <?after...> in a regex/grammar 15:57
brrt ...... wait a minute
.... atkey_o and atpos_o are wrong, i'm sorry 15:59
FROGGS__ why are you sorry?
brrt both should store NULL if the invocant is NULL, which they don't (because a C call can't represent it)
or... wait
because i've spent so much time on this 16:00
and never found it
maybe the wrappers do this
FROGGS__ ahh, now I remember that I wanted to look at the spesh log for my other bug... 16:01
brrt wrappers don't do this
and that explains /so much/ 16:02
(or it might)
FROGGS__ :o) 16:03
I'm going to stay sceptical
brrt as rightly you should 16:04
well, it doesn't fix the SEGV
or the heap corruption 16:05
so that's another thing
but it just might fix the rakudo build bug
well, it appears that it does 16:07
brrt now feels a bit dumb
dalek arVM/moar-jit: 02bda67 | (Bart Wiegmans)++ | / (5 files):
Add null_s, working on test for repeat_s
16:10
arVM/moar-jit: 0871366 | (Bart Wiegmans)++ | src/ (2 files):
Fix bug in reprconv.c that stopped rakudo from building

Also temporarily disabled isnull_s, which probably isn't wrong, but that does eventually enable a heap corruption somewhere.
brrt but, this version is compatible with building nqp/rakudo again 16:11
such yay
nwc10 brrt: ish. Found /home/nicholas/Sandpit/moar-san/bin/moar version 2014.07-7-g339d547, which is too old. 16:12
brrt reconfigure and build :-)
can't help that
nwc10 I *am* building from clean 16:13
you sort of can if you're comfortable to merge master into jit, I think
heck, I can try that locallyu
brrt will see to that 16:14
nwc10 odd. 16:15
/home/nicholas/Sandpit/moar-san/bin/moar
is not getting updated
FROGGS__ brrt: when I do not --enable-jit, will it break anything?
brrt it should not
but i don't test that as much as i should
nwc10 brrt: PEBKAC
FROGGS__ I'll test that later, and when nothing brakes, I would proposed we merge moar-jit into master
brrt no! there is still a heap corruption bug lingering 16:16
FROGGS__ bbiab, dinner &
k
brrt when that's done, and when i've cleaned stuff up, then yes
as soon as possible
but no earlier
:-)
see you, thanks anyway :-)
(np nwc10 :-) /me appreciates the help from all of you very much) 16:17
16:17 jnap joined
brrt all of this is a testament, btw, of how few some code paths are really triggered 16:21
and how diffiicult it can be to see how some stuff interacts 16:24
nwc10 brrt: upshot is that some of my previous "it's all fine" reports may be bogus 16:26
brrt how so? 16:27
nwc10 because I don't think I was building nqp and rakudo with the JIT-enabled MoarVM
brrt fair point 16:30
well... if you do find anything, be sure to let me know :-)
16:34 btyler joined
brrt btw, a little bit of weirdness - i find a mention of bailing on argconst_s 16:42
but if that happened, then that means the argconst_s came /before/ prepargs
let's investigate 16:43
and that seems exactly what's happening
ok, i should really prefix the jit log with the name and cuuid of the frame 16:46
let's do that first
16:52 woolfy joined 17:36 klaas-janstol joined
FROGGS ummm, my spesh log diff is 29MB in size :/ 17:49
and it is totally useless 17:54
rurban probably no totally. I dump similar sized log files
brrt hmmm 17:55
it helps if you can identify the frame at hand in the spesh log
timotimo sorry, the spesh log diff tool may be a bit b0rken at the moment :(
brrt that is, i typically search for the relevant frame
i'll add on your difficulties and argue that the moar-gdb.py tool also seems broken atm :-) 17:56
FROGGS I just compared both logs (good and bad) using diff -u 17:57
brrt nah, that's probably not going to work 17:58
FROGGS good is 20549273 bytes, bad is 18869184
brrt ok, weird
that seems a large difference (or my head is counting a digit to many on the good side)
FROGGS "only" the first 152721 lines are equalish 17:59
20_549_273 vs 18_869_184 18:00
timotimo brrt: i think i didn't adapt to the changes in the str ref branch 18:01
brrt ah i see
i haven't seen what those changes are yet 18:02
timotimo it's a complete rewrite of the string code, pretty much :)
only leaving a few function signatures the same
can you tell me what piece of moar-gdb seems broken?
brrt i can try 18:05
i can give you where the error comes from, at least
timotimo thanks 18:06
brrt hmm, not that easy it seems, i just get the error ' There is no member named flags'
bbiab
18:07 klaas-janstol joined
timotimo yeah, flags is now called "storage_type" 18:09
FROGGS okay, I learned that I only have to look at the spesh log of the bad version using the spesh_diff tool 18:20
sadly the subroutine I'm searching for is not listed 18:21
18:28 woolfy left 18:29 klaas-janstol joined 18:59 jnap joined 19:04 brrt joined
dalek arVM/moar-jit: 7694ea9 | (Tobias Leich)++ | tools/ucd2c.pl:
follow latest string refactor in source-gen script
19:07
arVM/moar-jit: 339d547 | (Tobias Leich)++ | / (2 files):
add char name lookup aliases (LF,FF,CR and NEL)
arVM/moar-jit: 503f76a | (Tobias Leich)++ | src/strings/ops.c:
RT #122341 handle all line separators
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122341
dalek arVM/moar-jit: cadda24 | (Bart Wiegmans)++ | / (3 files):
Merge remote-tracking branch 'origin/master' into moar-jit
MoarVM/moar-jit: e0653b1 | (Bart Wiegmans)++ | src/jit/ (4 files):
MoarVM/moar-jit: Add getwho
19:11 carlin joined
brrt gist.github.com/bdw/554ea2b9ba17552babcd fix for moar-gdb pretty printing woes :-) 19:30
timotimo ^^
i can push it to master just as soon as you say the word
mule complained about the codec ut8 by the way, insisting i call it utf-8 19:31
19:50 klaas-janstol joined
FROGGS brrt: what word do you mean? please? 20:03
brrt more like 'looks good' or 'not totally wrong probably' or 'ok fine' :-) 20:09
any word other than 'aaaaargh'
well, i'll push it, you can revert it if you want 20:10
FROGGS okay
dalek arVM: d9fa779 | (Bart Wiegmans)++ | tools/moar-gdb.py:
Updated moar-gdb.py for new structure of MVMString
20:11
FROGGS ahh, you just merge that
brrt that's actually directly on master :-) 20:12
20:34 tadzik joined
sergot night o/ 20:40
brrt night sergot 20:42
tadzik good knight sergot
brrt i've something that looks speshbuggy - or at least, that i can't readily explain 20:47
oh, blimey, it's inlining probably 20:52
.ask jnthn if this is normal and expected: gist.github.com/bdw/e5b606499aa6435f7e72 20:54
FROGGS brrt: go to #perl6 20:55
brrt good point
FROGGS Heap corruption detected: pointer 0x604638 to past fromspace :o( 20:59
brrt ehm, in moar-jit or just in general? 21:02
and doing what? 21:03
FROGGS_: i'm interested because i need to know if this is caused by moar-jit or if this is a general problem 21:04
21:05 japhb_ joined
brrt also, if i'm looking at create right, we can / probably should / do better wrt to the boxing ops 21:10
FROGGS brrt: this little thing, in moar/master: gist.github.com/anonymous/0873fd7dd630a9deb6f2 21:13
seems like flip is to blame
brrt let me see 21:15
that's p6 code isn't it?
ok, interesting
FROGGS it is 21:16
when I dont get the past-fromspace, then cont at src/core/interp.c:1247 is garbage
line 1247 is op(assign) 21:17
brrt any way i can trigger flip that you know of in nqp?
FROGGS nqp-m: say(nqp::flip("hurz"))
camelia nqp-moarvm: OUTPUT«zruh␤»
brrt right :-) 21:19
hmm flip_s can't be responsible for my bug, because it isn't compiled yet 21:20
TimToady wasn't using --enable-jit when he hit that bug 21:22
so I doubt it's a jit bug
FROGGS and it still explodes when I remove the gather/take
my nursery size is 1024 right now btw 21:23
hmmm, without spesh I get: Internal error: zeroed target thread ID in work pass 21:25
brrt it's a string bug probably 21:31
carlin those openBSD problems I reported earlier... rakudo builds fine as root, but dies building as a non-root user 21:34
brrt funny 21:37
weird
FROGGS that sounds like es we might have problems loading the perl6_ops lib we just built 21:38
brrt is too tired for this now, will work on the jit-specific memory corruption tomorrow 21:40
21:41 brrt left
dalek arVM/moar-jit: 1258811 | (Bart Wiegmans)++ | src/jit/graph.c:
Add flip
21:42