|
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
|
|||