|
00:07
colomon joined
00:20
colomon joined
01:47
ilbot3 joined
03:22
ShimmerFairy joined
03:42
lizmat_ joined
06:24
vendethiel joined
06:34
lizmat joined
06:39
FROGGS joined
07:05
virtualsue joined
07:55
kjs_ joined
07:59
virtualsue joined
08:00
_itz_ joined
08:42
kjs_ joined
08:52
zakharyas joined
08:58
Ven joined
08:59
FROGGS joined
09:08
lizmat joined
09:33
zakharyas joined
10:04
zakharyas joined
10:07
virtualsue joined
10:08
kjs_ joined
10:36
btyler_yapc joined
10:44
Ven joined
|
|||
| btyler_yapc | hi folks. this is probably a more appropriate place than #perl6 to chat about a MVM segfault: gist.github.com/kanatohodets/66427...7c2616f6f2 (updated with some digging I did). it reproduces very nearly every time, but a sleep solves it, so I think it's a race between closing/freeing the handle and writing to it | 10:45 | |
| (will backlog, leaving venue for a bit) | 10:53 | ||
|
11:35
colomon joined
11:38
kjs_ joined
12:13
Ven joined
12:35
JimmyZ joined
12:38
btyler_yapc joined
|
|||
| dalek | arVM: d78c018 | (Jimmy Zhuo)++ | src/core/threads.c: remove a needless MVMROOT |
12:48 | |
| arVM: ff26781 | paultcochrane++ | src/core/nativecall_dyncall.c: Add missing break statement to callback_handler switch cascade It seems that a break statement is missing in the MVM_NATIVECALL_ARG_* cascade of case statements. This adds the missing break. The NQP tests pass. |
12:50 | ||
| arVM: e6d1074 | (Jimmy Zhuo)++ | src/core/nativecall_dyncall.c: Merge pull request #249 from paultcochrane/pr/add-missing-break-statement Add missing break statement to callback_handler switch cascade |
|||
|
13:10
btyler_yapc joined
13:41
Ven_ joined
14:12
Ven_ joined
|
|||
| btyler_yapc | I think this: github.com/MoarVM/MoarVM/pull/255 resolves the segfault I mentioned earlier. Unfortunately you can still make things explode by doing $sock.close and $sock.print("stuff"), but I'll poke at that next :) | 14:15 | |
| timotimo | btyler_yapc: oh, is your github user kanatohodets? | 14:22 | |
| btyler_yapc | yep, that's me | 14:23 | |
| timotimo | i totally didn't know that | 14:24 | |
|
14:25
lizmat joined
14:26
kjs_ joined
14:29
FROGGS joined
14:45
kjs_ joined
14:59
Ven_ joined
|
|||
| hoelzro | proc async has some race conditiony stuff in it; I wouldn't be surprised if async socket did too | 15:07 | |
| lizmat | hoelzro: me neither :-) | 15:08 | |
| hoelzro | as long as I'm here...I've been working on updating nqp-js' deserializer to work with MoarVM serialization format 15, but the final solution seems to be eluding me. Is there a way to get --dump to tell me how many objects/stables/etc are in an SC, and where in the SC they are sleeping? | 15:09 | |
|
15:10
zakharyas joined
15:11
njmurphy joined
|
|||
| hoelzro | btyler_: does $sock.close work instantly on the socket? or does it get scheduled in the async queue? | 15:12 | |
| it should probably do the latter | |||
| timotimo | if it's an async socket, then yeah, totally should | 15:19 | |
|
15:41
rarara joined
|
|||
| JimmyZ | jnthn: it would be nice to take a quick review to PR 255 :) | 15:46 | |
| jnthn | I think that "if" becomes kinda redundant if we remove the NULLing, but we probably also remove a race by pushing things off to the event loop thread to deal with | 15:52 | |
| Hm, actually there probably ain't a race. | 15:53 | ||
| But yeah, the if check is redundant | |||
| (if the NULL-ing goes away) | |||
| And it probably does have to go away. | |||
| JimmyZ | so we can merge it and remove the if check | 15:55 | |
| jnthn | I think I'm good with that | 15:57 | |
| dalek | arVM: afbc27a | (Ben Tyler)++ | src/io/asyncsocket.c: Fix write to null handle on async socket. This NULL-ing in close_socket was premature, since MVM_free catches this same handle when the task is processed by the event loop in 38d153d | (Jimmy Zhuo)++ | src/io/asyncsocket.c: remove redundant if check |
16:03 | |
|
16:04
dalek joined
|
|||
|
16:09
btyler_yapc joined
|
|||
| btyler_yapc | hi -- saw the backlog. the close already is scheduled on the event loop | 16:10 | |
| thanks for taking a look! | 16:11 | ||
| it isn't obvious that it's an async close at first glance, because nqp::closefh eventually winds up in MVM_io_close, which wraps different kinds of closing for different things; async sockets implement that API with a uv scheduled close (at least, this is my understanding) | 16:12 | ||
| JimmyZ | jnthn: btw: I think I found a bug which is in fixed allocation . FYI. | 16:18 | |
| jnthn: issues/234, that's it | 16:19 | ||
| jnthn | Possibly, but it's equally likely that the different memory layout achieved by turning on FSA_DEBUG just hides the issue | 16:21 | |
| It should make the issue more ASAN-able though | |||
| JimmyZ | yeah. | 16:22 | |
| FAS_DEBUG looks like always malloc() | 16:24 | ||
| timotimo | jnthn: can you help me figure out why our code-gen would produce a lexicalref-decl'd var for things like "my int $foo; while $foo < 10 { $foo++ }"? | ||
| jnthn | Uh...well, the ++ operator will have one. | 16:25 | |
| timotimo | i can see why it'd want to use a lexicalref scoped mention of it later on, but why is that in the declaration? | ||
| oh, my example code doesn't actually ++, it just says the value | |||
| and i don't entirely understand why the lexicalref decl'd var actuallly works, as there's no lexical it can refer to :| | 16:26 | ||
| in "my int $foo" the code we generate is basically assign_i(my lexicalref int $foo, 0) | 16:27 | ||
| BBIAB | 16:28 | ||
| last time i looked at the code, it looked like it was supposed to never set lexicalref when it created the QAST::Var when $*IN_DECL was set to something specific | 17:49 | ||
| timotimo looks again | |||
| ah, yes, $*IN_DECL ne 'variable' | 17:50 | ||
| that surprised me quite a bit, as it was actually a variable declaration that was resulting in a lexicalref var | 17:52 | ||
| and even then it'd only set it if the lexical is marked ro | |||
| this may actually be the wrong piece of code i'm looking at, but there's not many other places that set lexicalref | 18:05 | ||
|
18:13
pyrimidine joined,
dalek joined
19:21
colomon joined
|
|||
| dalek | arVM: fe40cbf | FROGGS++ | / (9 files): re-apply patch to add C++/NativeCall support |
19:35 | |
| timotimo | oh, huh, we just always set the scope to lexicalref if we have a non-object, huh? | 20:12 | |
| that doesn't unify with how i understand lexicalref'd vars are code-gen'd | 20:14 | ||
|
20:15
diakopte1 joined
21:03
Ven joined
21:08
ShimmerFairy joined
21:10
ashleydev joined
21:11
diakopter joined
21:16
lizmat joined,
lizmat_ joined
21:55
Ven joined
23:02
japhb joined
23:07
japhb joined
|
|||