github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
Geth | MoarVM: kazcw++ created pull request #1116: fix rakudo/rakudo#2965 |
00:49 | |
synopsebot | RAKUDO#2965 [open]: github.com/rakudo/rakudo/issues/2965 I can't HAS stub? | ||
01:13
evalable6 left
01:16
evalable6 joined
03:36
Kaiepi left
03:38
Kaiepi joined
03:42
Kaiepi left,
Kaiepi joined
03:47
Kaiepi left
03:51
Kaiepi joined
06:43
notable6 left,
nativecallable6 left,
coverable6 left,
evalable6 left,
benchable6 left,
undersightable6 left,
unicodable6 left,
quotable6 left,
reportable6 left,
releasable6 left,
squashable6 left,
greppable6 left,
bisectable6 left,
bloatable6 left,
statisfiable6 left,
committable6 left,
shareable6 left
06:44
releasable6 joined,
nativecallable6 joined,
quotable6 joined,
statisfiable6 joined
06:45
shareable6 joined,
greppable6 joined,
coverable6 joined,
squashable6 joined
06:46
undersightable6 joined,
reportable6 joined,
bloatable6 joined
06:47
committable6 joined,
notable6 joined,
unicodable6 joined,
benchable6 joined,
evalable6 joined
06:48
bisectable6 joined
07:19
robertle joined
07:39
domidumont joined
08:59
sena_kun joined
09:08
brrt joined
09:31
brrt left
12:18
brrt joined
12:47
brrt left
13:28
lucasb joined
13:35
pamplemousse joined
13:54
pamplemousse left
14:04
domidumont left
14:27
brrt joined
|
|||
brrt | ]\o | 14:36 | |
jnthn | o/ brrt | 14:39 | |
brrt | ohai jnthn | 14:40 | |
I didn't get to bugfixing yet | |||
can't even compile moar | 14:42 | ||
jnthn | Oh? | 14:45 | |
timotimo | try reinstalling the OS | 14:51 | |
Guest12727 | o/ | 15:14 | |
brrt: is moar causing you trouble? | 15:15 | ||
jnthn, brrt: I've tried to debug the expr jit problem (in an amateurish way) | 15:22 | ||
all roads seems to lead towards this template: github.com/MoarVM/MoarVM/blob/mast....expr#L746 | |||
15:54
brrt left
16:09
domidumont joined
|
|||
Geth | MoarVM: kazcw++ created pull request #1117: fix warning in Configure in non-relocatable builds |
16:18 | |
17:07
brrt joined
|
|||
Guest12727 | o/ brrt | 17:08 | |
Geth | MoarVM: Kaiepi++ created pull request #1118: Fix miscellaneous compiler flag passing on OpenBSD |
17:17 | |
Kaiepi | reaaalllly should've checked the makefile when i made the original commit to see if anything was wrong | 17:18 | |
17:18
lucasb left
|
|||
brrt | \o Guest12727 | 17:19 | |
interesting | |||
I meant to say, I can't compile rakudo, not moar | |||
moar compiles just fine | |||
Kaiepi | it's the moar runner right? | ||
do you have NQP_HOME/PERL6_HOME configured? if so, that's probably why | 17:20 | ||
i have a pullreq up to fix that since i ran into that a few days ago | |||
Guest12727 | brrt: I tried 'bisecting' by removing templates | ||
Kaiepi | oh my bad i didn't read up | ||
Guest12727 | removing the linked template makes hte spectest pass on jnthn's branches | 17:21 | |
jnthn | brrt: If you're trying to compile my p6o-setup MoarVM branch: you need the Rakudo branch of the same name, otherwise it won't build | ||
Guest12727 dogbert17 in disguise | |||
jnthn | If you do have that, I've no idea, in that I've built that combo on multiple machines :) | 17:22 | |
dinner, bbl | |||
timotimo | i imagine making the exprjit disengage whenever it sees a "create" can prevent many other ops from being considered | 17:28 | |
Guest12727 | I guess that's a possibility | 17:34 | |
17:47
brrt left
18:33
brrt joined
18:54
domidumont left
|
|||
brrt | ok, now I have rakudo working | 21:01 | |
in the p6o-setup branch | |||
lets see if i can reproduce failures | |||
dogbert17 | yay | 21:02 | |
you should also double check that you have the following commit methinks: github.com/rakudo/rakudo/commit/bd...c78dcfc645 | 21:03 | ||
brrt | ehm, is that in p6o-setup? | 21:06 | |
dogbert17 | I don't think so | 21:08 | |
21:09
sena_kun left
|
|||
ugexe | github has still not answered my plea to open sponsorship up to jnthn :/ | 21:12 | |
reini urban got in already though | 21:13 | ||
brrt | t/spec/S03-sequence/basic.t is one that appears to fail | 21:15 | |
what kind of sponsorship, ugexe? | |||
ugexe | the max amount (at least for reini) was a whopping $6/month though, so not gonna bring in any real money without sheer numbers | ||
its just a thing github added to let people give you money | 21:16 | ||
github.com/rurban/ see this profile | |||
click "Sponsor" to see the options | |||
dogbert17 | brrt: yes, that's one | 21:17 | |
brrt | ok, awesome | 21:18 | |
dogbert17: anything I can do to make that more repeatable... | 21:31 | ||
as i, not solely crashing in rakudo spectest | |||
dogbert17 | I can't get it to crash every time but making the nursery smaller definitely helps | 21:38 | |
brrt | let's try that | ||
dogbert17 | I set it to (16384 * 2), don't know what numbers jnthn used though | 21:39 | |
brrt | yep, that does the trick | 21:41 | |
dogbert17 | one interesting, at least to me, thing is that if moarvm is built with --no-optimize the fail is a broken assertion otherwise it's a SEGV | ||
i.e. moar: src/6model/sc.c:401: MVM_SC_WB_OBJ: Assertion `!(obj->header.flags & MVM_CF_FORWARDER_VALID)' failed. | 21:42 | ||
brrt | yep | 21:47 | |
as it should be | |||
dogbert17 | interesting, I thought it was controlled by the debug option --debug | 21:53 | |
brrt | I think with optimize, some of those things may be eliminated | 21:57 | |
idk actually | |||
hm, the output of jit-bisect looks fairly innocuous | 21:58 | ||
dogbert17 | oops, I guess that's not what you were hoping for? | 22:02 | |
brrt | appears to depend on inlining | 22:03 | |
no | |||
I want somethin that looks guilty :-P | |||
dogbert17 | :) | 22:04 | |
22:25
Kaiepi left
22:30
Kaiepi joined
|
|||
jnthn | Ah, I shoulda mentioned that small nursery helping tease it out, yes | 22:34 | |
Alas, setting GC_DEBUG doesn't help give a better clue | |||
And yes, the bissect output confused me too | 22:35 | ||
brrt | yes, the bisect is useless | 22:36 | |
now.. I get a block that points to sp_fastcreate, but no indication that the expr JIT ran on that block | 22:40 | ||
jnthn | I thought hash rand mgiht be to blame, but then forced (in moar.c) the random values to be 0 and still got a confusing result | 22:41 | |
brrt | fastcreate theory can be eliminated; | 22:43 | |
oh, and appears to be inline sensitive? | |||
at least in this case | |||
dogbert17 | and the create template? | 22:44 | |
brrt | yeah, that fixes it | 22:45 | |
Kaiepi | openbsd has malloc_conceal and calloc_conceal functions, which call mmap with MAP_CONCEAL and epxlicitly discard the memory allocated on free | ||
is there anywhere this would be useful? | |||
dogbert17 | but it doesn't give any clues I guess | ||
brrt | well, it kind of does... | 22:46 | |
dogbert17 | that sounds promising | ||
Kaiepi | mainly malloc_conceal and calloc_conceal would be used for memory that should be hidden from coredumps | 22:48 | |
brrt | intersting | 22:49 | |
ok, I have one theory on why 'create' could fail with a small nursery | |||
- template allocates a value | 22:50 | ||
..., hang on. | 22:51 | ||
dogbert17 | oh, the suspense ... | 22:52 | |
timotimo is shivering in antici... | 22:54 | ||
brrt | Or maybe the rain... | 22:55 | |
anyway | |||
in the create template, we first allocate an object, then initialize, then assign to memory | 22:56 | ||
intialize is a function call. | |||
it will cause the $obj value to be spilled to memory | |||
Normally, when we spill a value, we mark it as an object for the garbage collector | |||
However, because '$obj' isn't associated with a register (and the template is 'destructive'), we never assign a type to it, so we don't mark its temporary storage space as object space | 22:58 | ||
so the GC will not visit it, nor update the pointer | |||
the fix is, if correct, simple | |||
we simply change the order of the 'store' and the call to initialize | 23:00 | ||
as an added bonus, we no longer have to spill and preserve '$obj' | |||
yep, that seems to work.... | |||
jnthn | Ah, that fits very well, because slow-path `create` is now more likely to allocate on initialize (however, other things also could before) | 23:01 | |
brrt | jnthn: can I push a fix to the p6o-setup branch? | 23:02 | |
maybe better to master... | |||
timotimo | huh. has this always been a problem? | 23:04 | |
brrt | yes | 23:05 | |
jnthn | brrt: I don't mind, but it's maybe better to master, in that not sure when to merge my branch | ||
I've some upcoming trip, and don't want to be on the hook to fix a release blocker bug :) | |||
Geth | MoarVM: kazcw++ created pull request #1119: enforce wb in get_attribute of C reprs |
23:09 | |
MoarVM: b55658b99f | (Bart Wiegmans)++ | src/jit/core_templates.expr [JIT] Template for 'create' should store first then initialize If we call 'initialize' before storing '$obj' to memory, the '$obj' is treated as an (anonymous) temporary value, and its location when spilled to memory is not marked as an object. If GC is then activated betwen the 'allocate' and the 'initialize' calls, the (spilled) value of $obj will be pointing to the old ... (8 more lines) |
|||
brrt | and so I remove the cause... (but not the symptom?) | ||
timotimo | gasp | ||
y'all see that PR? | |||
brrt | did | 23:12 | |
I'm inclined to believe it | |||
timotimo | i can't believe somebody found out how to fix the gumbo thing | 23:14 | |
that is so good | |||
i don't think i saw kazcw before a week or two ago and there's been a few good-looking PRs already | 23:15 | ||
brrt | what's the gumbo thing? | 23:27 | |
brrt sleep & | 23:29 | ||
23:29
brrt left
|
|||
timotimo | gumbo is an xml parser library in C and skarsnik has had an open ticket for like three years that it sometimes crashes | 23:32 | |
23:38
travis-ci joined
|
|||
travis-ci | MoarVM build passed. Bart Wiegmans '[JIT] Template for 'create' should store first then initialize | 23:38 | |
travis-ci.org/MoarVM/MoarVM/builds/543259464 github.com/MoarVM/MoarVM/compare/e...5658b99f71 | |||
23:38
travis-ci left
|