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 |