01:27
MasterDuke_ joined
|
|||
MasterDuke_ | timotimo: i thought this looked interesting: ourmachinery.com/post/virtual-memory-tricks/ | 02:13 | |
particularly the idea to use a virtual memory allocator to help debugging | |||
think that's something moarvm could use? | 02:14 | ||
timotimo | reminds me a bit of libefence | 02:21 | |
MasterDuke_ | isn't that a bit annoying to use? | 02:31 | |
timotimo | don't think so? | 02:38 | |
don't you literally just LD_PRELOAD it? | |||
i'm going to sleep! seeya :) | 02:41 | ||
02:57
ilbot3 joined
03:10
colomon_ joined
03:50
colomon joined
06:34
Guest26563 joined
06:59
domidumont joined
07:05
brrt joined
|
|||
brrt | good * #moarvm | 07:05 | |
07:05
domidumont joined
|
|||
samcv | good * brrt | 07:10 | |
brrt | ohai samcv | 07:11 | |
what's up | |||
samcv | not much. trying to fix some sprintf things in nqp | 07:14 | |
really odd. %d returns the number with padding from the method in the grammar but %b doesn't. and that's odd | 07:15 | ||
since i'm not sure where it's adding the padding on. and as a result it returns 0000-1000 for negative numbers if you use padding | 07:16 | ||
07:44
domidumont joined
08:34
zakharyas joined
09:36
brrt joined
09:45
benchable6 joined,
statisfiable6 joined,
unicodable6 joined
09:49
dogbert2 joined
|
|||
bartolin | samcv: I'm not sure if it is relevant, but I started a branch back in 2015 where I tried to improve the padding for %b. I didn't follow up, though ... github.com/perl6/nqp/tree/sprintf | 09:54 | |
samcv | heh. and the test fixes i just made independently. will look at it though :) | 09:55 | |
09:57
domidumont joined
|
|||
brrt | i've been trying to put large constants (i.e. pointers) in a separate table | 09:59 | |
10:01
AlexDaniel` joined
10:03
greppable6 joined,
squashable6 joined,
coverable6 joined,
bloatable6 joined
10:11
robertle joined
10:14
zakharyas joined
|
|||
brrt | hmm, question | 10:21 | |
nm, answer | 10:22 | ||
i'm wondering whether i should split a large constants table from the constant pointers | |||
the only purpose i can find for that would be to have large constants bigger than 8 bytes | 10:28 | ||
samcv | brrt: what are these constants used for and how often are they used | 10:29 | |
brrt | the current use is to have pointers | 10:30 | |
so 8 bytes on x86-64 | |||
10:30
ilmari[m] joined
|
|||
samcv | uh oh | 10:30 | |
Error in `/home/samantha/perl6/bin/moar': corrupted double-linked list: 0x00007f7fbc0fe920 *** | |||
never gotten this before... | 10:31 | ||
brrt | absolute power corrupts | ||
samcv | double power corrupts absolutely? | 10:32 | |
idk sounded better in my head | |||
backtrace is here gist.github.com/b0f777b4c21ddea542...a93396019a | 10:33 | ||
looks like it happening during bind_key | 10:34 | ||
and i'm getting a failure in IO-Socket-Async.t | 10:36 | ||
Unhandled exception in code scheduled on thread 4 (and for 6 too) then too few positionals passed | |||
let me try a make realclean | |||
nope still failingā¦ | 10:37 | ||
10:37
AlexDaniel joined
10:38
stmuk joined
11:11
AlexDaniel joined
11:46
brrt joined
13:31
domidumont joined
13:43
dogbert17 joined
|
|||
dogbert17 | I haven't seen this before: MoarVM panic: non-AsyncTask fetched from eventloop active work list | 13:43 | |
timotimo | but it doesn't output what it is? that's a simple fix, just put the debug name (MVM_6model_get_debug_name(tc, whatever)) | 13:45 | |
dogbert17 | I'll see if I can repro it under gdb, all I have so far is that it happened while running test 62 in t/spec/S17-supply/syntax.t | 13:47 | |
that test has the following text 'CLOSE phaser sees correct outer scope' | 13:48 | ||
[Coke] | didn't jnthn -just- touch that? | 13:49 | |
timotimo | yeah | 13:50 | |
gist.github.com/timo/f9fd9cf97f99d...2eded46972 - dogbert17 | 13:54 | ||
dogbert17 | sigh, while running it in gdb I got a SEGV while running test 68 | 13:55 | |
jnthn | Yes, I fixed that issue yesterday and added the test | ||
dogbert17 | timotimo: thanks, I'll add it | ||
here's the SEGV, while running test 68, gist.github.com/dogbert17/178c6c6c...075d9ac17c does anything stand out? | 13:57 | ||
timotimo | you surely got jnthn's latest moarvm commit as well? | 13:58 | |
oh, not a moarvm commit | |||
dogbert17 | ... built on MoarVM version 2017.10-57-gd257df23 | 13:59 | |
btw, both problems turned up while the system was under som stress | 14:00 | ||
*some | |||
14:04
zakharyas joined,
domidumont joined
|
|||
dogbert17 trying timotimo's clever patch | 14:05 | ||
and the result is: MoarVM panic: non-AsyncTask fetched from eventloop active work list: was VMNull | 14:06 | ||
timotimo | that's the most boring way to have that happen | 14:07 | |
dogbert17 | :) | 14:08 | |
14:10
AlexDaniel joined
|
|||
dogbert17 | jnthn, timotimo: what about this gist.github.com/dogbert17/71d071ab...67d6b4bd0f | 14:11 | |
14:26
yoleaux joined
|
|||
dogbert17 | seems as if that test can fail in a few different ways, i.e. 'MoarVM panic: non-AsyncTask fetched from eventloop active work list' or 'MoarVM panic: use of invalid eventloop work item index -1' or SEGV at | 15:16 | |
0xb7bb9b49 in setup_work (tc=0xb36eb448) at src/io/eventloop.c:15 | |||
15 MVMConcBlockingQueue *queue = (MVMConcBlockingQueue *)tc->instance->event_loop_todo_queue; | 15:17 | ||
dogbert17 continues his ramblings | 15:31 | ||
it turns out that valgrind has some comments wrt this test: gist.github.com/dogbert17/3a7a6dba...47a5a7e49c | 15:33 | ||
timotimo | that last one looks a bit like a missing MVMROOT | 15:45 | |
dogbert17 | yeah, perhaps that one is the root :) of all problems above | 15:49 | |
but how do you find them | |||
timotimo | gc torture can help narrow it down | 15:50 | |
dogbert17 | I can try that | ||
15:54
brrt joined
|
|||
dogbert17 | the first invalid read is very consistent, shows up every time | 15:55 | |
Geth | MoarVM: d38519364e | (Timo Paulssen)++ | src/6model/reprs/MVMIter.c Don't segfault when MVM_iter on type object |
16:05 | |
dogbert17 | timotimo: did you find something? | 16:07 | |
timotimo | no, that's unrelated | 16:11 | |
dogbert17 | timotimo++ anyway :) | 16:12 | |
16:37
brrt joined
17:34
domidumont joined
17:45
domidumont joined
17:52
releasable6 joined
|
|||
ugexe | what is MoarVM/lib/MAST/Ops.p6 for? it says at the top that tools/update_ops.p6 updates it but that doesn't seem to be the case (so maybe Ops.nqp took its place?) | 18:04 | |
18:04
zakharyas joined
|
|||
ugexe | also whats the best way to build a rakudo against a moarvm with a new op? usually I build rakudo at its latest commit and edit MoarVM files inside there (doing a `make install` will put everything in the proper spot). but trying to build nqp i'm now getting "operand type 32 does not match register type 56" despite what I thought was thorough make cleans | 18:10 | |
[Coke] | ugexe: you can explicitly configure it with --gen-moar=master or --gen-moar=<sha1> | ||
then you don't have to do any of the edits yourself. | |||
ugexe | the edits are source code edits... i do wants those :) | 18:11 | |
18:55
AlexDaniel joined
19:05
AlexDani` joined
19:23
Ven joined
19:25
Ven_ joined
20:37
Ven joined
|
|||
jnthn | ugexe: You'll have to rebuild Rakudo too if you add new ops | 20:49 | |
ugexe | if I put the op to the bottom of oplist it works, but if i put it in the middle (grouped with getpid) it doesn't | ||
should i be trying to group it like that? | |||
jnthn | The docs at the top of the oplist file explain where to add them | 20:50 | |
ugexe | yeah i guess thats better instructions than git history heh | 20:51 | |
jnthn | Don't write docs, and everyone asks for the docs. Do write docs, and nobody reads the docs. :P | 20:52 | |
nine doesn't see himself as nobody. Well not all the time anyway ;) | 20:53 | ||
jnthn | :-) | 20:55 | |
Usually the size of the "everybody" asking for docs is 1 or 2 people also ;) | 20:56 | ||
20:56
Ven_ joined
|
|||
nine | jnthn: that's a bug, isn't it? github.com/MoarVM/MoarVM/blob/mast...late.c#L73 | 20:57 | |
jnthn | ooh | 20:59 | |
Yes, it should be append_to->next = ann; | |||
nine | And append_to may even be NULL | ||
So if (append_to) append_to->next = ann; else prev->annotations = ann; | 21:00 | ||
jnthn | That also | ||
nine | Kinda ironic to see such complex machinery working but finding the bug in code for appending to a linked list. Which is literally a data structures 101 beginner exercise :D | 21:01 | |
Nicely demonstrates how we're all human I guess :) | 21:02 | ||
jnthn | Indeed. Also why code review is a really good idea. | 21:03 | |
nine | Unfortunately it doesn't bring me closer to why removing a useless goto carrying a DEOPT_INLINE annotation causes breakage when that annotation is never used anywhere | 21:08 | |
jnthn | Does the annotation get moved? | 21:09 | |
The inline annotations are really important | |||
nine | Now that the bug is fixed, yes. But it shouldn't make a difference. Not a single code path that checks for that annotation is actually hit even when the goto's still there. | ||
jnthn | Hmm | 21:10 | |
timotimo | isn't it still used in the code gen to build the handler/uninline table? | ||
nine | The case MVM_SPESH_ANN_DEOPT_INLINE: in src/spesh/codegen.c:116 never gets triggered in the test case | 21:11 | |
The only logical conclusion I can see is that it's not the DEOPT_INLINE annotation that's important, but the goto itself. The annotation is just the last thing that would keep the goto from getting eliminated. | 21:18 | ||
So something seems to be depending on an inlined basic block always being entered through a goto. | 21:19 | ||
21:36
Ven joined
21:56
Ven_ joined
22:16
Ven_ joined
22:36
Ven joined
|
|||
jnthn | nine: github.com/MoarVM/MoarVM/blob/mast...opt.c#L118 | 22:40 | |
22:56
Ven_ joined
23:16
Ven_ joined
|
|||
Geth | MoarVM: ugexe++ created pull request #747: Put op in same order relative to oplist |
23:23 | |
MoarVM: ugexe++ created pull request #748: Add getppid op |
23:26 | ||
jnthn | .oO( But is PR 747 jumbo? :) ) |
23:36 | |
23:36
Ven joined
|
|||
jnthn | ugexe: fwiw, I'm in favor of #747 for the same of humans; I suspect compilers are smart enough (and I think somebody here measured that in the past). | 23:36 | |
*the sake of | 23:37 | ||
ugexe | that was just a cut and paste from the comments/docs... now I have an excuse for not reading them | 23:40 | |
jnthn | ;) | 23:41 | |
Geth | MoarVM: 1a8664b2dc | (Nick Logan)++ (committed using GitHub Web editor) | src/core/interp.c Put op in same order relative to oplist The ops should be in the same order here as in the oplist file, so the compiler can can optimize the switch properly. |
23:42 | |
MoarVM: 2ca7e8587b | (Jonathan Worthington)++ (committed using GitHub Web editor) | src/core/interp.c Merge pull request #747 from ugexe/patch-3 Put op in same order relative to oplist |
|||
jnthn | Aww. So I merged that and now 748 has a conflict. | ||
Which was, I guess predictable. | |||
ugexe | heh yeah i figured | ||
i forced pushed the merge conflict fix to my branch | 23:49 | ||
jnthn | Cool. I'm off to rest now; I'll look at it in the morning :-) | 23:50 | |
ugexe | see ya later | 23:51 |