00:26
vendethiel joined
01:45
colomon joined
04:26
quester joined
04:46
vendethiel joined
06:25
vendethiel joined
06:43
FROGGS joined
06:58
Ven joined
07:07
zakharyas joined
07:26
vendethiel joined
07:41
Ven joined
07:44
quester left
09:00
FROGGS joined
10:36
vendethiel joined
11:10
vendethiel joined
11:50
colomon joined,
Ven joined
11:58
FROGGS[mobile] joined
12:00
vendethiel joined
12:13
Ven joined
|
|||
nwc10 | jnthn: paste.scsys.co.uk/480344 -- GC managed to deadlock itself, with just one thread | 12:46 | |
sorry, have now killed the process | |||
masak | isn't that a real achievement, deadlocking on one thread? | 12:52 | |
sounds like a koan or something | |||
nwc10 | it does seem to be a bit special. | ||
masak .oO( we have invented new groundbreaking single-thread deadlocking technology ) | 12:53 | ||
lizmat | m: 1 until Promise.new | 12:58 | |
masak | good point. | ||
camelia | rakudo-moar 8ab32b: OUTPUT«(timeout)» | ||
masak | I guess that can be seen as a kind of zero-resource degenerate case of deadlocking. | 12:59 | |
lizmat | :-) | ||
13:08
vendethiel joined
|
|||
masak .oO( kind of like a sphere is a generalized torus with 0 handles ) | 13:12 | ||
13:22
dalek joined
15:42
TimToady joined
15:59
lizmat joined
16:09
vendethiel joined
16:58
vendethiel joined
17:30
vendethiel joined
17:45
FROGGS joined
|
|||
dalek | arVM: 5220f52 | FROGGS++ | / (8 files): add scdisclaim op This way we can deserialize an serialization context (SC), throw the SC away, and then serialize the obtained object to another SC. |
17:54 | |
FROGGS | that won't hurt (when it is not used) | ||
timotimo | sounds good to have it early | 18:22 | |
what's your status? is the "segfaults with eval" problem still a thing? | 18:23 | ||
FROGGS | it is sadly, though that only happens in the rakudo/curly branch of course | 18:24 | |
timotimo | yeah, i figured | ||
did you capture a backtrace? | |||
FROGGS | no | ||
looked at it, yes, but did not record it | 18:25 | ||
timotimo | OK | ||
FROGGS | was a WORKLIST_ADD in SCRef.c | ||
lizmat | FROGGS: did you look at loading_and_symbol_setup in World? | 18:26 | |
FROGGS | lizmat: not yet, gimme a sec | ||
timotimo | ah, so something's referring to a null value | ||
so we're wrongfully adding a reference to an SC'd thing that has had its SC disclaimed? | |||
FROGGS | timotimo: something along these lines probably, yes | 18:27 | |
lizmat | it has different code paths for EVAL and loading a setting | ||
timotimo | my suggestion is adding a log output or exception when we take an SCref to something that has a null SC, so that we can figure out where it originates | ||
do you want to postpone any further work on curly for a few weeks? | |||
FROGGS | timotimo: not a few weeks, but days... it is very unlikely to get it right until Thursday | 18:29 | |
lizmat: I'm looking at it | |||
lizmat: that code was in Grammar.comp_unit before? | 18:30 | ||
timotimo | i definitely know the feeling | ||
FROGGS | the code after the line '# initialize %?INC if not in an eval' is interesting... I'll play with it | 18:31 | |
lizmat | ok | ||
FROGGS | though there is nothing obvious... | ||
lizmat | I'm just realizing that the code for -M is executed for each EVAL ???? | 18:47 | |
FROGGS | hmmm | 18:53 | |
m: use Test; ok 1; EVAL 'ok 2' | 18:54 | ||
camelia | rakudo-moar 27e531: OUTPUT«ok 1 - ok 2 - » | ||
FROGGS | ahh, that#s not -M | ||
m: use Test; ok 1; EVAL 'use Test; ok 2' | |||
camelia | rakudo-moar 27e531: OUTPUT«ok 1 - ok 2 - » | ||
FROGGS | hmmm, not easily checkable | 18:55 | |
timotimo | yeah, not with camelia | 18:56 | |
lizmat | also not locally, as the mainline is not run a second time | 18:58 | |
anyway, I made it conditional and it didn't break any spectest | |||
timotimo | oh | ||
the mainline is not run? phew | |||
i thought it was and that'd have been disastrous :) | |||
lizmat | yeah... but in any case, it is not needed :-) | 18:59 | |
[Coke] | FROGGS: +#?v6.0.0+ skip 'isn\'t the iterator exhausted already, since it\'s been used previously?' | ||
That can be written with "" on the outside instead of '' so you can avoid the quoting of ' inside the string. | 19:00 | ||
(crap, wrong tab.) | |||
timotimo | i had misunderstood what an SCRef is | 19:02 | |
FROGGS: you don't remember which of the worklist_add ones was the one that bombed? | 19:03 | ||
FROGGS | [Coke]: ahh, I was under the impression that fudge checked for ' explicitly | ||
timotimo: I'm pretty sure it was this: MoarVM/src/6model/reprs/SCRef.c:75: MVM_gc_worklist_add(tc, worklist, &(sc->sr->root.sc)); | 19:05 | ||
timotimo | oh, so perhaps the reader was "damaged" during the disclaim? | 19:06 | |
FROGGS | it looked alright when inspecting it via gdb | 19:07 | |
but maybe it is not meant to be reused or so, dunno | |||
timotimo | well, there had to be *some* address that refered to a non-mapped region or something | 19:08 | |
FROGGS | maybe the string heap it points to? | 19:14 | |
timotimo | isn't gc_worklist_add super simple? | 19:15 | |
like, wouldn't that only segv if sc->sr->root.sc was broken somehow? | 19:16 | ||
directly, i mean | |||
all worklist_add does is maybe grow the worklist allocation array and put the item in there | |||
FROGGS | but I was able to access sc->sr->root.sc | 19:18 | |
timotimo | huh | 19:19 | |
and the worklist wasn't broken either, surely | |||
maybe optimization shuffled some things around? | |||
is it right that disclaim_sc doesn't do anything at all about the dependent_sc's of the reader? | 19:20 | ||
hm, probably is; though disclaiming an sc forces the reader to read in everything everywhere | |||
so it might be a good idea to kill off the reader, too? | |||
if only to save the space it used | |||
FROGGS | I dunno :o( | 19:21 | |
dalek | arVM/cunion: 1e7f1ac | FROGGS++ | / (13 files): add support for CUnion repr |
19:24 | |
arVM/cunion: 2dacf16 | FROGGS++ | src/6model/reprs/CUnion. (2 files): allow to inline CStructs in CUnions |
|||
arVM/cunion: 29ea746 | FROGGS++ | src/6model/reprs/CStruct.c: align inlined CUnions to their size |
|||
timotimo | this is just a rebase? | ||
FROGGS | a rebase and another commit | ||
timotimo | ah | ||
i seem to recall someone complained that something about them wasn't working recently | |||
FROGGS | them? | ||
timotimo | c unions | 19:25 | |
FROGGS | ahh, you probably mean the PR that adds tests | ||
timotimo | perhaps | ||
FROGGS | yes, IMO only the 'is inlined' trait is missing there | ||
timotimo | cool | ||
FROGGS | I want to fix another issue on windows and then I'll look at the PR | 19:26 | |
okay... last issue was a bogus test | 19:33 | ||
timotimo | for cunion? | 19:34 | |
FROGGS | aye | 19:35 | |
struct a was: long, double, char; struct b was long, float, float, char | |||
the intend was to check that both chars are at the same position | |||
timotimo | ah | ||
but float and double have the same alignment, no? | 19:36 | ||
FROGGS | but they are not due to alignment | ||
it aligns the long in a to 8 bytes too | |||
and it aligns to 4 in b | |||
timotimo | oh? | 19:37 | |
i suppose i don't really know the rules of structs and stuff | |||
not by heart anyway | 19:38 | ||
FROGGS | yeah, one can easily get confuddled | ||
timotimo | if you have the rules in front of you and you can go at it systematically, it's surely fine | ||
FROGGS | it is like: the double in a wants to start at an 8 byte alignment | ||
timotimo | ideally, you'd be using a tool :) | ||
19:46
brrt joined
|
|||
dalek | arVM: 1e7f1ac | FROGGS++ | / (13 files): add support for CUnion repr |
19:47 | |
arVM: 2dacf16 | FROGGS++ | src/6model/reprs/CUnion. (2 files): allow to inline CStructs in CUnions |
|||
arVM: 29ea746 | FROGGS++ | src/6model/reprs/CStruct.c: align inlined CUnions to their size |
|||
brrt | \o | 19:51 | |
timotimo | o/ brrt | 19:52 | |
brrt | hey timotimo :-) | 19:53 | |
timotimo | your funding has been accepted \o/ | ||
when can you start? :P | |||
brrt | its on the interwebs now? i start mid june | 19:54 | |
timotimo | that's almost a month of waiting for the goods to start pouring in :S | 19:55 | |
brrt | oh, you'll wait longer than that before you see any benefits :-P | 19:57 | |
but yes | |||
i intend to take the time to study up :-) | 19:58 | ||
timotimo | well, right :) | 19:59 | |
brrt | uhm, if you wish, you can put it in a weekly i guess | 20:00 | |
but i really should probably get around to publishing it myself | 20:01 | ||
timotimo | aye | ||
brrt | (the fact that i'll be working on the JIT again) | ||
(compilers are exciting :-o) | 20:07 | ||
timotimo | :) | ||
brrt | luajit source code should not be known for being easy to read | 20:23 | |
22:31
vendethiel joined
|