01:50
TimToady joined
02:47
ilbot3 joined
03:12
camelia joined
07:04
domidumont joined
07:23
FROGGS joined
08:26
zakharyas joined
08:49
Ven joined
10:07
brrt joined
|
|||
brrt | this morning i've learned that my planned solution of inserting loads and stores - splitting live ranges, as it were - is considered perfectly orthodox by the compiler community | 10:24 | |
so that's something, at least | |||
12:47
Ven joined
12:59
zakharyas joined
13:01
brrt joined
13:24
zakharyas joined
13:30
zakharyas1 joined
|
|||
[Coke] | gist.github.com/coke/5cd2da873f147ef1b7a5 - sigabort I'm getting on OS X. | 14:43 | |
brrt | doesn't look terribly jit-related to me | 14:47 | |
not that it's good, just that i'm not going to look there :-) | 14:48 | ||
[Coke] | I have no idea how to get more info on that. | 14:51 | |
14:51
virtualsue joined
|
|||
brrt | :-( | 14:51 | |
timotimo | well, you can set the environment variables that kick out the jit, or inlining, or spesh altogether | 14:58 | |
it kind of looks like something hit an abort() somewhere and that killed your program | 14:59 | ||
[Coke]: if you reproduce that, maybe you could give us a full backtrace? and also see if multiple threads are involved? and disabling the jit always gives better stack traces ... | 15:04 | ||
[Coke] | it's a supply test. | 15:09 | |
how to get a full backtrace with lldb? | 15:10 | ||
it's super reproducable, but not very golfable. | |||
brrt | step 1: you install gdb :-P | ||
hmm | |||
maybe someone else can golf it | |||
[Coke] | Here's my current script that generates it: | ||
gist.github.com/coke/5cd2da873f147...ile-fail-t | 15:11 | ||
removing any of several dozen of those OK lines avoids the abort. | |||
brrt | hmmm | 15:12 | |
well that does sound like a spesh-ish issue | |||
or jittish | |||
any of the two | |||
[Coke] | ahh, here's a backtrac: gist.github.com/coke/5cd2da873f147...le-lldb-bt | 15:13 | |
MVM_DISABLE_SPESH? | |||
[6~ | |||
MVM_SPESH_DISABLE=1 ... # still aborts | 15:14 | ||
ditto JIT | 15:15 | ||
brrt | hmmmpf | 15:16 | |
[Coke] | timotimo: that bt help? | ||
timotimo | in gdb you get all threads' bt with "thread apply all bt" | ||
no clue if lldb does it similar to tthat | 15:17 | ||
brrt | [Coke], that's already pretty clear :-) | ||
[Coke] | one sec. | ||
timotimo | so we're destroyign a mutex and that doesn't go over well? | ||
brrt | probably destroying it twice | ||
timotimo | probably, yeah | ||
maybe work passing between threads is bust? | |||
Show the stack backtraces for all threads. | 15:18 | ||
(gdb) thread apply all bt (lldb) thread backtrace all | |||
(lldb) bt all | |||
[Coke] | timotimo: look again | ||
timotimo | ah, the other threads are waiting for thread #1 to finish, i expect | ||
[Coke] | this is a day old rakudo. pulling to make sure it still dies... | ||
timotimo | or they are waiting for more work to come their way perhaps | 15:19 | |
[Coke] | yup, still dies after updating to HEAD | 15:22 | |
timotimo | i don't think moar has recently seen changes in that area either | 15:23 | |
i know we can work around this problem by checking if a mutex is still alive before we try to destroy it, but there's gotta be some correctness problem with that | 15:24 | ||
15:27
Ven joined
|
|||
[Coke] | If you want, I can test out a patch. | 15:35 | |
timotimo | i'll be AFK again for a bit in a few minutes | 15:38 | |
so i can neither reproduce nor patch :( | |||
[Coke] will hope jnthn shows up in a kibo-like fashion when I mention his name.' | 15:42 | ||
jnthn | If I had to guess, we're hosing up closures or phasers somewhere and so mis-releasing or non-releasing the mutex. | 15:43 | |
[Coke] | it WORKED | ||
hi, jnthn++. :) | 15:44 | ||
jnthn | I think the best stragety will be to log a backtrace of every mutex we allocate with its object ID, and then if we find it's still held in gc_free dumping out said object ID | ||
Then can search the log | |||
hi [Coke] :) | |||
[Coke] | oh, this might be a dupe of 126774 | 15:52 | |
brrt | jnthn++ for sanity :-) | ||
jnthn | That's a stretch... :-) | 16:01 | |
flussence | is there any plan to send patches for 3rdparty stuff upstream? there's a handful of nqp tests that fail when --has-libtommath is used, probably roast tests too. | 16:03 | |
moritz | flussence: we've sent patches upstream, and some have been merged | ||
flussence: what we're missing is a new release from libtommath | |||
flussence | oh, I guess they just haven't released anything since 2010... | 16:04 | |
moritz | flussence: and the distributors only uses releases | ||
brrt | if that is true, should we not kill --has-libtommath | 16:19 | |
alternatives are {forking,releasing-it-ourselves} | 16:20 | ||
flussence | a warning in 3rdparty/readme that 0.42.0 is too old and you'd need to build from git would be enough | ||
jnthn | The problem is that various distros have "dynamic linking" as a core value. | 17:01 | |
If it were left to me, we'd just bundle all we use. | 17:02 | ||
But that's not the way the world works, sadly. | |||
If we had the "install the modules you want per project, perhaps from a local mirror" culture in the Perl world, we'd be having a lot less problems with precomp stuff right now. | 17:04 | ||
flussence | the good news is... I've got nothing better to do right now than experiment with configure switches so it's actually getting tested. And there's only a tiny amount of breakage from that one, using the distro for the other libs works fine :) | 17:43 | |
[Coke] | jnthn: I can try to add that logging if it will help, but would need a kick in the right direction. | 17:45 | |
(for the SIGABRT) | |||
17:51
virtualsue joined
17:59
vendethiel joined
|
|||
jnthn | [Coke]: It'd be a matter of doing a printf that calls the same thing that objectid does, and calling MVM_dump_backtrace(tc), in the initialize function in ReentrantMutex.c. | 18:16 | |
dinner & | |||
timotimo | i had dinner, too | 18:17 | |
that plan sounds good | |||
19:01
virtualsue joined
19:02
Peter_R joined
19:03
llfourn joined
21:04
leont joined
|
|||
lizmat | m: say "नि".codes | 21:07 | |
camelia | rakudo-moar 328e95: OUTPUT«2» | ||
lizmat | could someone mention that current rakudo *does* say 2 instead of 3 ? | 21:08 | |
at news.ycombinator.com/item?id=10690499 | |||
oops, ww | |||
diakopter | oo I like that .NFC>>.uniname.perl; | 22:16 | |
i like >>. in general | |||
timotimo | me, too | 22:18 | |
so convenient! | |||
lizmat | diakopter: but you cannot know the order anymore like that? | 22:31 | |
ah, no, it will preserve order, but possibly not in execution | 22:32 | ||
.oO( doing too much async stuff atm ) |
|||
diakopter | lol | 22:33 | |
23:31
virtualsue joined
|