00:29
flaviusb joined
01:48
ilbot3 joined
05:25
domidumont joined
05:29
domidumont joined
05:53
domidumont joined
06:25
brrt[irrsi] joined
|
|||
nwc10 | good *, #moarvm | 06:36 | |
arnsholt | o/ | 06:38 | |
brrt[irrsi] | good *, #moarvm | 06:50 | |
nwc10 | "sent from my iphone^H^H^H^Hrc client" :-) | 06:52 | |
brrt[irrsi] | :-P | 06:59 | |
I decided to add it to signify that I'm not always looking at this one | |||
.... maybe there is an automated way to change my nick to 'idle' after not looking at it for a while | 07:00 | ||
or maybe I just shouldn't worry | |||
arnsholt | Irssi is scriptable with Perl | 07:02 | |
I've never been able to find any useful documentation for it though | |||
brrt[irrsi] | hmm... erc is scriptable in emacs-lisp.... | ||
arnsholt | But I wouldn't worry about it, TBH | ||
brrt[irrsi] ponders the tradeoff | 07:03 | ||
arnsholt | If people prod you and you don't reply, they know to try again later or leave a .tell | ||
brrt[irrsi] | but if i stay logged in on this box under 'brrt', then i can never reclaim my name if I lose access to it | ||
arnsholt | There is that | 07:04 | |
What server is it on? | |||
nwc10 | 8.20.57.5.in-addr.arpa domain name pointer proxy-gw-l.booking.com. | ||
arnsholt | I mean if it's hack, you can always get one of the sysadmins to kill the irssi session for you | ||
nwc10 | I'd guess "not the machine that owns the publicly visible IP" | 07:05 | |
arnsholt | Speaking of, I should probably migrate my irssi session from the University servers to my Linode, now that I'm no longer at the University | ||
brrt[irrsi] | heh, I have had to migrate /all/ my e-mail and data from my university accounts last weekend | 08:04 | |
I don't have an account on hack | |||
(have been meaning to) | |||
arnsholt | Yeah, I've had all my mail going to my GMail for ages now | 08:26 | |
So I don't have to do that at least | |||
jnthn | morning, #moarvm | 08:43 | |
brrt[irrsi] | morning jnthn | 09:03 | |
09:40
zakharyas joined
09:58
brrt[work] joined
|
|||
dalek | arVM: 5d45c56 | timotimo++ | src/6model/serialization.c: "missing deserialize repr func" gives debug_name now, too. |
10:35 | |
11:03
TimToady joined
11:08
dalek joined
|
|||
dalek | arVM: 5370a30 | timotimo++ | src/6model/serialization.c: debug_name for missing serialize function, too! |
11:13 | |
brrt[work] | timotimo++ | 11:25 | |
I found out why I need a list of retired live ranges | 11:26 | ||
not all live ranges I create are eventually assigned a register, becasue some of them are split and spilled | |||
a spilled live range is split into a number of 'atomic' live ranges, and it is these live ranges which are assigned registers, not the original one | 11:27 | ||
so the spilled live range never makes it to the retired list, but the 'fragments' do | 11:29 | ||
interesting fallout is that we want to iterate that retired list (in the register /assignment/ step) in first-definition order, *just as we do the original worklist*, and that hence I'd either need to sort the thing, or maintain it as a heap | 11:30 | ||
minor efficiency choice: do we maintain it as a heap while adding retired live ranges (complexity, O(n log n)), or do we heapify it afterwards (complexity: O(n)) | 11:31 | ||
of course, picking all n items from the heap is itself O(n log n), so who cares | 11:32 | ||
dalek | arVM: 224b5e8 | jnthn++ | src/core/oplist: Mark 3 ops deprecated. We'll remove them, plus a forth long-deprecated one, in the next release. |
15:00 | |
japhb | .oO( We supported FORTH ops? ) |
15:04 | |
jnthn | d'oh :) | 15:05 | |
mst | jnthn: DROP AND ROLL while you still can | 15:07 | |
japhb momentarily considers side tracking brrt by convincing him to rewrite his assembler in FORTH, but decides that's perhaps just a bit too evil ... | 15:09 | ||
dalek | arVM: e121a0a | jnthn++ | / (8 files): Implement indexingoptimized op. If the string it is given as an operand is already free of strands, simply returns that string. Otherwise, produces a flat string with the same graphemes. This takes on the "optimize for regex engine" role that flattenropes used to have. |
15:12 | |
arVM: eceb429 | jnthn++ | src/jit/graph.c: JIT the new indexingoptimized op. |
15:26 | ||
JimmyZ | jnthn: looks like miss MVM_free(orig) in e121a0a71e | 15:29 | |
jnthn | No? | 15:30 | |
The point is to *not* do it in place | |||
So the original string lives on | 15:31 | ||
And its buffer is still reachable | |||
JimmyZ | ah, mis-read the code since there is a orig there :) | 15:34 | |
jnthn | :) | ||
Yeah, the in-place was a really bad idea in hindsight :( | 15:35 | ||
As it gets us in a total mess concurrency wise | |||
jnthn has seen a number of backtraces now that were a result of use-after-free involving MVM_string_flattenropes | 15:36 | ||
15:40
domidumont joined
15:54
FROGGS joined
|
|||
FROGGS | domidumont: the comparison of the module debug output revealed nothing... | 16:04 | |
domidumont: so I'll check the dyncall build this evening like you proposed | |||
brrt[work] | oh, forth, that is a great idea :-P | 16:16 | |
timotimo | it's a cool language | ||
mst | FORTH LOVE? IF HONK THEN | ||
brrt[work] | jnthn: I'm not sure, but I think this will mean that with flat strings operations like get-char-at-pos can be inlined? | 16:19 | |
brrt[work] should work on having simpler grammar in sentences | 16:20 | ||
jnthn | brrt[work]: Yes...well, that was always the intention but things changing in-place torpedoed it | ||
Need to think about how I get rid of the rest of it, though. | 16:21 | ||
16:36
travis-ci joined
|
|||
travis-ci | MoarVM build errored. Jonathan Worthington 'JIT the new indexingoptimized op.' | 16:36 | |
travis-ci.org/MoarVM/MoarVM/builds/167089009 github.com/MoarVM/MoarVM/compare/e...eb4296abb4 | |||
16:36
travis-ci left
|
|||
domidumont | FROGGS: ok. I've added a backtrace in the github ticket | 16:38 | |
FROGGS: but it won't help much. | |||
17:40
travis-ci joined
|
|||
travis-ci | MoarVM build errored. Jonathan Worthington 'Implement indexingoptimized op. | 17:40 | |
travis-ci.org/MoarVM/MoarVM/builds/167084677 github.com/MoarVM/MoarVM/compare/2...21a0a71eda | |||
17:40
travis-ci left
|
|||
timotimo | Found /tmp/moar/bin/moar version 2016.09-45-ge121a0a, which is too old. | 17:42 | |
^- this caused the travis build to fail | |||
FROGGS | domidumont: how did you get that backtrace? | 17:45 | |
I'm somehow unable to do that | |||
I get it to hang, but that's all | 17:47 | ||
domidumont | FROGGS: see the link at the end of the comment. | 17:52 | |
FROGGS | domidumont: I did, and I followed the instructions... | 17:53 | |
but it keeps hanging | |||
(until I kill -9) | |||
domidumont | FROGGS: when it's hung, run a kill -TRAP this will trigger a core dump | 17:54 | |
don't forget "ulimit -c unlimited" before running moar | |||
then the core looks like qemu_moar_20161012-133329_14379.core | 17:55 | ||
FROGGS | # ps ax | grep moar | 17:56 | |
8351 pts/12 Sl+ 0:09 /usr/bin/qemu-aarch64-static /home/nqp/install/bin/moar --execname=./perl6-gdb-m --libpath=/home/nqp/install/share/nqp/lib --libpath=. /home/rakudo/perl6.moarvm t/04-nativecall/02-simple-args.t | |||
# kill -TRAP 8351 | |||
nothing happens | |||
domidumont | Hmm, I'm running moar in a chroot. Once in the chroot, I don't need to call qemu to run moar | 17:58 | |
FROGGS | that output is from running ps from outside of qemu | 17:59 | |
'cause I dont have /proc mounted in qemu | |||
domidumont | forget that I said: here the output of ps on my system: root Ā Ā Ā Ā 14379 27555 50 13:32 pts/8 Ā Ā Ā 00:00:12 /usr/bin/qemu-aarch64-static /usr/bin/moar --execname=./perl6-m --libpath=/usr/share/nqp/lib --libpath=/usr/lib/perl | 18:00 | |
6 --libpath=. perl6.moarvm t/04-nativecall/02-simple-args.t | |||
geekosaur | does qemu do something special with SIGTRAP? | ||
domidumont | kill -TRAP 14379 in another terminal (also in the chroot) -> I get a core dump | 18:01 | |
did you run ulimit in the shell that runs moar ? | |||
gotta go, need to cook for the kids ... | 18:02 | ||
FROGGS | yes, did run ulimit | 18:03 | |
and I just have run: kill -TRAP 8351 | |||
nothing happens | |||
domidumont | here's what I get when I run "kill -TRAP": qemu: uncaught target signal 5 (Trace/breakpoint trap) - core dumped | 18:15 | |
Trace/breakpoint trap | |||
may be: make sure that /proc /sys or /dev are shared between host and chroot (bind mount). I use schroot that take care of this | 18:16 | ||
gotta run again, kid is back | |||
FROGGS | sharing proc and/or sys seems to help | 18:21 | |
weird | 18:25 | ||
when running in gdb I cant do anything | 18:26 | ||
geekosaur | pid inside the jail vs. outside it | ||
and gdb also uses /proc, so. | |||
FROGGS | when running without gdb, I can pause the process when sending -STOP | ||
-TRAP does nothing | |||
geekosaur: the pids are the same | 18:27 | ||
huh, -QUIT worked | 18:34 | ||
but the dump is rather useless | 18:43 | ||
domidumont: without knowing any more details I'd say the newer libuv version is the problem | 18:56 | ||
github.com/libuv/libuv/compare/546...4dc449e25c | |||
a lot of changes that could be at fault | |||
though, bisecting this is not a very fun task | 18:57 | ||
domidumont | interesting. I've install libuv1-dbg and the backtrace shows more stuff -> posted on github ticket | 19:06 | |
FROGGS: ^^ some MVM symbols do show up | 19:07 | ||
FROGGS | ohh nice | 19:08 | |
I posted mine... weird that they are different | 19:09 | ||
I guess yours makes more sense | 19:10 | ||
domidumont | I test with package generated by debian packaging and installed the package containing the debug symbols. | 19:11 | |
FROGGS | my dump is from the debian libuv package also | 19:12 | |
since the libuv that's shipped with moarvm doesnt make it hang | |||
I'm going to bed a little bit early today... gnight | 19:14 | ||
19:17
Ven_ joined
19:40
ilbot3 joined
20:35
Ven_ joined
20:54
Ven_ joined
21:13
BinGOs_ joined
21:15
d4l3k_ joined
21:18
BinGOs joined,
JimmyZ_ joined
21:25
flaviusb joined
|
|||
dalek | arVM: 736364c | timotimo++ | src/strings/ops.c: dogbert17++ found this memleak in ord_basechar_at |
22:31 | |
timotimo | it took a long time from writing the fix to actually committing & pushing because there was food, and then there was forgetting |